Ticket #1018 (open enhancement)
ffmpeg cannot decode quicktime with combined gif and blur streams
| Reported by: | alain.dazzi@… | Owned by: | |
|---|---|---|---|
| Priority: | wish | Component: | undetermined |
| Version: | git-master | Keywords: | blur |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
I have the latest ffmpeg compiled and I cannot decode a creating .mov quicktime file (which seems to contain a GIF which I displayed with Bino).
~/zend/workspaces$ ffprobe -show_streams -print_format json -show_format ~/Desktop/703
ffprobe version N-37137-g749e5dc Copyright (c) 2007-2012 the FFmpeg developers
built on Feb 6 2012 18:30:38 with clang 3.0 (tags/Apple/clang-211.10.1)
configuration: --disable-decoder=amrnb --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxvid --enable-libx264 --enable-libvpx --enable-hardcoded-tables --enable-shared --enable-pthreads --disable-indevs --cc=clang
libavutil 51. 34.101 / 51. 34.101
libavcodec 53. 59.100 / 53. 59.100
libavformat 53. 30.100 / 53. 30.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 60.100 / 2. 60.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe10c03d800] multiple edit list entries, a/v desync might occur, patch welcome
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe10c03d800] Could not find codec parameters (Video: none (blur / 0x72756C62), 160x120, 0 kb/s)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/alaindazzi/Desktop/703':
Metadata:
creation_time : 2003-12-16 16:25:56
Duration: 00:00:02.06, start: 0.000000, bitrate: 34 kb/s
Stream #0:0(eng): Video: gif (gif / 0x20666967), pal8, 160x120, 152 kb/s, 15 fps, 15 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Stream #0:1(eng): Video: none (blur / 0x72756C62), 160x120, 0 kb/s, 0.50 fps, 0.50 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Stream #0:2(eng): Video: gif (gif / 0x20666967), pal8, 160x120, 152 kb/s, 15 fps, 15 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Unsupported codec with id 0 for input stream 1
{
"streams": [
{
"index": 0,
"codec_name": "gif",
"codec_long_name": "GIF (Graphics Interchange Format)",
"codec_type": "video",
"codec_time_base": "1/600",
"codec_tag_string": "gif ",
"codec_tag": "0x20666967",
"width": 160,
"height": 120,
"has_b_frames": 0,
"pix_fmt": "pal8",
"level": -99,
"bit_rate": "152400",
"r_frame_rate": "15/1",
"avg_frame_rate": "15/1",
"time_base": "1/600",
"start_time": "0.066667",
"duration": "0.066667",
"nb_frames": "1",
"tags": {
"creation_time": "2003-12-16 16:25:56",
"language": "eng",
"handler_name": "\u0018Apple Alias Data Handler"
}
},
{
"index": 1,
"codec_type": "video",
"codec_time_base": "1/600",
"codec_tag_string": "blur",
"codec_tag": "0x72756c62",
"width": 160,
"height": 120,
"has_b_frames": 0,
"level": -99,
"bit_rate": "896",
"r_frame_rate": "1/2",
"avg_frame_rate": "1/2",
"time_base": "1/600",
"start_time": "0.066667",
"duration": "2.000000",
"nb_frames": "1",
"tags": {
"creation_time": "2003-12-16 16:25:56",
"language": "eng",
"handler_name": "\u0018Apple Alias Data Handler"
}
},
{
"index": 2,
"codec_name": "gif",
"codec_long_name": "GIF (Graphics Interchange Format)",
"codec_type": "video",
"codec_time_base": "1/600",
"codec_tag_string": "gif ",
"codec_tag": "0x20666967",
"width": 160,
"height": 120,
"has_b_frames": 0,
"pix_fmt": "pal8",
"level": -99,
"bit_rate": "152400",
"r_frame_rate": "15/1",
"avg_frame_rate": "15/1",
"time_base": "1/600",
"start_time": "0.000000",
"duration": "0.066667",
"nb_frames": "1",
"tags": {
"creation_time": "2003-12-16 16:25:56",
"language": "eng",
"handler_name": "\u0018Apple Alias Data Handler"
}
}
],
"format": {
"filename": "/Users/alaindazzi/Desktop/703",
"nb_streams": 3,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"format_long_name": "QuickTime?/MPEG-4/Motion JPEG 2000 format",
"start_time": "0.000000",
"duration": "2.066667",
"size": "8931",
"bit_rate": "34571",
"tags": {
"creation_time": "2003-12-16 16:25:56"
}
}
}
~/zend/workspaces$
Can someone help me with this issue?
Attachments
Change History
comment:1 in reply to: ↑ description Changed 15 months ago by cehoyos
- Component changed from FFmpeg to undetermined
Changed 14 months ago by alain.dazzi@…
-
attachment
633.mov
added
quick time movie contain 2 video/gif streams
comment:2 Changed 14 months ago by alain.dazzi@…
I have attached the source movie.
~/Desktop/robert$ ffmpeg -i 633.mov
ffmpeg version N-37137-g749e5dc Copyright (c) 2000-2012 the FFmpeg developers
built on Mar 16 2012 16:45:08 with clang 3.0 (tags/Apple/clang-211.10.1)
configuration: --disable-decoder=amrnb --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxvid --enable-libx264 --enable-libvpx --enable-hardcoded-tables --enable-shared --enable-pthreads --disable-indevs --cc=clang
libavutil 51. 34.101 / 51. 34.101
libavcodec 53. 59.100 / 53. 59.100
libavformat 53. 30.100 / 53. 30.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 60.100 / 2. 60.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7feb5183d800] multiple edit list entries, a/v desync might occur, patch welcome
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7feb5183d800] Could not find codec parameters (Video: none (blur / 0x72756C62), 160x120, 0 kb/s)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '633.mov':
Metadata:
creation_time : 2003-12-16 16:25:56
Duration: 00:00:02.06, start: 0.000000, bitrate: 34 kb/s
Stream #0:0(eng): Video: gif (gif / 0x20666967), pal8, 160x120, 152 kb/s, 15 fps, 15 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Stream #0:1(eng): Video: none (blur / 0x72756C62), 160x120, 0 kb/s, 0.50 fps, 0.50 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Stream #0:2(eng): Video: gif (gif / 0x20666967), pal8, 160x120, 152 kb/s, 15 fps, 15 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
At least one output file must be specified
~/Desktop/robert$
I am trying to convert it to .mp4, .3gp and .flv to post to our web site (those are the formats we support).
Here the command I use to convert it to a flv .. It is part of a transcoder (so I cut out this part and put it in a script) ...
~/Desktop/robert$ cat g
ffmpeg -y -i 633.mov -vcodec flv \
-pix_fmt yuv420p \
-b:v 900k \
-an -r 15 -vf scale="426:320" test.flv
~/Desktop/robert$
~/Desktop/robert$ ./g
ffmpeg version N-37137-g749e5dc Copyright (c) 2000-2012 the FFmpeg developers
built on Mar 16 2012 16:45:08 with clang 3.0 (tags/Apple/clang-211.10.1)
configuration: --disable-decoder=amrnb --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxvid --enable-libx264 --enable-libvpx --enable-hardcoded-tables --enable-shared --enable-pthreads --disable-indevs --cc=clang
libavutil 51. 34.101 / 51. 34.101
libavcodec 53. 59.100 / 53. 59.100
libavformat 53. 30.100 / 53. 30.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 60.100 / 2. 60.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe4f403d800] multiple edit list entries, a/v desync might occur, patch welcome
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fe4f403d800] Could not find codec parameters (Video: none (blur / 0x72756C62), 160x120, 0 kb/s)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '633.mov':
Metadata:
creation_time : 2003-12-16 16:25:56
Duration: 00:00:02.06, start: 0.000000, bitrate: 34 kb/s
Stream #0:0(eng): Video: gif (gif / 0x20666967), pal8, 160x120, 152 kb/s, 15 fps, 15 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Stream #0:1(eng): Video: none (blur / 0x72756C62), 160x120, 0 kb/s, 0.50 fps, 0.50 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Stream #0:2(eng): Video: gif (gif / 0x20666967), pal8, 160x120, 152 kb/s, 15 fps, 15 tbr, 600 tbn, 600 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
[buffer @ 0x7fe4f3c19580] w:160 h:120 pixfmt:pal8 tb:1/1000000 sar:0/1 sws_param:
[scale @ 0x7fe4f3c1a580] w:160 h:120 fmt:pal8 -> w:426 h:320 fmt:yuv420p flags:0x4
Output #0, flv, to 'test.flv':
Metadata:
creation_time : 2003-12-16 16:25:56
encoder : Lavf53.30.100
Stream #0:0(eng): Video: flv1 ([2][0][0][0] / 0x0002), yuv420p, 426x320, q=2-31, 900 kb/s, 1k tbn, 15 tbc
Metadata:
creation_time : 2003-12-16 16:25:56
handler_name : ?Apple Alias Data Handler
Stream mapping:
Press [q] to stop, ? for help
frame= 1 fps= 0 q=4.4 Lsize= 10kB time=00:00:00.13 bitrate= 600.8kbits/s
video:10kB audio:0kB global headers:0kB muxing overhead 2.704358%
~/Desktop/robert$
This creates an flv but the duration is not right. It shows a still image not an animated gif. What would be the procedure to convert this file to an flv or mp4 an preserve the animation?
Here is what was created ...
~/Desktop/robert$ ffmpeg -i test.flv
ffmpeg version N-37137-g749e5dc Copyright (c) 2000-2012 the FFmpeg developers
built on Mar 16 2012 16:45:08 with clang 3.0 (tags/Apple/clang-211.10.1)
configuration: --disable-decoder=amrnb --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxvid --enable-libx264 --enable-libvpx --enable-hardcoded-tables --enable-shared --enable-pthreads --disable-indevs --cc=clang
libavutil 51. 34.101 / 51. 34.101
libavcodec 53. 59.100 / 53. 59.100
libavformat 53. 30.100 / 53. 30.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 60.100 / 2. 60.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, flv, from 'test.flv':
Metadata:
creation_time : 2003-12-16 16:25:56
encoder : Lavf53.30.100
Duration: 00:00:00.06, start: 0.000000, bitrate: 1201 kb/s
Stream #0:0: Video: flv1, yuv420p, 426x320, 900 kb/s, 1k tbr, 1k tbn, 1k tbc
comment:3 Changed 14 months ago by cehoyos
- Keywords blur added
- Priority changed from normal to wish
- Status changed from new to open
- Reproduced by developer set
- Type changed from defect to enhancement
FFmpeg and QuickTime? show the initial gif image visually identical, the blur stream (that blurs the image when played with QuickTime?) is currently not read by FFmpeg, I don't know how likely it is that this will ever be supported.
comment:4 Changed 14 months ago by alain.dazzi@…
The blur matters but it is actually not that important to me. The real issue is that when I convert this .mov to an .flv (or .mp4 see command above), the resulting video does not play correctly. The initial content is shortened from 2.06 second to 0.06 second? I have tried different frame rates still ffmpeg is unable to convert this movie correctly. Please run ...
ffmpeg -y -i 633.mov -vcodec flv \
-pix_fmt yuv420p \
-b:v 900k \
-an -r 15 -vf scale="426:320" test.flv
and check test.flv



Replying to alain.dazzi@…:
Please first explain the issue by posting a ffmpeg command line together with its complete, uncut console output, explain what is wrong with the output file and provide a sample.