avconv(또는 다른 도구)를 사용하여 비디오 및 오디오 다듬기 및 페이드 인/아웃

avconv(또는 다른 도구)를 사용하여 비디오 및 오디오 다듬기 및 페이드 인/아웃

저는 avconv영상을 다듬고 변환하는 데 사용합니다. 1시간짜리 파일 mts에서 비디오 스트림과 오디오 스트림의 처음 7초와 마지막 2.5초를 삭제한다고 가정해 보겠습니다.

avconv -i input.mts -map 0:0 -map 0:3 -ss 0:0:07 -t 0:59:50.5 out.mov

지금까지는 작동했지만 이제 다음을 추가하여 시작과 끝 부분에 2초의 페이드 인 및 아웃을 추가하고 싶습니다.

-vf fade=type=in:start_frame=350:nb_frames=100 -vf fade=type=out:start_frame=178750:nb_frames=100

avconv이러한 프레임은 비디오 소스에서 보고된 50fps를 기반으로 계산됩니다. 하지만 페이드 인이나 페이드 아웃은 없습니다.

1) 비디오 페이딩 현상의 원인과 해결 방법은 무엇입니까? 2) 오디오 페이드를 추가하는 방법. 옵션 이 있는 것 같습니다 -afade. 그러나 나는 그에 대한 기록을 찾지 못했습니다.

대안으로, 이를 달성하기 위한 다른 도구(비디오 및 오디오 다듬기 및 페이드)를 제안할 수 있습니다. 이는 Debian 8용 패키지로 제공되는 것이 좋습니다.

답변1

드디어 @Mario G.가 제안한 답변을 시도해 볼 시간을 찾았지만 매우 번거로워 보입니다. 이 작업을 수십 번 해야 합니다. 나는 문서를 읽고 ffmpeg그것이 훨씬 더 강력 avconv하고 오디오와 비디오 모두에 대한 페이드를 포함한다는 것을 알았습니다. 따라서 해결책은 다음과 같습니다.

ffmpeg -i input.mts -map 0:0 -map 0:3 -ss 0:0:07 -to 0:59:57.5 -vf 'fade=t=in:st=7:d=2,fade=t=out:st=3595.5:d=2,crop=out_h=692' -af 'afade=t=in:st=7:d=2,afade=t=out:st=3595.5:d=2' out.mov

따라서 페이드에 대한 st=합계 매개변수는 d=프레임으로 변환되지 않은 시간(초)이어야 합니다.

-to길이를 계산하는 대신 종료 시간을 직접 가져오는 옵션 도 찾았습니다 .

이 명령은 모든 단계를 수행합니다.

  • 채널 선택 -map,
  • -ss사용 및 가지치기 -to,
  • 비디오 페이드 -vf옵션 fade=t=infade=t=out,
  • -af옵션을 사용하여 오디오 페이드 인 및 afade=t=in아웃afade=t=out
  • -vf옵션으로 자르기crop=

한 걸음만.

답변2

치다:

ffmpeg -i input.mts -ss 00:00:20.0 -c copy -t 00:00:30.0 output.mkv

20초 찾기 -(i)n input.mkv(기본적으로 삭제됨)를 사용하면 30초 동안 재생되고 그 안에 있는 다른 모든 항목은 삭제됩니다. 이렇게 하면 30초짜리 동영상을 얻을 수 있습니다.

바래다

먼저 페이드용 이미지를 만들어야 합니다. 취향에 따라 단일 *.png 이미지일 수 있으며 모두 흰색이거나 모두 검은색일 수 있습니다. 영상과 동일한 해상도로 녹화하는 것이 가장 좋습니다.

ffmpeg -r 1/2 -i black.png -c:v libx264 -r 50 -y -pix_fmt yuv420p fade2s.mkv

즉, 2초 동안 페이드 인 및 아웃됩니다(-r 입력: 초당 1/2 x 50 프레임 = 100 fps). 이미지 정보는 The Gimp 또는 ImageMagick을 확인하세요.이제 페이드 효과가 생겼습니다.

점점 뚜렷해지다:

ffmpeg -i fade2s.mkv -y -vf fade=in:0:50 fade_in.mkv

0~50프레임(1초 - 50fps)으로 페이드 인

페이드 인 + 페이드 아웃: 마지막 입력을 페이드 인으로 만들고 페이드 아웃을 추가하세요.

ffmpeg -i fade_in.mkv -y -vf fade=out:120:50 fade_in_out.mkv

완벽한.

관련 정보