#2772 closed defect (fixed)
strict does not work with invalid stream identifiers
| Reported by: | Stephan Holljes | Owned by: | |
|---|---|---|---|
| Priority: | minor | Component: | ffmpeg |
| Version: | git-master | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description (last modified by )
Summary of the bug:
I'm trying to use the experimental branch of libvpx to test vp9, but ffmpeg won't use libvpx-vp9 even though '-strict -2' is specified. The option gets parsed but apparently not applied.
How to reproduce:
Compile the experimental branch of libvpx, enable vp9 and enable shared libraries. Compile ffmpeg with libvpx enabled. The following output is produced:
[klaxa@can ~]$ LD_LIBRARY_PATH=/home/klaxa/tools/lib/ /home/klaxa/tools/bin/ffmpeg -i Download/Nothing\'s\ Carved\ In\ Stone\ -\ Out\ of\ Control\ \[1440x1080\ h264\ SSTV\ HD\].ts -vf fieldmatch,decimate -s 1280x720 -c:v vp9 -strict -2 -t 30 -c:a libfdk_aac -b:c 192k -y test2.mkv
ffmpeg version N-54570-g509642b Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 10 2013 13:28:35 with gcc 4.7 (Debian 4.7.2-5)
configuration: --prefix=/home/klaxa/tools/ --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libvorbis --enable-libx264 --enable-librtmp --enable-libvpx --extra-cflags=-I/home/klaxa/tools/include --extra-ldflags=-L/home/klaxa/tools/lib
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 11.101 / 55. 11.101
libavdevice 55. 2.100 / 55. 2.100
libavfilter 3. 79.100 / 3. 79.100
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[h264 @ 0x1698aa0] non-existing SPS 19 referenced in buffering period
Input #0, mpegts, from 'Download/Nothing's Carved In Stone - Out of Control [1440x1080 h264 SSTV HD].ts':
Duration: 00:04:33.12, start: 21804.873144, bitrate: 6966 kb/s
Program 33410
Stream #0:0[0x1002]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1042]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 144 kb/s
[matroska @ 0x169a320] Invalid stream specifier: c.
Last message repeated 3 times
Codec AVOption strict (how strictly to follow the standards) specified for output file #0 (test2.mkv) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (test2.mkv) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[libvpx-vp9 @ 0x169abe0] The encoder 'libvpx-vp9' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
A log with -loglevel debug is attached and here: https://gist.github.com/klaxa/5968451
Attachments (1)
Change History (6)
by , 13 years ago
| Attachment: | ffmpeg-log.txt added |
|---|
comment:1 by , 13 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 13 years ago
| Component: | FFmpeg → avcodec |
|---|---|
| Keywords: | vp9 added; experimental removed |
comment:3 by , 12 years ago
| Component: | avcodec → undetermined |
|---|---|
| Keywords: | vp9 removed |
| Priority: | normal → minor |
| Reproduced by developer: | set |
| Status: | new → open |
| Summary: | FFMPEG -strict -2 and -strict experimental do not get applied with vp9 → strict does not work with invalid stream identifiers |
FFmpeg correctly prints a warning for the incorrect stream specifier, but fails then with an quite unrelated error message (that is more visible than the original warning).
$ ffmpeg -f s16le -i /dev/zero -b:z 128k -strict -2 -acodec aac -f null -
ffmpeg version N-61191-gea9399f Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 9 2014 13:02:00 with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl
libavutil 52. 66.101 / 52. 66.101
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.100 / 55. 34.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, s16le, from '/dev/zero':
Duration: N/A, bitrate: 705 kb/s
Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
[null @ 0x21a2540] Invalid stream specifier: z.
Last message repeated 1 times
Codec AVOption strict (how strictly to follow the standards) specified for output file #0 (pipe:) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (pipe:) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[aac @ 0x21a2f20] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
comment:4 by , 12 years ago
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
comment:5 by , 12 years ago
| Component: | undetermined → ffmpeg |
|---|



Please test the following:
$ ffmpeg -i input -vcodec libvpx-vp9 -strict -2 out.mkv