首先:我是这个网站的新手,并没有那么多FFmpeg的经验,所以我在Mac OSX上使用iFFmpeg GUI。而且,我的母语不是英语。
所以这是我的问题: 我有一个带有几个音频和字幕流的MKV输入文件,我想把它压缩成一个带有两个音频流和一个字幕流的M4V-Container。 视频流和两个音频流的编码工作正常,但是当我尝试添加字幕流时,它向我发送了一条错误消息:“打开编码器流失败”。
我的猜测是iFFmpeg正在对字幕参数做错。我试图纠正它,但我无法弄明白。
那是我的输入文件:
流#0:0(eng):视频:h264(高),yuv420p,1920x1080 [SAR 1:1 DAR 16:9],24 fps,24 tbr,1k tbn,48 tbc
流#0:1(deu):音频:dts(DTS-HD MA),48000 Hz,5.1(侧面),fltp, 1536 kb / s(默认)
流#0:2(deu):音频:dts(DTS),48000 Hz,5.1(侧面),fltp,1536 kb / s的
流#0:3(eng):音频:dts(DTS-HD MA),48000 Hz,5.1(侧面),fltp, 1536 kb / s
流#0:4(eng):音频:dts(DTS),48000 Hz,5.1(侧面),fltp,1536 kb / s的
流#0:5(deu):字幕:hdmv_pgs_subtitle
流#0:6(deu):字幕:hdmv_pgs_subtitle
流#0:7(deu):字幕:hdmv_pgs_subtitle
流#0:8(eng):字幕:hdmv_pgs_subtitle
Stream#0:9(eng):字幕:hdmv_pgs_subtitle
流#0:10:附件:mjpeg
这就是iFFmpeg作为一个命令产生的东西(我知道,很长):
ffmpeg -i Olympus \ Has \ Fallen.mkv -map 0:0 -map 0:1 -map 0:3 -map 0:6 -c:aac -cutoff 15000 -b:512k -ar 48000 -c:a:1 aac -ab:2 512k -ar:2 48000 -strict experimental -async 1 -c:v libx264 -b:v 7741k - bt 655k -bufsize 3096.4k -r 24 -s 1280x720 -aspect 16:9 -trellis 1 -coder ac -subq 7 -me_range 16 -i_qfactor 0.71 -bf 3 -b_strategy 1 -refs 3 -partitions partb8x8 + partp4x4 + partp8x8 + parti8x8 -flags + loop -me_method hex -direct-pred 1 -rc_lookahead 40 -keyint_min 23 -g 240 -rc_eq'fibcplx ^(1-qcomp)'-qmin 3 -qmax 51 -qdiff 4 -crf 20-level 31-weightb 1 -8x8dct 1 -fast-pskip 1 -mixed-refs 1 -b-pyramid 1 -sc_threshold 40 -map_metadata 0 -c:s mov_text -threads 8 -y“Olympus Has Fallen.m4v”
如果有人能帮助我,我将非常高兴,因为我试了这么久,而且它无法正常工作,这令人沮丧。
ffmpeg
电话 mov_text
对于softsubs,但我从未尝试过。
Handbrake
没有 ffmpeg
把字幕放进去 mp4
,但我承认它有一段时间了 - 没有尝试过最新版本 ffmeg
。
m4v
要么mp4
使用时不会支持字幕作为流ffmpeg
。在ffmpeg中使用mp4容器执行此操作的唯一方法是“刻录”它。