Opened 4 years ago

Closed 4 years ago

#1183 closed defect (fixed)

MP4->webm stopped playing in firefox (with git bisect)

Reported by: MarkRose Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: webm regression vorbis audio
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Recently the webm files generated by FFmpeg stopped working in Firefox (although they play fine in Chrome). I've compiled FFmpeg with the latest git of libvpx and x264. Using git bisect, the bad commit is somewhere between 967facb6950549d0cc4e0ba79a056ebc6f93a049 (which configures/compiles with make and produces a bad webm file) and f1fdd208cc0a1fce7aaaf6b0fe72b013525f49e0 (which configures/compiles with make and produces a good webm file). The intermediate commits don't configure properly with the options I use (they complain about an unrecognized --enable-postproc).

I'm compiling ffmpeg with: ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi && make clean && make

I'm running ffmpeg like: ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434.webm

The mp4 file is a file outputted from an ffmpeg compiled last week.

I'm doing all the compiling on an up-to-date 64-bit Ubuntu 11.10.

Attachments (6)

7000000009434.mp4 (2.0 MB) - added by MarkRose 4 years ago.
Source video file (created with ffmpeg)
7000000009434-2330eb14-video.webm.cut (2.4 MB) - added by MarkRose 4 years ago.
Produced video that plays fine.
7000000009434-2330eb14.webm.cut (2.4 MB) - added by MarkRose 4 years ago.
Video and audio file that freezes.
7000000009434-2330eb14-audio.webm (103.7 KB) - added by MarkRose 4 years ago.
Audio that freezes.
7000000009434-libvorbis.c-audio.webm (103.7 KB) - added by MarkRose 4 years ago.
Latest git with libvorbis.c from f1fdd208.
7000000009434-libvorbis.c.webm.cut (2.4 MB) - added by MarkRose 4 years ago.
Audio + video file produced with latest git and libvorbis from f1fdd208 (WORKS).

Change History (22)

Changed 4 years ago by MarkRose

Source video file (created with ffmpeg)

comment:1 Changed 4 years ago by cehoyos

  • Keywords firefox removed

Complete, uncut console output missing.

Is the problem also reproducible with -an / -vn?
Is the problem fixed in the newer revision if you use libavcodec/libvorbis.c (and possibly libavcodec/Makefile) from the older revision?

comment:2 Changed 4 years ago by MarkRose

The console output doesn't reveal much.

Good webm console output (f1fdd208cc0a1fce7aaaf6b0fe72b013525f49e0):

ffmpeg version N-37074-gf1fdd20 Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr 10 2012 00:16:34 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  2.100 / 54.  2.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 65.102 /  2. 65.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  7.100 /  0.  7.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1b143a0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':                                                                                                                                                                                                                                                                                
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : 
[buffer @ 0x1b132a0] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x1b31c20] v1.0.0-151-g24ccd56                                                                                                                                                                                                                                                                                                    
Output #0, webm, to '7000000009434.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.2.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, 2 channels, flt, 48 kb/s
    Metadata:
      handler_name    : 
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 39 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

Bad webm console output (967facb6950549d0cc4e0ba79a056ebc6f93a049):

ffmpeg version N-37101-g967facb Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr  9 2012 23:30:05 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  2.100 / 54.  2.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 65.102 /  2. 65.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  7.100 /  0.  7.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x29423a0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':                                                                                                                                                                                                                                                                                
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : 
[buffer @ 0x2941440] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x295fc20] v1.0.0-151-g24ccd56                                                                                                                                                                                                                                                                                                    
Output #0, webm, to '7000000009434.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.2.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, 2 channels, flt, 48 kb/s
    Metadata:
      handler_name    : 
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 39 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

I didn't try to reproduce the problem without video/audio (I need both). Audio does seem to keep playing in Firefox while the video freezes.

I may have time to play with the libvorbis.c tomorrow.

comment:3 follow-up: Changed 4 years ago by magon

I do have the same problem with ffmpeg version 0.10.2. And the problem is still there even without audio.

Version 0, edited 4 years ago by magon (next)

comment:4 in reply to: ↑ 3 Changed 4 years ago by cehoyos

Replying to magon:

I do have the same problem with ffmpeg version 0.10.2.

Please test current git head and please provide complete, uncut console output.

And the problem is still there even without audio.

If I understand correctly, please provide output with -an

comment:5 Changed 4 years ago by magon

Ok, tested against current git head(at least I hope it is).

Video & Audio:

ffmpeg -y -i "/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg" -codec:v libvpx -vpre libvpx-360p -quality good -cpu-used 0 -b:v 1200k -qmin 10 -qmax 42 -maxrate 1200k -bufsize 2400k -threads 2  -vf scale=854:480 -codec:a libvorbis -ar 44100 -b:a 128k -f webm /home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm
ffmpeg version N-40282-gb197c1c Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 18:34:11 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cxxflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vdpau --enable-gnutls --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libaacplus --enable-nonfree --enable-libfaac --enable-nonfree --enable-libdc1394 --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --enable-libpulse --disable-outdev=oss --enable-libfreetype --enable-pthreads --enable-libopencore-amr  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.102 /  2. 72.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mpeg, from '/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg':
  Duration: 00:00:04.76, start: 0.111722, bitrate: 6487 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9100 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
