FFMPEG - 두 개의 MP4 파일 병합

FFMPEG - 두 개의 MP4 파일 병합

두 개의 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

관련 정보