멀티패스를 사용하여 H.264로 비디오를 인코딩하고 싶습니다. 나는 시도했다 :
ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset Veryslow -refs 8 -b:v 1200k -an -pass 1 -f h264 /dev/ 없는
ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset Veryslow -refs 8 -b:v 1200k -acodec copy -pass 2 "c:\vid \encoded.mkv"
하지만 오류 메시지가 표시됩니다.
/dev/null: 해당 파일 또는 디렉터리 없음
ratecontrol_init: 통계 파일을 열 수 없습니다.
출력 스트림 #0:0에 대한 인코더를 여는 중 오류가 발생했습니다. 비트 속도, 속도, 너비 또는 높이와 같은 매개 변수가 잘못되었을 수 있습니다.
내가 뭐 잘못 했어요? 그런데 FFmpeg에서 멀티 패스를 사용하는 방법을 잘 모르겠습니다. 오류를 해결하는 방법에 대한 아이디어가 있습니까?
답변1
Windows에는 가 없습니다 /dev/null
. 대신 사용하세요 NUL
.
자세한 내용은 다음을 참조하세요.H.264 인코딩에 대한 FFmpeg Wiki 게시물.
답변2
노력하다
ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset veryslow -refs 8 -b:v 1200k -an -pass 1 -f matroska dummy
ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset veryslow -refs 8 -b:v 1200k -acodec copy -pass 2 "c:\vid\encoded.mkv"
두 번째 패스가 완료된 후 첫 번째 패스에서 생성된 더미 파일을 삭제합니다.