[buffer @ 0x8a29d00] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 sws_param:flags=2
[scale @ 0x8a3fe50] w:720 h:576 fmt:yuv420p sar:64/45 -> w:854 h:480 fmt:yuv420p sar:1280/1281 flags:0x4
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x8a2a7e0] v0.9.6
Output #0, webm, to '/home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Video: vp8, yuv420p, 854x480 [SAR 1280:1281 DAR 16:9], q=10-42, 768 kb/s, 1k tbn, 25 tbc
    Stream #0:1: Audio: vorbis, 44100 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libvpx)
  Stream #0:1 -> #0:1 (ac3 -> libvorbis)
Press [q] to stop, [?] for help
[mpeg2video @ 0x8a29770] warning: first frame is no keyframe
frame=  120 fps=7.1 q=0.0 Lsize=     576kB time=00:00:04.80 bitrate= 983.1kbits/s
video:494kB audio:75kB global headers:4kB muxing overhead 0.501624%

Video:

ffmpeg -y -i "/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg" -codec:v libvpx -vpre libvpx-360p -quality good -cpu-used 0 -b:v 1200k -qmin 10 -qmax 42 -maxrate 1200k -bufsize 2400k -threads 2  -vf scale=854:480 -an -f webm /home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm
ffmpeg version N-40282-gb197c1c Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 18:34:11 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cxxflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vdpau --enable-gnutls --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libaacplus --enable-nonfree --enable-libfaac --enable-nonfree --enable-libdc1394 --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --enable-libpulse --disable-outdev=oss --enable-libfreetype --enable-pthreads --enable-libopencore-amr  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.102 /  2. 72.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mpeg, from '/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg':
  Duration: 00:00:04.76, start: 0.111722, bitrate: 6487 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9100 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
[buffer @ 0x97ec2a0] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 sws_param:flags=2
[scale @ 0x97eabd0] w:720 h:576 fmt:yuv420p sar:64/45 -> w:854 h:480 fmt:yuv420p sar:1280/1281 flags:0x4
[libvpx @ 0x97eb670] v0.9.6
Output #0, webm, to '/home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Video: vp8, yuv420p, 854x480 [SAR 1280:1281 DAR 16:9], q=10-42, 768 kb/s, 1k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libvpx)
Press [q] to stop, [?] for help
[mpeg2video @ 0x97ea770] warning: first frame is no keyframe
frame=  120 fps=7.6 q=0.0 Lsize=     498kB time=00:00:04.80 bitrate= 849.3kbits/s
video:496kB audio:0kB global headers:0kB muxing overhead 0.260896%

Audio:

ffmpeg -y -i "/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg" -vn -codec:a libvorbis -ar 44100 -b:a 128k -f webm /home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm
ffmpeg version N-40282-gb197c1c Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 18:34:11 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cxxflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vdpau --enable-gnutls --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libaacplus --enable-nonfree --enable-libfaac --enable-nonfree --enable-libdc1394 --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --enable-libpulse --disable-outdev=oss --enable-libfreetype --enable-pthreads --enable-libopencore-amr  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.102 /  2. 72.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mpeg, from '/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg':
  Duration: 00:00:04.76, start: 0.111722, bitrate: 6487 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9100 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
Output #0, webm, to '/home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Audio: vorbis, 44100 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (ac3 -> libvorbis)
Press [q] to stop, [?] for help
size=      64kB time=00:00:04.80 bitrate= 109.5kbits/s    
video:0kB audio:58kB global headers:4kB muxing overhead 3.141131%

Non of them works in firefox 4 (ffmpeg 0.10.2 video&audio also tested on current firefox).
Every video does play in mplayer. Audio plays in vlc(my VLC seems to not have VP80 codec).

comment:6 Changed 4 years ago by cehoyos

  • Keywords regression added
  • Priority changed from normal to important
  • Status changed from new to open
  • Version changed from unspecified to git-master

Can you confirm that all three commands produce firefox-playable files with f1fdd20 (git checkout f1fdd20)?

comment:7 Changed 4 years ago by magon

Ok. The problem is still there in f1fdd20. So this seems unrelevant.

I am upgrading firefox right now. When I have current firefox, I will do new tests.

P.S.: But still the firefox 4 is able to play youtube.com webm videos. And also test video from http://videojs.com/.

Last edited 4 years ago by magon (previous) (diff)

comment:8 Changed 4 years ago by magon

Ok. Conclusion is simple. Wrong was web server.
I was not suspecting web server at first, because I have used apache AND django development server. Both
looked the same, firefox not working, chrome working.
Solution is to make shure, that webm video is sent with mime-type 'video/webm'. Seems that it is important for firefox, but is unimportant for chrome. It works both for ffmpeg 0.10.2 and for git head, with video & audio. I am still using firefox 4.

