如何移除文字串流

使用 OOTB「MP4 Normal」設定檔時,轉換後不會有任何文字串流,但若使用我自己的設定檔,仍會保留文字串流。請問是什麼參數在控制是否複製文字串流?

我的設定檔:

[MP4 Normal AC3 AAC]
Description=Good quality 1 pass MP4 (H.264) conversion. AC3 copy as audio 1, create AAC stereo as audio 2.
order=handbrake,ffmpeg
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -vf yadif=0:-1:1,hqdn3d -vcodec libx264 -b 1400k -x264opts me=hex:trellis=1:subq=8:partitions=all:8x8dct=1:ref=3:rc-lookahead=50:keyint=25:min-keyint=20:bframes=1:weightb=1:level=4.0:b-pyramid=normal:direct=auto:mixed-refs=1:deblock=-1,-1:no-fast-pskip=1:no-dct-decimate=1:b-adapt=0:threads=auto -map 0:v -sn
ffmpeg-audio=-acodec aac
ffmpeg-audioac3=-map 0:1 -c:a:0 copy -map 0:1 -c:a:1 aac -ab 192k -ac 2
ffmpeg-ext=.mp4
ffmpeg-audiodelay=skip
handbrake-general=--decomb --loose-anamorphic --verbose=2 -f mp4 -O
handbrake-video=--start-at duration:0 -e x264 -b 1400 -x me=hex:trellis=1:subq=8:partitions=all:8x8dct:ref=3:rc-lookahead=50:keyint=25:keyint-min=20:bframes=1:weightb=1:level-idc=40:b-pyramid=1:direct-pred=auto:mixed-refs:deblock=-1,-1:nofast-pskip:nodct-decimate:b-adapt=0:threads=auto
handbrake-audio=-E aac
handbrake-audioac3=-E copy -a 1
handbrake-ext=.mp4
handbrake-audiodelay=skip
PreConversionCommercialRemover=true

我發現當 FFmpeg 轉檔時,會保留文字串流;若用 Handbrake 轉檔,則不會保留文字串流。

現在的問題變成:要怎麼讓 FFmpeg 不要帶入文字串流?

或者,要怎麼讓 Handbrake 保留文字串流?

你說的「text stream」是什麼意思?你能附上你的日誌嗎

您可以使用来自 Why was Handbrake not used to convert this file? 的日志

在那份日志中,我没有看到最终视频里出现任何“text”流。查看日志后发现你正在使用自定义配置文件,而你在配置里指定了特定的流映射,这可能就是问题的根源:

→ ffmpeg-audioac3=-map 0:1 -map 0:1 -c:a:0 copy -c:a:1 aac -ab 192k -ac 2

MCEBuddy 会在 remux 完成后根据流布局动态计算要复制的流。你不应该手动指定流映射;如果确实需要指定,就要禁用 remux,因为 remux 过程中流映射可能会发生变化。默认配置不会携带“text”流,它们要么被提取,要么被忽略。