핸드 브레이크는 비디오 변환에 x264 인코더를 사용합니다. 모든 x264 옵션 및 FFmpeg 대응에 대한 개요가있는 사이트가 있습니다 . 그러나 이것들은 조금 더 이상 사용되지 않으며 이러한 옵션 중 일부는 더 이상 작동하지 않거나 이름이 변경되었을 수 있습니다. 대부분의 세부 옵션에는 x264 프로파일을 사용해야합니다.
많은 기본 핸드 브레이크 옵션 (예 : 프레임 속도)은 x264에만 국한되지 않으며 FFmpeg 온라인 설명서에 흩어져 있습니다 .
시작하기 전에 최신 FFmpeg 버전을 사용하고 있는지 확인하십시오. 그들의 다운로드 사이트는 모든 주요 운영 시스템 구축 정적이있다.
가자:
--input "d:\input.mpg" --output "d:\output.mp4"
FFmpeg 구문은 ffmpeg -i input.mpg … d:\output.mp4
입니다.
--rate 29.97
로 비디오 프레임 속도를 지정하십시오 -r 29.97
. (Handbrake는 --cfr
단지 일정한 프레임 속도를 설정합니다. 여기서는 필요하지 않습니다).
--arate 44.1
-ar 44100
(Hz 단위)로 오디오 샘플 속도를 설정하십시오 .
--format mp4
FFmpeg는 MP4를 원하기 때문에 필요하지 않습니다.
--width 1920 --height 1080 --custom-anamorphic --display-width 1920 --keep-display-aspect --modulus 8 --crop 0:0:0:0
이것은 크기를 1920 × 1080으로 설정하는 것 외에는 아무 것도하지 않습니다. FFmpeg에서을 -s:v 1920x1080
사용하거나 필터를 사용하려면 -filter:v "scale=1920:1080"
.
--encoder x264 --vb 5200
로 인코더와 -c:v libx264
비트 전송률을로 일정하게 설정하십시오 -b:v 5200K
. 품질 설정에 관해서는 아직 없습니다.
--aencoder faac --ab 128 --mixdown stereo
위와 유사합니다 -c:a libfaac -b:a 128K -ac 2
. FAAC는 더 이상 FFmpeg에서 지원되지 않습니다. 대신 내장 FFmpeg 인코더를 -c:a aac -b:a 128K
대신 사용하십시오.
-x bitrate=5200:vbv-bufsize=5200:vbv-maxrate=5200
인코딩 모드를 VBV로 설정하면 일정한 비트 전송률이나 일정한 품질 대신 스트리밍 시나리오를 대상으로합니다. 일정한 품질은 x264의 기본값 인 CRF 라고도하며 핸드 브레이크에서는“Rate Factor”라고합니다. CRF는 일반적으로 최고 품질의 인코딩을 제공하지만 VBV 모드는 온라인 스트리밍 또는 기능이 제한된 특정 장치에 더 적합한 파일을 제공합니다.
VBV를 설정하려면 ffmpeg 의 -maxrate 5200K
및 -bufsize 5200K
옵션을 사용하십시오 .
CRF를 설정하려면 -crf 23
ffmpeg 에서 사용하십시오 .
level=42
사용하십시오 -level 42
. 이것이 H.264 레벨 입니다.
bframes=2:min-keyint=60:keyint=60:ref=4
로 B- 프레임 수를 설정하십시오 -bf 2
. 최소 키 프레임 간격은로 설정되고 -keyint_min 60
최대 간격 은로 설정 됩니다 -g 60
. 참조 사진 수는로 설정됩니다 -refs 4
.
me=umh:merange=64:subme=7:8x8dct:cabac=1
-x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1
ffmpeg 옵션에 직접 매핑되지 않은 다른 x264 인코더 설정과 마찬가지로 ffmpeg에서 추가로 설정할 수있는 옵션입니다.
게 으르거나 세부 사항에 신경 쓰지 않거나 작동하지 않는 경우 "TL; DR"버전입니다. 사용 -preset:v medium
(또는 중간 사전 설정이 기본값이므로 그대로 두십시오). x264 사전 설정은 압축 효율을 위해 인코딩 속도를 바꾸는 옵션 세트를 선택합니다. 그들은 편리에서 이름있는 ultrafast
, superfast
, veryfast
, faster
, fast
, medium
에 slow
, slower
와 veryslow
. 편안하다고 느끼는 것을 선택하십시오.
요약하면 긴 버전은 다음과 같습니다.
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -level 42 -bf 2 -keyint_min 60 -g 60 -refs 4 -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1 -c:a aac -b:a 128K -ar 44100 d:\output.mp4
또는 내가 사용하는 짧은 것 (VBV 인코딩 및 몇 가지 세부 옵션이 제거 된 상태) :
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -c:a aac -b:a 128K -ar 44100 d:\output.mp4
다목적 변환을 위해 일정한 품질의 인코딩으로 변경하려면 이것을 사용하고 -crf
매개 변수를 18에서 28로 변경하십시오 .
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -crf 23 -c:a aac -b:a 128K -ar 44100 d:\output.mp4