Please mark this as invalid. I do apologize.

comment:9 Changed 4 years ago by reimar

  • Resolution set to invalid
  • Status changed from open to closed

Ok, thanks for informing us.

comment:10 Changed 4 years ago by MarkRose

  • Resolution invalid deleted
  • Status changed from closed to reopened

*MY* bug is still not fixed, nor is it invalid.

I tested just now with recompiling the latest git of libvpx, x264, and ffmpeg (2330eb14). Webm videos still don't play in Firefox (but plays in Chrome). The bug exists whether serving over HTTP, HTTPS, or straight off the filesystem (file://tmp/7000000009434.webm), and older version off FFmpeg worked fine over both HTTP and HTTPS, so having a mime-type issues are irrelevant to my bug.

A video only webm file works. Webm files with audio (vorbis) fail.

Here is the full output (with video and audio -- freezes):

$ ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-2330eb14.webm
ffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 20:12:24 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1b150e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
[buffer @ 0x1b111a0] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2
[scale @ 0x1b119a0] w:640 h:358 fmt:yuv420p sar:0/1 -> w:640 h:358 fmt:yuv420p sar:0/1 flags:0x4
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x1b27520] v1.0.0-183-g73423f7
Output #0, webm, to '7000000009434-2330eb14.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 17 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

Here is the full output (video only -- plays):

ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -an 7000000009434-2330eb14-video.webmffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 20:12:24 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x23f70e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
[buffer @ 0x2408f40] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2
[scale @ 0x2415040] w:640 h:358 fmt:yuv420p sar:0/1 -> w:640 h:358 fmt:yuv420p sar:0/1 flags:0x4
[libvpx @ 0x2409520] v1.0.0-183-g73423f7
Output #0, webm, to '7000000009434-2330eb14-video.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
Press [q] to stop, [?] for help
frame=  533 fps= 14 q=0.0 Lsize=    3594kB time=00:00:26.23 bitrate=1122.2kbits/s    
video:3590kB audio:0kB global headers:0kB muxing overhead 0.119977%

Here is the full output (audio only -- freezes):

ffmpeg -y -i 7000000009434.mp4 -vn -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-2330eb14-audio.webm
ffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 20:12:24 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x18eb0e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
Output #0, webm, to '7000000009434-2330eb14-audio.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:1 -> #0:0 (aac -> libvorbis)
Press [q] to stop, [?] for help
size=     104kB time=00:00:26.34 bitrate=  32.2kbits/s    
video:0kB audio:95kB global headers:4kB muxing overhead 4.901912%

Changed 4 years ago by MarkRose

Produced video that plays fine.

Changed 4 years ago by MarkRose

Video and audio file that freezes.

Changed 4 years ago by MarkRose

Audio that freezes.

comment:11 Changed 4 years ago by cehoyos

Did you try with older libvorbis.c ?

comment:12 Changed 4 years ago by MarkRose

Haven't yet. I'll give it a whirl shortly.

comment:13 Changed 4 years ago by MarkRose

Using libvorbis.c from f1fdd208 works. It produces both audio+video and audio only files that work fine.

Audio + video:

ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-libvorbis.c.webm
ffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  3 2012 00:00:25 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x36520e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
[buffer @ 0x364dfc0] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2
[scale @ 0x364e7c0] w:640 h:358 fmt:yuv420p sar:0/1 -> w:640 h:358 fmt:yuv420p sar:0/1 flags:0x4
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x3664520] v1.0.0-183-g73423f7
Output #0, webm, to '7000000009434-libvorbis.c.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 17 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

Audio:

ffmpeg -y -i 7000000009434.mp4 -vn -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-libvorbis.c-audio.webmffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  3 2012 00:00:25 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x307b0e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
Output #0, webm, to '7000000009434-libvorbis.c-audio.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:1 -> #0:0 (aac -> libvorbis)
Press [q] to stop, [?] for help
size=     104kB time=00:00:26.35 bitrate=  32.2kbits/s    
video:0kB audio:95kB global headers:4kB muxing overhead 4.901912%

Changed 4 years ago by MarkRose

Latest git with libvorbis.c from f1fdd208.

Changed 4 years ago by MarkRose

Audio + video file produced with latest git and libvorbis from f1fdd208 (WORKS).

comment:14 Changed 4 years ago by cehoyos

  • Component changed from undetermined to avcodec

Related to e5aab2d.

Which firefox version did you test?

Did you see problems with another playback application?

comment:15 Changed 4 years ago by MarkRose

I tried in Firefox 11 and 12. It doesn't work on any platform (Linux, Mac, Windows).

I haven't seen problems in any other applications that I've tried (Google Chrome, Dragon, VLC, Kaffeine, Totem).

comment:16 Changed 4 years ago by michael

  • Keywords vorbis audio added
  • Reproduced by developer set
  • Resolution set to fixed
  • Status changed from reopened to closed

Should be fixed

Note: See TracTickets for help on using tickets.