#5049 closed defect (fixed)
Strange bug when converting to .webm
Reported by: | Alexander | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | mkv opus |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
Video converted to .webm format with ffmpeg defaults (video: vp9, audio: opus) don't playing with Mozilla FireFox. In Chromium-based browsers and videoplayers MPlayer, VLC -- playing is Ok. I write bugreport to Mozilla and it confirmed: https://bugzilla.mozilla.org/show_bug.cgi?id=1227680
But stay question: from here source of this bug: 3 (!) sources video, FFmpeg or FireFox player ? (I nay try convert source video in raw and pcm.)
3 sources of this video (wget needed):
http://b1.m24.ru/c/540647.m3u8
http://b1.m24.ru/c/540647.1.webm
http://b1.m24.ru/c/540647.576p.mp4
How to reproduce:
% ffmpeg -i infile.avi -format webm outfile.webm ffmpeg version 2.8.2-1 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 5.2.1 (Debian 5.2.1-23) 20151028 built on Linux 3.16-1-686-pae #1 SMP Debian 3.16.2-2 (2014-09-08) i686 GNU/Linux
Resulted bugged file is here: http://vek-home.ru/bp_c.webm
If I change audiocodec to libvorbis, then bug leave: http://vek-home.ru/bp101.webm
Other files (from other sources) converted with default options and playing in FireFox normally.
For example: http://vek-home.ru/Alla_KN4.webm
Change History (9)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
Good, I be make FFmpeg from sources from GIT. But may be FFmpeg developers can inspect, check or validate sources of video (and may be result of converting?) by use self tools and colossal wisdom in videoprocessing. I think, FireFox developers or fix or hack bug on self side, but strange that it occure. May be it research make FFmpeg more powerfull?
comment:3 by , 8 years ago
I make FFmpeg from GIT sources. Configure and Make no errors gives. Key -codecs show list, contain vp8, vp9 and opus. When I run ffmpeg -i outfile.avi -format webm outfileGIT.webm get message:
Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> ? (?)) Stream #0:1 -> #0:1 (aac (native) -> vorbis (native)) Encoder (codec vp8) not found for output stream #0:0
When I run ffmpeg -i outfile.avi -acodec opus -vcodec vp9 -format webm outfileGIT.webm :
Input #0, avi, from 'outfile.avi': Metadata: encoder : Lavf56.40.101 Duration: 00:02:26.04, start: 0.000000, bitrate: 1366 kb/s Stream #0:0: Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 788x576 [SAR 2560:2561 DAR 160:117], 1257 kb/s, 50 fps, 25 tbr, 50 tbn, 50 tbc Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 32000 Hz, stereo, fltp, 95 kb/s Unknown encoder 'vp9'
ffmpeg version N-76960-g25e37f5 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 5.2.1 (Debian 5.2.1-22) 20151010 configuration: libavutil 55. 9.100 / 55. 9.100 libavcodec 57. 16.101 / 57. 16.101 libavformat 57. 19.100 / 57. 19.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 17.100 / 6. 17.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101
comment:4 by , 8 years ago
You have to run configure with the options --enable-libvpx --enable-libopus
if you want to use the vp9 and the opus encoder.
follow-up: 8 comment:6 by , 8 years ago
News in https://bugzilla.mozilla.org/show_bug.cgi?id=1227680 :
http://vek-home.ru/bp_c.webm fails because the CodecDelay Matroska element doesn't match Pre-Skip in the Opus header. This is a known ffmpeg bug (and chrome bug for not rejecting the file).
[Child 60879] WARNING: Invalid Opus header: CodecDelay and pre-skip do not match!: file /Users/giles/firefox/dom/media/platforms/agnostic/OpusDecoder.cpp, line 76
Comment 6 Ralph Giles (:rillian) 2016-01-11 19:16:15 PST
This was fixed in ffmpeg January 6 in commit c3c22bee6362737cf290929b7f31df9fb88da983.
https://trac.ffmpeg.org/ticket/5121
* This bug has been marked as a duplicate of bug 1227153 *
comment:7 by , 8 years ago
Component: | undetermined → avformat |
---|---|
Keywords: | mkv opus added |
Resolution: | → fixed |
Status: | new → closed |
Version: | unspecified → git-master |
Thank you for testing again!
For future tickets, please remember to provide the FFmpeg command line that allows to reproduce the issue together with the complete, uncut console output.
comment:8 by , 8 years ago
Replying to Alexander2015:
http://vek-home.ru/bp_c.webm fails because the CodecDelay Matroska element doesn't match Pre-Skip in the Opus header. This is a known ffmpeg bug
(and chrome bug for not rejecting the file).
While we all appreciated the help of the Firefox developers when fixing this bug very much, I consider this argument mostly absurd.
comment:9 by , 8 years ago
I recompile FFmpeg from new sources and confirm, that conversion now works. Thank You !
Do I understand correctly that you want to report that Firefox fails to play stereo opus audio? Is there anything that the FFmpeg developers can do to fix this issue in Firefox?
Or do I misunderstand? If there is an issue that can be fixed within FFmpeg, please test current FFmpeg git head and provide the command line that allows to reproduce the issue together with the complete, uncut console output to make this a valid ticket.