audio - 使用手刹通过命令行将包含所有字幕和音频的视频转换为 mp4

标签 audio video command-line-interface subtitle handbrake

我想将我的 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/

相关文章:

c# - 对象被销毁时 audio.play() 不工作

ios - IOS 修改 Cordova Capture 插件的视频质量

ios - 获取 *.mov 视频 IOS 的缩略图

php - PHP 如何取消 RabbitMQ 中的消费者?

xml - 如何使用 xmlstartlet 选择和编辑 xml 节点?

c# - 我应该为非托管 C++ DLL 创建 C++/CLI 包装器 DLL 吗?

audio - 将 .ts 文件的音频流提取为不同的格式

python - Django 音频文件表单验证

vb.net - 如何检查声音是否在后台播放?

javascript - 如何使用 jQuery 在视频中滑动并同时自动播放?