How to remove text streams

Using the OOTB “MP4 Normal” profile, I don’t have any text streams after conversion, but using my own profile, I still get the text streams. What controls the text streams being copied or not?

My profile:

[MP4 Normal AC3 AAC]
Description=Good quality 1 pass MP4 (H.264) conversion. AC3 copy as audio 1, create AAC stereo as audio 2.
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
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

I figured out that when FFmpeg converts the file, I get the text streams. If Handbrake converts the file I do not get text streams.

Now the question becomes how to get FFmpeg to not carry over the text streams?

Or, how to get Handbrake to carry over the text streams?

What do you mean by text stream? Can you attach your logs

You can use the log from Why was Handbrake not used to convert this file?


In that log I don’t see any “text” streams in the final video. Looking at the logs I see you’re using a custom profile and in your profile you’re specifying specific stream mappings which may be causing the havoc:

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

MCEBuddy dynamically calculates the streams to copy based on the stream layouts after the remuxing is completed. You should not specify stream mapping or if you’re doing so then disable remuxing because the stream mapping can change during remuxing. The default profile won’t carry the “text” stream, they will either extract it or ignore it.