2016-09-12 8 views
1

ffmpeg에서 다음 명령을 사용하면 비디오의 처음 부분에 검은 색 프레임 1 초가 추가됩니다. 그러나 출력 비디오에서 원본 비디오의 오디오가 손실됩니다. 원본 오디오가 최종 출력으로 유지되도록 명령을 조정하거나 더 나은 방법으로 새 ​​출력 비디오와 일치하도록 시작 부분에 1 초의 "빈"오디오가있는 것을 어떻게 조정할 수 있습니까?FFmpeg 연결, 최종 출력 오디오 없음

ffmpeg -i originalvideo -f lavfi -i color=c=black:s=1920x1080:r=25:sar=1/1 -filter_complex "[0:v] setpts=PTS-STARTPTS [main]; [1:v] trim=end=1,setpts=PTS-STARTPTS [pre]; [pre][main] concat=n=2:v=1:a=0 [out]" -map "[out]" finaloutputvideo.mp4 

답변

0

연결된 각 섹션에는 동일한 수의 비디오 및 오디오 스트림이 필요하기 때문에 검정색 비디오와 연결할 오디오를 생성하거나 추가해야합니다.

ffmpeg \ 
-i originalvideo \ 
-f lavfi -i color=c=black:s=1920x1080:r=25:sar=1/1:d=1 \ 
-t 1 -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 \ 
-filter_complex \ 
"[0:v]setpts=PTS-STARTPTS[mainv]; \ 
[0:a]asetpts=PTS-STARTPTS[maina]; \ 
[1:v][2:a][mainv][maina]concat=n=2:v=1:a=1[v][a]" \ 
-map "[v]" -map "[a]" -movflags +faststart output.mp4 
  • 당신은 (a)는 컬러 필터를 setpts 및 anullsrc 소스 필터가 자신의 타임 스탬프는 시간을 설정할 수 있기 때문에 0

  • 에서 당신은 트림 필터를 피할 수 있습니다 시작부터 제거 할 수 있습니다 각 필터에 대해

  • anullsrc 지속 시간의 값은 검정색 비디오의 지속 시간보다 작거나 같아야합니다. concat 필터는 나머지를 자동으로 무음으로 채 웁니다.

  • anullsrc를 사용하면 기본 비디오의 적절한 채널 레이아웃과 오디오 샘플 속도를 일치 시키십시오. 그렇지 않으면 연결은 자동으로 "일반적인"레이아웃과 속도를 선택할 수 있습니다.