[FFmpeg-trac] #7719(undetermined:closed): Extracting transparent PNGs from vp9a fails (vp8a works)

FFmpeg trac at avcodec.org
Thu Feb 7 20:17:21 EET 2019


#7719: Extracting transparent PNGs from vp9a fails (vp8a works)
-------------------------------------+-------------------------------------
             Reporter:  rroller      |                    Owner:
                 Type:  defect       |                   Status:  closed
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:  invalid
             Keywords:  vp9 alpha    |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Old description:

> Extracting transparent PNG files from a vp8a webm video with an alpha
> channel works. Extracting PNG files from a vp9a webm video with an alpha
> channel does not work.
>
> How to reproduce:
> With a vp8a, no issue...
> {{{
> % ffmpeg -vcodec libvpx -i vp8a.webm -pix_fmt rgba out/image_%d.png
> > produces transparent PNGs
> }}}
>
> Fails with a vp9a webm video:
> {{{
> % ffmpeg -vcodec libvpx -i vp9a.webm -pix_fmt rgba out/image_%d.png
> fmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
>   built with gcc 4.9.2 (Debian 4.9.2-10+deb8u2)
>   configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-
> libwebp --enable-librsvg --enable-libvorbis --enable-libvpx --disable-
> network
>   libavutil      56. 22.100 / 56. 22.100
>   libavcodec     58. 35.100 / 58. 35.100
>   libavformat    58. 20.100 / 58. 20.100
>   libavdevice    58.  5.100 / 58.  5.100
>   libavfilter     7. 40.101 /  7. 40.101
>   libswscale      5.  3.100 /  5.  3.100
>   libswresample   3.  3.100 /  3.  3.100
>   libpostproc    55.  3.100 / 55.  3.100
> [libvpx @ 0x2d0c580] v1.8.0
> [libvpx @ 0x2d0c580] Invalid sync code 430042.
> [libvpx @ 0x2d0c580] Failed to decode frame: Bitstream not supported by
> this decoder
> [libvpx @ 0x2d0c580] Invalid sync code 844e49.
> [libvpx @ 0x2d0c580] Failed to decode frame: Bitstream not supported by
> this decoder
> }}}
>

> Versions:
> {{{
> ffmpeg version: 4.1 installed from source built on Debian 4.9.2-10+deb8u2
> Also tried with ffmpeg from homebrew on a mac.
> }}}
>

> Here's ffprobe output for both vids:
> {{{
> ffprobe vp8a.webm
> ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
>   built with gcc 4.9.2 (Debian 4.9.2-10+deb8u2)
>   configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-
> libwebp --enable-librsvg --enable-libvorbis --enable-libvpx --disable-
> network
>   libavutil      56. 22.100 / 56. 22.100
>   libavcodec     58. 35.100 / 58. 35.100
>   libavformat    58. 20.100 / 58. 20.100
>   libavdevice    58.  5.100 / 58.  5.100
>   libavfilter     7. 40.101 /  7. 40.101
>   libswscale      5.  3.100 /  5.  3.100
>   libswresample   3.  3.100 /  3.  3.100
>   libpostproc    55.  3.100 / 55.  3.100
> Input #0, matroska,webm, from 'vp8a.webm':
>   Metadata:
>     encoder         : libwebm-0.2.1.0
>     creation_time   : 2019-02-07T21:34:38.000000Z
>   Duration: 00:00:11.00, start: 0.000000, bitrate: 392 kb/s
>     Stream #0:0(eng): Video: vp8, yuv420p(progressive), 1080x1920, SAR
> 1:1 DAR 9:16, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
>     Metadata:
>       alpha_mode      : 1
>

> ffprobe vp9a.webm
> ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
>   built with gcc 4.9.2 (Debian 4.9.2-10+deb8u2)
>   configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-
> libwebp --enable-librsvg --enable-libvorbis --enable-libvpx --disable-
> network
>   libavutil      56. 22.100 / 56. 22.100
>   libavcodec     58. 35.100 / 58. 35.100
>   libavformat    58. 20.100 / 58. 20.100
>   libavdevice    58.  5.100 / 58.  5.100
>   libavfilter     7. 40.101 /  7. 40.101
>   libswscale      5.  3.100 /  5.  3.100
>   libswresample   3.  3.100 /  3.  3.100
>   libpostproc    55.  3.100 / 55.  3.100
> Input #0, matroska,webm, from 'vp9a.webm':
>   Metadata:
>     encoder         : libwebm-0.2.1.0
>     creation_time   : 2019-02-07T15:31:54.000000Z
>   Duration: 00:00:11.00, start: 0.000000, bitrate: 281 kb/s
>     Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv), 1080x1920, SAR
> 1:1 DAR 9:16, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
>     Metadata:
>       alpha_mode      : 1
> }}}

New description:

 {{{
 % ffmpeg -vcodec libvpx -i vp9a.webm -pix_fmt rgba out/image_%d.png
 }}}
 The codec's name is `libvpx-vp9`.

