如何使用bash脚本或简化ffmpeg命令来调整水印的大小,将其添加到视频中以及将subtitle.ass添加到视频中?

时间:2018-12-25 12:07:28

标签: bash ffmpeg ubuntu-18.04

我想通过使用ffmpeg创建带有水印的硬字幕视频。而且我想知道如何组合和简化多个命令,或者如何为此目的创建bash脚本。

我尝试在堆栈流中搜索并测试了一些命令,但是它们没有用。这是我正在使用的命令。

  1. 要检测视频的宽度和高度:

     @Autowired
     public JwtAccessTokenConverter tokenConverter;
    
     public void setPublicKey(String key) {
          tokenConverter.setSigningKey(key);
     }
    
  2. 调整水印图像的大小:(视频宽度= 1280)

    ffprobe -v quiet -show_entries stream=width,height -of default=noprint_wrappers=1 video_in.mp4
    
  3. 向视频添加水印:

    ffmpeg -i watermark.png -y -v quiet -vf scale=1280*0.15:-1 watermark_scaled.png
    
  4. 向视频添加.ass字幕:(必须为“ .ass”)

    ffmpeg -i video_in.mp4 -i watermark_scaled.png -filter_complex "overlay=W-w-5:5" video_marked.mp4
    

1 个答案:

答案 0 :(得分:0)

您不需要检测视频尺寸。 scale2ref过滤器可以使用参考来调整输入的大小。

这是一个命令中的所有步骤。

ffmpeg -i video_in.mp4 -i watermark.png
       -filter_complex "[1][0]scale2ref=iw*0.15:ow/mdar[wm][v];
                        [v][wm]overlay=W-w-5:5,ass=subtitle.ass"
       -c:a copy video_final.mp4