단일 이미지 + 오디오 트랙을 ffmpeg의 비디오로 변환하는 동안 마지막 프레임 잘라 내기


1

이 수퍼 유저 질문에 대한 답변 덕분에 하나의 이미지와 하나의 오디오 파일을 결합하여 FFmpeg를 사용하여 하나의 비디오를 만듭니다. 나는 하나의 이미지와 오디오 트랙에서 비디오를 만들 수 있었다.

PJ Brunets 코드를 사용했습니다.

ffmpeg -r 1 -loop 1 -i 00.png -i 00.wav -acodec copy -r 1 -shortest 00.avi

그것은 잘 작동하지만, 나는 생성 된 비디오의 지속 시간이 원래의 오디오 트랙보다 더 긴 것으로 나타났습니다. 내 경우 오디오는 36,61 초이고 결과 비디오는 38 초입니다.

문제는 낮은 프레임 속도에서 비롯된 것 같습니다. 따라서 프레임 속도를 1fps에서 2fps로 25fps까지 올린 다음 결과를 비교했습니다. 높은 프레임 속도를 사용하면 지속 시간이 더 정확 해집니다.

이제 내 질문은 : 1 fps를 여전히 사용하는 방법이 있지만 오디오가 끝날 때 마지막 프레임을 잘라내시겠습니까? 이렇게하면 원래의 길이를 잃지 않고보다 빠른 인코딩 시간을 얻을 수 있습니다.


AFAIK, AVI에는 불가능합니다. AVI는 PTS를 저장하지 않으므로 각 프레임의 지속 시간은 프레임 속도의 역수이므로 해당 기간에 따라 기간이 양자화됩니다.
Gyan

무의미한 wav를 저장할 수있는 avi 같은 또 다른 컨테이너가 있습니까?
stefano

MOV, MKV, NUT ..
Gyan

mov & amp; mkv는 avi (40-41 초)보다 덜 정확합니다. 너트는 37s이지만 유튜브에서 받아 들여지지 않습니다. 나는 믹스처럼 매끄럽게 서로 따라야하는 + 1h 긴 트랙과 다른 하나의 트랙을 많이 내 놓아야한다. 나는 긴 트랙은 avi 1fps (+ 1.5s 오류)를 사용하고 단일 트랙은 avi 2fps (+ 1s)를 사용한다는 결론에 도달했습니다. 완벽한 변환을 위해서는 10fps (+ 0.2s) 또는 25fps (거의 정확함)가 좋지만 4fps 이후에는 이미지가 고르지 않게됩니다. 소니의 라스베가스로 같은 일을한다면 이미지가 뭉툭 해지는 것은 아니지만 인코딩과 분이 더 많은 시간을 필요로합니다. 프레임 속도는 12fps입니다.
stefano

여러 오디오 / 비디오 세그먼트를 정확하게 추가해야하는 경우에는 concat 필터를 사용하십시오. 1 fps로 작동해야하지만, 어떤 경우에도 libx264 및 24 fps 코덱으로 작동합니다.
Gyan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.