video - 使用 ffmpeg 将带有 Alpha 的 mov 转换为带有 Alpha 的 VP9 Webm

标签 video ffmpeg webm

我正在尝试将具有 alpha 透明度的 mov 转换为具有 alpha 透明度的 webm,如所见 here .我按照解释的步骤 here无济于事。

来自 this answer我能够删除视频中的所有黑色,从而使其透明,但这不是我需要的,因为我已经有一个透明的 mov 并且想将其转换为透明的 webm 格式。

ffmpeg -i input.mp4 -c:v libvpx -vf "colorkey=0x000000:0.1:0.1,format=yuva420p" out.webm

这是视频的 ffprobe 输出,我想透明地转换为 webm。

built with Apple LLVM version 7.0.2 (clang-700.1.81)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-ffplay --enable-libspeex --enable-libschroedinger --enable-libfdk-aac --enable-libopus --enable-frei0r --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-nonfree --enable-vda
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2016-01-17 16:04:07
    encoder         : Mac OS X v? (AVF 1046.9.1, CM 1731.15.20, x86_64)
    encoder-eng     : Mac OS X v? (AVF 1046.9.1, CM 1731.15.20, x86_64)
  Duration: 00:00:06.63, start: 0.000000, bitrate: 63966 kb/s
    Stream #0:0(eng): Video: prores (ap4h / 0x68347061), yuva444p10le(bt470bg/smpte240m/bt709), 1920x1080, 63963 kb/s, 25.03 fps, 25 tbr, 600 tbn, 600 tbc (default)
    Metadata:
      creation_time   : 2016-01-17 16:04:07
      handler_name    : Core Media Data Handler
      encoder         : Apple ProRes 4444

我还尝试了以下命令,但对我也不起作用。

ffmpeg -y -i input.mov -c:v libvpx-vp9 -b:v 2000k -pass 1 -an -f webm output.webm

我在 Mac 上使用 2.8.4 版的 ffmpeg,安装了 brew。 2.8.5 为最新版本。

最佳答案

2016-07-13 , 可以使用 alpha channel (VP9a) 对 VP9/webm 视频进行编码。但是,您在此处使用的命令将创建一个 VP8a 视频。假设您获得了在该日期之后编译的 ffmpeg 副本,您只需将 libvpx 更改为 libvpx-vp9。您也不需要 yuva420p 转换(默认选中)。

关于video - 使用 ffmpeg 将带有 Alpha 的 mov 转换为带有 Alpha 的 VP9 Webm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34856236/

相关文章:

python - 识别以口语介绍开头的 MP3 文件中钢琴音乐的开头,并使用 Python 删除口语部分

video - FFmpeg:如何将带有黑色边的垂直视频转换为 16:9 的视频,背景边模糊

ffmpeg - 递归地将 .mp4 文件重新编码为 .mp4 的新副本,并使用 ffmpeg 将 .mp4 转换为 .webm 和 .ogg

c++ - 读取 H.265 和 VP9 帧?

android - 在 Android 中使用 Alpha channel 解码 VP9,可能吗?

audio - 使用 ffmpeg 从视频中提取每个音频和字幕

用于从多帧和裁剪面部检测面部的matlab代码?

video - 如何使用 FFMPEG 将 MP4 视频文件转换为 F4V

ruby-on-rails - 在YouTube以外的网站上是否可以嵌入视频?

python - 是否可以将 POST 请求中的视频读入 python-ffmpeg 或 OpenCV?