Ticket #2033 (closed defect: needs_more_info)
Regression creating images in ffmpeg 1.0
| Reported by: | doublemax | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | unspecified | Keywords: | h264 |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
- Summary of the bug:
Creating static images from a video works on Centos6-32bit, but not on Centos6-64bit. This issue does not exist in libav-9pre.
The created jpegs look completly destroyed.
- How to reproduce:
$ wget http://doppelbauer.name/regression.flv
$ ffmpeg -i regression.flv -f image2 -r 1 -vcodec mjpeg -vframes 1000 -qscale 1 %d.jpg
ffmpeg version 1.0.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 12 2012 10:11:05 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)
configuration: --prefix=/usr/local --enable-gpl --enable-version3 --enable-nonfree --enable-bzlib --enable-zlib --enable-libx264 --enable-libfaac --enable-libvo-aacenc --enable-libaacplus --enable-libmp3lame --enable-libcelt --enable-libspeex
libavutil 51. 73.101 / 51. 73.101
libavcodec 54. 59.100 / 54. 59.100
libavformat 54. 29.104 / 54. 29.104
libavdevice 54. 2.101 / 54. 2.101
libavfilter 3. 17.100 / 3. 17.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, flv, from 'regression.flv':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
Duration: 00:08:51.63, start: 0.000000, bitrate: 944 kb/s
Stream #0:0: Video: h264 (Main), yuv420p, 640x480, 826 kb/s, 29.97 tbr, 1k tbn, 59.94 tbc
Stream #0:1: Audio: aac, 44100 Hz, stereo, s16, 131 kb/s
Please use -q:a or -q:v, -qscale is ambiguous
Output #0, image2, to '%d.jpg':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
encoder : Lavf54.29.104
Stream #0:0: Video: mjpeg, yuvj420p, 640x480, q=2-31, 200 kb/s, 90k tbn, 1 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mjpeg)
Press [q] to stop, [?] for help
Error while decoding stream #0:0: Operation not permitted
Last message repeated 324 times
Error while decoding stream #0:0: Operation not permitted0 bitrate= 0.0kbits/s dup=0 drop=146
Last message repeated 339 times
Error while decoding stream #0:0: Operation not permitted0 bitrate= 0.0kbits/s dup=0 drop=298
Last message repeated 364 times
Error while decoding stream #0:0: Operation not permitted0 bitrate= 0.0kbits/s dup=0 drop=455
Last message repeated 9 times
Change History
comment:2 Changed 5 months ago by doublemax
Yes, tested with CentOS6 64bit, ffmpeg-N47885.
Not all images are corrupted, only many.
comment:3 Changed 5 months ago by cehoyos
Please provide the input sample and please provide command line and complete, uncut console output for current git head.
comment:4 Changed 5 months ago by doublemax
Input sample, command line and console output are in the initial bug report.
Here once more:
wget http://doppelbauer.name/regression.flv
ffmpeg -i regression.flv -f image2 -r 1 -vcodec mjpeg -vframes 1000 -qscale 1 %d.jpg
comment:5 Changed 5 months ago by cehoyos
I cannot reproduce the problem but I did not check all 1000 frames;-(
Please provide a failing command line with "-vframes 1" or at least significantly less than 1000, and please provide the console output: It will probably not help, but since I cannot reproduce the problem, it could be useful.
comment:6 Changed 5 months ago by doublemax
Sorry. The first five images are fine, the last 15 images are damaged. This happens only on Centos6 64bit (Centos6 32bit is fine):
wget http://doppelbauer.name/regression.flv
ffmpeg -i regression.flv -f image2 -r 1 -vcodec mjpeg -vframes 20 -qscale 1 %d.jpg
ffmpeg version N-47885-g718eab5 Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 16 2012 10:26:35 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)
configuration: --prefix=/usr/local --enable-gpl --enable-version3 --enable-nonfree --enable-bzlib --enable-zlib --enable-libx264 --enable-libfaac --enable-libvo-aacenc --enable-libaacplus --enable-libmp3lame --enable-libcelt --enable-libspeex
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 80.100 / 54. 80.100
libavformat 54. 49.102 / 54. 49.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 27.102 / 3. 27.102
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, flv, from 'regression.flv':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
Duration: 00:08:51.63, start: 0.000000, bitrate: 944 kb/s
Stream #0:0: Video: h264 (Main), yuv420p, 640x480, 826 kb/s, 29.97 tbr, 1k tbn, 59.94 tbc
Stream #0:1: Audio: aac, 44100 Hz, stereo, fltp, 131 kb/s
Please use -q:a or -q:v, -qscale is ambiguous
Output #0, image2, to '%d.jpg':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
encoder : Lavf54.49.102
Stream #0:0: Video: mjpeg, yuvj420p, 640x480, q=2-31, 200 kb/s, 90k tbn, 1 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mjpeg)
Press [q] to stop, [?] for help
Error while decoding stream #0:0: Operation not permitted
Last message repeated 274 times
frame= 20 fps=0.0 q=0.0 Lsize= 0kB time=00:00:20.00 bitrate= 0.0kbits/s dup=0 drop=118
video:1086kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.000000%
comment:7 Changed 5 months ago by cehoyos
Does it work with an output codec different from jpg? (png)
Or even better, could you confirm that the following looks different for you for frames 5 - 19?
Do you still see the "Operation not permitted" error?
$ ffmpeg -i regression.flv -vframes 20 -f framecrc -an -
ffmpeg version N-47885-g718eab5 Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 17 2012 11:10:35 with gcc 4.7 (SUSE Linux)
configuration:
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 80.100 / 54. 80.100
libavformat 54. 49.102 / 54. 49.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 27.102 / 3. 27.102
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
Input #0, flv, from 'regression.flv':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
Duration: 00:08:51.63, start: 0.000000, bitrate: 944 kb/s
Stream #0:0: Video: h264 (Main), yuv420p, 640x480, 826 kb/s, 29.97 tbr, 1k tbn, 59.94 tbc
Stream #0:1: Audio: aac, 44100 Hz, stereo, fltp, 131 kb/s
#tb 0: 1001/30000
Output #0, framecrc, to 'pipe:':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
encoder : Lavf54.49.102
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480, q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> rawvideo)
Press [q] to stop, [?] for help
0, 0, 0, 1, 460800, 0xe0dfe574
0, 1, 1, 1, 460800, 0x98c2e5b9
0, 2, 2, 1, 460800, 0x809ecc4c
0, 3, 3, 1, 460800, 0x1b76597d
0, 4, 4, 1, 460800, 0xc399d81f
0, 5, 5, 1, 460800, 0x53e31a66
0, 6, 6, 1, 460800, 0x8bb83b7d
0, 7, 7, 1, 460800, 0xb0b4e300
0, 8, 8, 1, 460800, 0xeaa7f61b
0, 9, 9, 1, 460800, 0x8102c27c
0, 10, 10, 1, 460800, 0x2d1bb952
0, 11, 11, 1, 460800, 0xe48ef614
0, 12, 12, 1, 460800, 0x099458be
0, 13, 13, 1, 460800, 0xdf650aec
0, 14, 14, 1, 460800, 0xad449ba9
0, 15, 15, 1, 460800, 0xad166d82
0, 16, 16, 1, 460800, 0x8a0c7910
0, 17, 17, 1, 460800, 0x14a48d50
0, 18, 18, 1, 460800, 0x05b966fd
0, 19, 19, 1, 460800, 0x2a5753a3
frame= 20 fps=0.0 q=0.0 Lsize= 1kB time=00:00:00.66 bitrate= 14.1kbits/s
video:9000kB audio:0kB subtitle:0 global headers:0kB muxing overhead -99.987218%
To narrow down the reason for the problem, you could either test "./configure && make", "./configure --disable-yasm && make", "./configure --disable-asm && make" and "./configure --disable-optimizations && make" or try with an older version of ffmpeg (assuming there is one that works) and use git bisect to find the change introducing the problem.
comment:8 Changed 5 months ago by cehoyos
I tested with gcc-4.4.6 (vanilla) on x86_64, decoding works fine, jpgs also look fine. Please also post the output of the following command to clarify if this is a decoding (or a jpeg-encoding) issue.
$ ffmpeg -i regression.flv -vframes 20 -f framecrc -an -
ffmpeg version N-48272-g2a9443a Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 29 2012 18:15:32 with gcc 4.4.6 (GCC)
configuration: --cc=/usr/local/gcc-4.4.6/bin/gcc
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 81.100 / 54. 81.100
libavformat 54. 50.104 / 54. 50.104
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 30.101 / 3. 30.101
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
Input #0, flv, from 'regression.flv':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
Duration: 00:08:51.63, start: 0.000000, bitrate: 944 kb/s
Stream #0:0: Video: h264 (Main), yuv420p, 640x480, 826 kb/s, 29.97 tbr, 1k tbn, 59.94 tbc
Stream #0:1: Audio: aac, 44100 Hz, stereo, fltp, 131 kb/s
#tb 0: 1001/30000
Output #0, framecrc, to 'pipe:':
Metadata:
starttime : 0
totalduration : 532
totaldatarate : 944
bytelength : 62755813
canseekontime : true
sourcedata : B4A7DDA27MH1353476116770896
purl :
pmsg :
encoder : Lavf54.50.104
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480, q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> rawvideo)
Press [q] to stop, [?] for help
0, 0, 0, 1, 460800, 0xe0dfe574
0, 1, 1, 1, 460800, 0x98c2e5b9
0, 2, 2, 1, 460800, 0x809ecc4c
0, 3, 3, 1, 460800, 0x1b76597d
0, 4, 4, 1, 460800, 0xc399d81f
0, 5, 5, 1, 460800, 0x53e31a66
0, 6, 6, 1, 460800, 0x8bb83b7d
0, 7, 7, 1, 460800, 0xb0b4e300
0, 8, 8, 1, 460800, 0xeaa7f61b
0, 9, 9, 1, 460800, 0x8102c27c
0, 10, 10, 1, 460800, 0x2d1bb952
0, 11, 11, 1, 460800, 0xe48ef614
0, 12, 12, 1, 460800, 0x099458be
0, 13, 13, 1, 460800, 0xdf650aec
0, 14, 14, 1, 460800, 0xad449ba9
0, 15, 15, 1, 460800, 0xad166d82
0, 16, 16, 1, 460800, 0x8a0c7910
0, 17, 17, 1, 460800, 0x14a48d50
0, 18, 18, 1, 460800, 0x05b966fd
0, 19, 19, 1, 460800, 0x2a5753a3
frame= 20 fps=0.0 q=0.0 Lsize= 1kB time=00:00:00.66 bitrate= 14.1kbits/s
video:9000kB audio:0kB subtitle:0 global headers:0kB muxing overhead -99.987218%
comment:9 follow-ups: ↓ 10 ↓ 11 Changed 5 months ago by doublemax
Sorry - I have installed CentOS6 32bit - I can't provide you any tests.
Maybe you want to close this ticket.
Thanks a lot
comment:10 in reply to: ↑ 9 Changed 5 months ago by cehoyos
Replying to doublemax:
Sorry - I have installed CentOS6 32bit - I can't provide you any tests.
I am not sure I understand: You cannot run the command line I used and post the output here so we know if this is a decoding or an encoding problem?
comment:11 in reply to: ↑ 9 Changed 5 months ago by cehoyos
Replying to doublemax:
Sorry - I have installed CentOS6 32bit - I can't provide you any tests.
Sorry, I misread your post - how do you know it fails on CentOS6 64bit if you only have a 32bit installation?
comment:12 Changed 5 months ago by doublemax
I had both - 32bit and 64bit.
Because of this bug I removed the CentOS 64bit machines.
comment:13 Changed 5 months ago by cehoyos
- Keywords h264 added
- Status changed from new to closed
- Resolution set to needs_more_info
Thank you for clarifying.



Is this problem also reproducible with current git head?