Lri*_*Lri 58
去除字幕:
mkvmerge -o output.mkv input.mkv -S # remove all subtitle tracks
mkvmerge -o output.mkv input.mkv -s 3,4 # remove tracks 3 and 4
mkvmerge -o output.mkv input.mkv -s '!3' # remove all subtitle tracks except 3
mkvmerge -i input.mkv # show track numbers
Run Code Online (Sandbox Code Playgroud)
添加字幕:
mkvmerge -o output.mkv input.mkv subs.srt
mkvmerge -o output.mkv input.mkv --language 0:ger --track-name 0:German subs.srt
Run Code Online (Sandbox Code Playgroud)
提取字幕:
mkvextract tracks input.mkv 3:subs.srt
Run Code Online (Sandbox Code Playgroud)
for f in *.mkv; do
sub=$(mkvmerge -i "$f" | awk '$4=="subtitles"{print;exit}')
[[ $sub ]] || continue
[[ $sub =~ S_TEXT/ASS ]] && ext=ass || ext=srt
track=$(awk -F '[ :]' '{print $3}' <<< "$sub")
mkvextract tracks "$f" "$track:${f%mkv}$ext"
done
Run Code Online (Sandbox Code Playgroud)
mkvmerge 和 mkvextract 可以使用brew install mkvtoolnix.
显示字幕有两种基本方式。您可以将像素编码到视频本身中。这称为“硬字幕”。这里的优点是视频播放器的简单性,它只是一个视频流。缺点是您必须重新编码视频,这需要时间,并且保真度会有所损失。如果你得到更好的翻译,那么,它就是视频中的像素。而且你只能拥有一种语言。
更好的是“软字幕”,即在某个地方有一个与视频流分开的文本文件。字幕文件的格式有很多种,但其核心都是“文本、开始时间、删除时间”。有些还具有额外的功能,例如屏幕上的颜色和方向。这样做的优点是您可以拥有多种语言(想象一下 DVD,您可以使用多种语言)并且可以修复文件中的拼写错误等。如果您不需要字幕,只需将其关闭即可。
Softsub 可以是单独的文件 - 大多数播放器会自动查找与主视频同名(不同扩展名)的字幕。或者某些容器文件格式(如 MKV)可以将它们嵌入其中。查看MKVtoolnix(有一个 mac 端口)以获取 MKV 文件工具。这应该可以让您嵌入软字幕而无需重新编码。
请注意,并非所有播放器都支持所有格式。我的经验是,XBMC 对 SSA 文件有问题,但简单得多的 SRT 文件没问题。只要您的平台支持,VLC 就可以播放任何内容。
| 归档时间: |
|
| 查看次数: |
78649 次 |
| 最近记录: |