두 개의 MP4 파일을 병합하려면 .ts 파일을 전달해야 합니다.
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input2.ts
ffmpeg -i "concat:input1.ts|input2.ts" -c copy output.mp4
그러나 첫 번째/두 번째 명령에서 다음 오류가 발생합니다.
비트스트림 필터 'h264_mp4toannexb'는 코덱 'mpeg4'(13)를 지원하지 않습니다. 지원되는 코덱은 다음과 같습니다: h264 (28) 비트스트림 필터 초기화 오류: h264_mp4toannexb
당신은 아이디어가 있나요?
답변1
concat
파일 수준에서 연결하는 프로토콜을 사용하여 이를 수행하려고 합니다 .
디멀티플렉서를 통해 연결을 시도하면 더 나은 결과를 얻을 수 있습니까?
텍스트 파일(mylist.txt)에 입력 파일을 나열한 후 다음을 수행할 수 있습니다.
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4
-safe 0
경로가 상대 경로인 경우에는 필요하지 않습니다.
이 방법과 시도한 방법을 사용하는 것이 좋습니다ffmpeg.org에서기타 다양한 연결 방법. 확실히 당신을 위한 것이 있나요? 다른 모든 방법이 실패하면 먼저 h264로 트랜스코딩할 수 있습니다. 분명히 아직은 그렇지 않습니다.
답변2
이게 네 문제야
스트림 #0:0[0x1]: 비디오: mpeg4(단순 프로필)(mp4v/0x7634706D),
@stoney가 말했듯이
스트림 #0:0(und): 비디오: h264(높음)(avc1/0x31637661)
먼저 h264로 레코딩하여 이를 확인할 수 있습니다.
ffmpeg -i input1.mp4 output1.mp4
ffmpeg -i output1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts input1.ts