bugGnash - The GNU Flash player - Bugs: bug #24600, Some youtube videos don't play...

 
 

bug #24600: Some youtube videos don't play (codec issues?)

Submitted by:  Ed Martin <edman007>
Submitted on:  Sat 18 Oct 2008 09:04:51 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Release: trunkStatus: Fixed
Privacy: PublicAssigned to: Bastiaan Jacques <bjacques>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Mon 20 Oct 2008 09:31:03 AM UTC, comment #7:

Thanks for reporting and testing, Ed!

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Mon 20 Oct 2008 03:30:45 AM UTC, comment #6:

Great, audio and video now works with gst and ffmpeg

Ed Martin <edman007>
Sun 19 Oct 2008 11:26:26 PM UTC, comment #5:

Audio parts now also committed. Please test!

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Sun 19 Oct 2008 07:11:57 PM UTC, comment #4:

I've committed fixes for the video part of this bug to trunk (for both gstreamer and ffmpeg). Ed, can you give it a spin?

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Sun 19 Oct 2008 04:02:27 PM UTC, comment #3:

I've confirmed (with ffmpeg media handler) that FLVParser must do the following:

- not include the first two fields in the AVCVIDEOPACKET structure in the buffer.
- Pass the first buffer (if AVCVIDEOPACKET type is 0) as the VideoInfo (ffmpeg's) extradata.

Optionally, FLVParser may omit emitting the first buffer (type 0) to the decoder, so long as it is present in extradata.

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Sun 19 Oct 2008 09:42:57 AM UTC, comment #2:

I looked at gstflvdemux, Gstreamer's FLV demuxer. For video tag 7 (AVC/H264), the demuxer parses the AVCVIDEOPACKET (Adobe FLV spec, p. 9). If the packet type is 0, the demuxer uses the following AVCDecoderConfigurationRecord when negotiating for a video decoder.

So to get this video to work we'll have to either a) have VideoDecoderGst parse the video or b) make sure that the AVCDecoderConfigurationRecord is passed at VideoDecoder initialisation time. I prefer solution b, because the VideoDecoder interface does not expect any parsing to be necessary for video types 1-6.

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Sat 18 Oct 2008 09:12:01 PM UTC, comment #1:

Besides the currently missing VideoDecoder* hooks, I think there may be a bug in our FLV Parser, given that this movie plays with gstreamer when I disable the internal FLV parser (and use MediaParserGst instead).

Bastiaan Jacques <bjacques>
Project MemberIn charge of this item.
Sat 18 Oct 2008 09:04:51 PM UTC, original submission:

Some youtube videos such as http://www.youtube.com/watch?v=hJOiCsL6eD0 do not play, ffmpeg states that this video is h264 video and faad audio, in my install ffmpeg-trunk, mplayer-trunk, libx264-trunk the flv from youtube plays just fine with ffplay and mplayer, so my libraries support whatever codecs are in this video, this issue happens when gnash is compiled to use ffmpeg or gst (which uses its own version of ffmpeg, i tested with 0.10.5 gst-ffmpeg)

When attempting to play this video i get this in the log (the error differs in wording slightly between ffmpeg and gst, but otherwise the same message)

18:39:47: ERROR: Unsupported video codec 7
18:39:47: ERROR: NetStream: Could not create Video decoder: Cannot find suitable decoder for flash codec 7
18:39:47: ERROR: Could not create Audio decoder: Unsupported audio codec 10

I was talking to bjacques who came up with this patch http://pastebin.ca/raw/1230428, it does not solve the problem but removes the error message about the video codec and makes the progress bar move [no video or audio though], the errors seen when using this patch are shown below:

ERROR: Could not create Audio decoder: AudioDecoderGst: cannot handle this codec!
16:53:00: ERROR: Error decoding encoded video frame in NetStream input
16:53:00: ERROR: nextVideoFrameTimestamp returned true, but decodeNextVideoFrame returned null, I don't think this should ever happen

(those last two lines just repeat a whole lot)

other example videos

http://www.youtube.com/watch?v=cUEkOVdUjHc
http://www.youtube.com/watch?v=aYKRXx8sLYM

and i'm on x86_64, and gnash is configured as:

Renderer: cairo - GUI: GTK - Media handler: gst
Configured with: --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --localstatedir=/var --mandir=/usr/man --docdir=/usr/doc/gnash-bzr --enable-gui=gtk --enable-renderer=cairo --enable-jpeg --enable-freetype2 --enable-fontconfig --enable-Xft --enable-jemalloc --enable-media=gst --enable-gstreamer
CXXFLAGS: -O3 -fPIC -march=native -pthread -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -Wunused
Built against gstreamer version: 0.10.19
Linked against gstreamer version: 0.10.19

(again, tested with ffmpeg as well, same issue)

Ed Martin <edman007>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by bjacques (Posted a comment)
  • -unavailable- added by edman007 (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 20 Oct 2008 09:31:14 AM UTCbjacquesOpen/ClosedOpen=>Closed
    Mon 20 Oct 2008 09:31:03 AM UTCbjacquesStatusReady For Test=>Fixed
    Sun 19 Oct 2008 11:26:26 PM UTCbjacquesStatusConfirmed=>Ready For Test
      Assigned toNone=>bjacques
    Sat 18 Oct 2008 09:12:01 PM UTCbjacquesStatusNone=>Confirmed

    Back to the top


    Powered by Savane 3.1-cleanup1