Ffmpeg 如何在保持透明度的同时修剪webm视频

Ffmpeg 如何在保持透明度的同时修剪webm视频,ffmpeg,alpha,webm,vp8,Ffmpeg,Alpha,Webm,Vp8,我想用ffmpeg剪裁一个透明的webm视频。以下是该视频的ffprobe结果: Input #0, matroska,webm, from 'template.webm': Metadata: ENCODER : Lavf58.29.100 Duration: 00:00:05.24, start: -0.002000, bitrate: 2856 kb/s Stream #0:0: Video: vp8, yuv420p(progressive), 1

我想用ffmpeg剪裁一个透明的webm视频。以下是该视频的ffprobe结果:

Input #0, matroska,webm, from 'template.webm':
  Metadata:
    ENCODER         : Lavf58.29.100
  Duration: 00:00:05.24, start: -0.002000, bitrate: 2856 kb/s
    Stream #0:0: Video: vp8, yuv420p(progressive), 1573x900, SAR 1:1 DAR 1573:900, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ALPHA_MODE      : 1
      ENCODER         : Lavc58.54.100 libvpx
      DURATION        : 00:00:05.240000000
    Stream #0:1: Audio: opus, 48000 Hz, mono, fltp
    Metadata:
      ENCODER         : Lavc58.54.100 libopus
      DURATION        : 00:00:05.241000000
我试过了

ffmpeg -i template.webm -ss 1 -to 3 -c copy trimmed.webm
但是修剪后的视频不会在命令中定义的确切时间开始(有时结束),所以我尝试使用libvpx重新编码视频

ffmpeg -i template.webm -ss 1 -to 3 -c:v libvpx -c:a copy -crf 30 -b:v 0 trimmed.webm
它解决了定时问题,但这会导致输出视频的透明度损失。以下是ffprobe:

Input #0, matroska,webm, from 'trimmed.webm':
  Metadata:
    ENCODER         : Lavf57.83.100
  Duration: 00:00:02.00, start: -0.001000, bitrate: 1395 kb/s
    Stream #0:0: Video: vp8, yuv420p(progressive), 1573x900, SAR 1:1 DAR 1573:900, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ALPHA_MODE      : 1
      ENCODER         : Lavc57.107.100 libvpx
      DURATION        : 00:00:02.000000000
    Stream #0:1: Audio: opus, 48000 Hz, mono, fltp
    Metadata:
      ENCODER         : Lavc58.54.100 libopus
      DURATION        : 00:00:02.001000000

如何在保持透明度的同时修剪视频?此外,快速解决方案将非常有用。

本机内置FFmpeg VP8解码器尚不支持alpha/透明。使用libvpx解码:

ffmpeg -c:v libvpx -i template.webm -ss 1 -to 3 -c:v libvpx -c:a copy -crf 30 -b:v 0 trimmed.webm
如果使用auto_alt_ref进行的透明编码不起作用,则添加
-auto alt ref 0
输出选项或将
-c:v libvpx
输出选项更改为
-c:v libvpx-vp9