오디오 동기화를 잃어버린 ffmpeg concat mp4


1

여러 mp4 파일이 있으며 (이미 .ts로 변환) 연결하는 동안 오디오 동기화가 누락되었습니다. 오디오 트랙을 함께 밀어 넣는 것입니다.

4 개의 .mp4 파일이 있는데 그중 2 개에는 오디오 트랙이 없습니다 (이미지 기반 비디오 클립이기 때문에). 아래 코드를 사용하여 연결하려고하면 출력이 2.ts의 비디오가 시작될 때 4.ts의 오디오가 재생되기 시작하는 곳과 완전히 다릅니다. 즉, 오디오 파일이 왼쪽 정렬되어 있고 필요한 것이 있다고 생각합니다. -map으로 재생하지만 어떻게 고치는 지 확실하지 않습니다.

ffmpeg -i "concat:1.ts|2.ts|3.ts|4.ts" -c copy -bsf:a aac_adtstoasc output.mp4

연결 문제


concat
demuxer

1
@rogerdpack 이것은 concat demuxer가 아닌 concat 프로토콜입니다. </ nitpicker>
llogan

답변:


2

오디오가없는 MP4를 더미 오디오가있는 TS로 재생성

ffmpeg -i 2.mp4 -f lavfi -i anullsrc -c:v copy -c:a aac -shortest 2.ts

고마워 이것은 95 % 작동합니다. 그러나 오디오가 비디오와 동기화되지 않는 다른 문제가 있습니다. 네 번째 비디오 오디오는 조금 일찍 시작됩니다. 나는이 원인이 일부 비트 레이트 문제 나 뭔가가 생각하고 내가 먼저 동일한 비트 레이트와 모든 MP4를 만들 필요가 생각하고 당신의 도움이 필요
Balajee

기존 오디오가있는 비디오의 경우 실행 ffmpeg -i input.ts -c:v copy -af apad -shortest output.ts한 다음 연결합니다.
Gyan

1
@ user961190 또한 필러 오디오의 다른 샘플과 같은 오디오 샘플 속도가 같은지 확인하십시오 anullsrc=r=44100.
llogan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.