我想将我的 Handbrake 视频从 mkv 转换为 mp4。但是我想把 mkv 中包含的所有音频文件和字幕都放到新的 mp4 容器中!
我使用 Handbrake 0.9.9 GUI,因为在此版本中,您可以在首选项下预定义默认的音轨和字幕数量('Add all remaining'
/'Add all'
。现在我想通过 HandBrakeCLI 实现同样的目标。
最佳答案
更新:1.0.4 版有与此相关的标志:--all-audio
和 --all-subtitles
.参见 this link
-a
和 --subtitle
参数没有适用于所有轨道的选项,但会忽略额外的轨道。因此,要附加(几乎)来自源的所有包含的音轨和字幕,您只需列出比您期望在源中找到的更多的轨道。以下 CLI 命令对我有用。
HandBrakeCLI.exe -i <Path>\Episode01.mkv -o <Path>\Episode01.mp4 --preset Normal
--subtitle scan,1,2,3,4,5,6,7,8,9,10 -a 1,2,3,4,5,6,7,8,9,10
此 CLI 命令假设我的源文件不会有超过 10 个字幕或音频文件。我知道我的不超过 4 个,所以我肯定会包括所有内容。
我总是使用 --preset Normal
转换我的视频。它满足我的个人需求,默认情况下附带 HandBrake :)。编码日志文件显示以下 CLI 命令。
CLI Query: -i "<PATH>\Episode01.mkv" -t 1 --angle 1 -c 1-12 -o "<PATH>\Episode01.mp4"
-f mp4 -4 -w 720 --loose-anamorphic --modulus 2 -e x264 -q 20 --vfr -a 1,2 -E faac,faac
-6 dpl2,dpl2 -R Auto,48 -B 160,160 -D 0,0 --gain 0,0 --audio-fallback ffac3
--subtitle scan,1,2 --markers="<AppData>\Local\Temp\Episode010-1-chapters.csv"
--x264-preset=veryfast --x264-profile=main --h264-level="4.0" --verbose=1
此 CLI 命令包含必要的 -i
(输入)和 -o
(输出)参数和其余参数由 --preset Normal
定义
关于audio - 使用手刹通过命令行将包含所有字幕和音频的视频转换为 mp4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28221024/