2017-07-06 63 views
0

我试图剪切一个ts片段,并在剪切片段的起始点处应用白色渐变。这用于需要从视频的开头“裁剪”某些素材并将渐变应用于更平滑的条目的情况。在我的测试中,我在5.5秒的时间内切出了8秒的片段,以产生2.5秒的片段,在第一秒钟后它会从白色中消失。使用ffmpeg剪切和淡入淡出?

本身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]可能的配置文件:基线主高high10 high422 high444

初始化错误输出流0:1 - 错误而输出流#0开口编码器:1 - 也许不正确的参数如BIT_RATE ,速率,宽度或高度

[AAC @ 0x7fd9db001200] QAVG:楠

转换失败!

我对ffmpeg的了解还不够深入,无法弄清楚为什么会发生这种情况。有什么想法吗?

谢谢, 马特

+0

好吧我把loglevel调试,看到一些与基线配置文件有关的问题。这个修改后的命令似乎有效: 'ffmpeg -i test.ts -filter:v fade = t = in:st = 5.5:d = 1:color = 0xffffff -ss 5.5 -c:v libx264 -c:aac -map 0 -mpegts_copyts 1 -preset ultrafast -f ssegment -initial_offset 5.5 -segment_format mpegts〜/ Desktop/cut%d.ts' –

回答

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的平面像素格式。

+0

This works。我的原始命令在我使用的播放器(clappr)中工作,但我不确定它看起来是否正确。谢谢你的提示!! –