我正在尝试剪切ts片段并在剪切片段的初始点应用白色渐变。这用于我需要从视频开头“裁剪”某些素材并应用淡入淡出以获得更平滑的条目的情况。在我的测试中,我在5.5s标记处切割了一个8秒的段,产生了一个2.5秒的段,在第一秒内会从白色中消失。
cut命令本身工作正常:
ffmpeg -i test.ts -ss 5.5 -c:v libx264 -profile:v baseline -c:a aac -map 0 -mpegts_copyts 1 -preset ultrafast -f ssegment -initial_offset 5.5 -segment_format mpegts ~/Desktop/cut%d.ts
我之前成功使用了这种淡入淡出过滤器语法:
-filter:v fade=t=in:st=0:d=1:color=0xffffff
但我似乎无法使整个事情发挥作用:
ffmpeg -i test.ts -filter:v fade=t=in:st=5.5:d=1:color=0xffffff -ss 5.5 -c:v libx264 -profile:v baseline -c:a aac -map 0 -mpegts_copyts 1 -preset ultrafast -f ssegment -initial_offset 5.5 -segment_format mpegts ~/Desktop/cut%d.ts
我收到以下错误:
x264 [错误]:基线配置文件不支持4:4:4
[libx264 @ 0x7fd9db002400]设置配置文件基线时出错。
[libx264 @ 0x7fd9db002400]可能的配置文件:baseline main high high10 high422 high444
初始化输出流0时出错:1 - 打开输出流编码器时出错#0:1 - 可能是不正确的参数,如bit_rate,rate,width或height
[aac @ 0x7fd9db001200] Qavg:nan
转换失败了!
我对ffmpeg的了解还不够深入,无法弄清楚为什么会发生这种情况。有什么想法吗?
谢谢, 马特
答案 0 :(得分:0)
摆脱-profile:v baseline
将解决'但是由于ffmpeg将为您自动选择个人资料high444
,因此最终视频无法在许多玩家中播放。
相反,请使用
ffmpeg -i test.ts
-vf fade=t=in:st=5.5:d=1:color=0xffffff,format=yuv420p
-ss 5.5 -c:v libx264 -profile:v baseline -c:a aac -map 0 -preset ultrafast
-mpegts_copyts 1 -f ssegment -initial_offset 5.5 -segment_format mpegts ~/Desktop/cut%d.ts
基线配置文件仅支持YUV 4:2:0平面像素格式。