我试图用复杂的过滤器做一个命令,允许去噪,硬子,缩放(到480高度)和水印。
我在这里得到了3/4的过滤器,它们可以一起工作:
ffmpeg -i test720.mp4 -vf hqdn3d=1.5:1.5:6:6,scale=w="if(gt(dar\,854/480)\,min(854\,iw*sar)\,2*trunc(iw*sar*oh/ih/2))":h="if(gt(dar\,854/480)\,2*trunc(ih*ow/iw/sar/2)\,min(480\,ih))"\:flags=bicubic,setsar=1\,subtitles=add.ass[out]" -c:v libx264 -crf 18 -preset veryslow -tune film -refs 8 -bf 6 -aq-mode 2 -c:a copy -f mp4 720encoded.mp4但当涉及到所有,它给了我太多的输入指定为“电影”过滤器。
下面是我的命令,它应该有效,但却不能:
ffmpeg -i test720.mp4 -vf hqdn3d=1.5:1.5:6:6,scale=w="if(gt(dar\,854/480)\,min(854\,iw*sar)\,2*trunc(iw*sar*oh/ih/2))":h="if(gt(dar\,854/480)\,2*trunc(ih*ow/iw/sar/2)\,min(480\,ih))"\:flags=bicubic,setsar=1\,"movie=actorimage.png[wm];[in][wm]overlay=30:main_h-overlay_h-120\,subtitles=add.ass[out]" -c:v libx264 -crf 18 -preset veryslow -tune film -refs 8 -bf 6 -aq-mode 2 -c:a copy -f mp4 720encoded.mp4我肯定我在里面犯了一个简单的语法错误。
发布于 2017-04-17 20:33:23
最终工作脚本:ffmpeg -i test720.mp4 -filter_complex "hqdn3d=1.5:1.5:6:6,scale=w=if(gt(dar\,854/480)\,min(854\,iwsar)\,2*trunc(iwsaroh/ih/2)):h=if(gt(dar\,854/480)\,2*trunc(ihow/iw/sar/2)\,min(480\,ih)):flags=bicubic,setsar=1[we];movie=actorimage.png[wm];[we][wm]overlay=30:main_h-overlay_h-120,subtitles=add.ass" -c:v libx264 -crf 18 -preset veryslow -tune film -refs 8 -bf 6 -aq-mode 2 -c:a copy -f mp4 720.mp4
https://stackoverflow.com/questions/43419168
复制相似问题