--

Comment (by cehoyos):

 Replying to [ticket:7719 rroller]:
 > Extracting transparent PNG files from a vp8a webm video with an alpha
 channel works. Extracting PNG files from a vp9a webm video with an alpha
 channel does not work.
 >
 > How to reproduce:
 > With a vp8a, no issue...
 > {{{
 > % ffmpeg -vcodec libvpx -i vp8a.webm -pix_fmt rgba out/image_%d.png
 > > produces transparent PNGs
 > }}}
 >
 > Fails with a vp9a webm video:
 > {{{
 > % ffmpeg -vcodec libvpx -i vp9a.webm -pix_fmt rgba out/image_%d.png
 > fmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
 >   built with gcc 4.9.2 (Debian 4.9.2-10+deb8u2)
 >   configuration: --enable-gpl --enable-libx264 --enable-libx265
 --enable-libwebp --enable-librsvg --enable-libvorbis --enable-libvpx
 --disable-network
 >   libavutil      56. 22.100 / 56. 22.100
 >   libavcodec     58. 35.100 / 58. 35.100
 >   libavformat    58. 20.100 / 58. 20.100
 >   libavdevice    58.  5.100 / 58.  5.100
 >   libavfilter     7. 40.101 /  7. 40.101
 >   libswscale      5.  3.100 /  5.  3.100
 >   libswresample   3.  3.100 /  3.  3.100
 >   libpostproc    55.  3.100 / 55.  3.100
 > [libvpx @ 0x2d0c580] v1.8.0
 > [libvpx @ 0x2d0c580] Invalid sync code 430042.
 > [libvpx @ 0x2d0c580] Failed to decode frame: Bitstream not supported by
 this decoder
 > [libvpx @ 0x2d0c580] Invalid sync code 844e49.
 > [libvpx @ 0x2d0c580] Failed to decode frame: Bitstream not supported by
 this decoder
 > }}}
 >
 >
 > Versions:
 > {{{
 > ffmpeg version: 4.1 installed from source built on Debian
 4.9.2-10+deb8u2
 > Also tried with ffmpeg from homebrew on a mac.
 > }}}
 >
 >
 > Here's ffprobe output for both vids:
 > {{{
 > ffprobe vp8a.webm
 > ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
 >   built with gcc 4.9.2 (Debian 4.9.2-10+deb8u2)
 >   configuration: --enable-gpl --enable-libx264 --enable-libx265
 --enable-libwebp --enable-librsvg --enable-libvorbis --enable-libvpx
 --disable-network
 >   libavutil      56. 22.100 / 56. 22.100
 >   libavcodec     58. 35.100 / 58. 35.100
 >   libavformat    58. 20.100 / 58. 20.100
 >   libavdevice    58.  5.100 / 58.  5.100
 >   libavfilter     7. 40.101 /  7. 40.101
 >   libswscale      5.  3.100 /  5.  3.100
 >   libswresample   3.  3.100 /  3.  3.100
 >   libpostproc    55.  3.100 / 55.  3.100
 > Input #0, matroska,webm, from 'vp8a.webm':
 >   Metadata:
 >     encoder         : libwebm-0.2.1.0
 >     creation_time   : 2019-02-07T21:34:38.000000Z
 >   Duration: 00:00:11.00, start: 0.000000, bitrate: 392 kb/s
 >     Stream #0:0(eng): Video: vp8, yuv420p(progressive), 1080x1920, SAR
 1:1 DAR 9:16, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
 >     Metadata:
 >       alpha_mode      : 1
 >
 >
 > ffprobe vp9a.webm
 > ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
 >   built with gcc 4.9.2 (Debian 4.9.2-10+deb8u2)
 >   configuration: --enable-gpl --enable-libx264 --enable-libx265
 --enable-libwebp --enable-librsvg --enable-libvorbis --enable-libvpx
 --disable-network
 >   libavutil      56. 22.100 / 56. 22.100
 >   libavcodec     58. 35.100 / 58. 35.100
 >   libavformat    58. 20.100 / 58. 20.100
 >   libavdevice    58.  5.100 / 58.  5.100
 >   libavfilter     7. 40.101 /  7. 40.101
 >   libswscale      5.  3.100 /  5.  3.100
 >   libswresample   3.  3.100 /  3.  3.100
 >   libpostproc    55.  3.100 / 55.  3.100
 > Input #0, matroska,webm, from 'vp9a.webm':
 >   Metadata:
 >     encoder         : libwebm-0.2.1.0
 >     creation_time   : 2019-02-07T15:31:54.000000Z
 >   Duration: 00:00:11.00, start: 0.000000, bitrate: 281 kb/s
 >     Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv), 1080x1920,
 SAR 1:1 DAR 9:16, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
 >     Metadata:
 >       alpha_mode      : 1
 > }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7719#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list