当前位置: 首页 > 知识库问答 >
问题:

透明地将webm视频拆分为png

柯昆杰
2023-03-14

我需要将WebM编码的视频拆分为PNG帧,同时不失去透明度。我使用以下ffmpeg命令:

ffmpeg -i dancer1.webm -pix_fmt rgba frames/%04d.png

这将产生一个pngs目录,但为什么每个输出帧都缺少透明度?

我已经使用了这个示例视频,其中包含一个alpha通道。看到它在背景上播放。下面是FFMPEG的一个输出帧示例:

ffmpeg version N-60294-g549f052 Copyright (c) 2000-2014 the FFmpeg developers                                             [1/2471]
  built on Feb  2 2014 05:41:56 with gcc 4.6 (Debian 4.6.3-1)
  configuration: --prefix=/root/ffmpeg-static/64bit --extra-cflags='-I/root/ffmpeg-static/64bit/include -static' --extra-ldflags='-L/root/ffmpeg-static/64bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.101 / 55. 49.101
  libavformat    55. 28.101 / 55. 28.101
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.101 /  4.  1.101
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, matroska,webm, from 'dancer1.webm':
  Metadata:
    encoder         : libwebm-0.2.1.0
  Duration: 00:01:02.83, start: 0.000000, bitrate: 520 kb/s
    Stream #0:0(eng): Video: vp8, yuv420p, 640x360, SAR 1:1 DAR 16:9, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      alpha_mode      : 1
Output #0, image2, to 'frames/%04d.png':
  Metadata:
    encoder         : Lavf55.28.101
    Stream #0:0(eng): Video: png, rgba, 640x360 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 30 tbc (default)
Metadata:
  alpha_mode      : 1
Stream mapping:
  Stream #0:0 -> #0:0 (vp8 -> png)
$ identify 0001.png
0001.png PNG 640x360 640x360+0+0 8-bit DirectClass 94.1KB 0.000u 0:00.000
$ file 0001.png
0001.png: PNG image data, 640 x 360, 8-bit/color RGBA, non-interlaced

共有1个答案

魏君博
2023-03-14

自2016-07-20以来,可以使用alpha信道(VP8a或VP9a)正确解码webm,但需要-vcodec libvpx选项。您必须下载在该日期之后编译的FFmpeg(或使用最新提交进行编译),并在创建frames文件夹后,使用以下命令:

ffmpeg-vcodec libvpx-i dancer1.webm frames/%04d.png

注意-vcodec libvpx在输入之前,而不是之后。

 类似资料:
  • 我尝试在Wordpress网站上使用webm视频。出于演示的目的,我使用了大公兔拖车演示。 我使用openlitespeed和cyberpanel作为我的Web服务器,并将其添加到。htaccess: 我也重新启动了整个服务器后,这一变化。但是,当我上传媒体文件到wordpress它只跳转到另一个网页后,它下载webm文件本身。文件本身是好的,因为当我把它拖到我的浏览器(勇敢,Safari,火狐开

  • 本文向大家介绍python3将视频流保存为本地视频文件,包括了python3将视频流保存为本地视频文件的使用技巧和注意事项,需要的朋友参考一下 使用python3+opencv3.3.1环境将视频流保存为本地视频文件,具体内容如下 1、利用opencv中的VideoCapture类获取视频流的链接,通过cv2的方法得到该视频流的帧数和每帧大小。 2、使用VideoWriter类进行视频编码 3、通

  • 问题内容: 我正在尝试在Java应用程序中显示动画gif。到目前为止,它可以 显示和设置动画,但是在应该是全黑或 全白的情况下,它似乎变得透明了,我可以看到 下面绘制的矩形的颜色。例如,这是我正在使用的gif之一: 真正奇怪的是,它似乎在 第一帧中正确显示,然后才混乱。这是我 用来获取和绘制图像的方法: 我在扩展JPanel的类中重写paintcomponent,并且只 对该类调用一次repain

  • 我正在尝试流式传输从FFmpeg编码的Webm视频文件。 然而,当我寻找到一个未被缓冲的位置时,视频播放停止。 我已验证是否下载了正确的字节范围。 知道是什么引起的吗?在x264中编码的mp4文件中,查找工作完美无瑕。Webm似乎是个问题。可能是视频编码方式有问题。 ffmpeg-i输入。mp4-编解码器:v libvpx-质量最佳-b:v 4000k-qmin 10-qmax 42-最大速率40

  • 怎么把视频背景色变为透明网格?