[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-devel
Subject:    [gst-devel]
From:       "jp_liu" <jp_liu () astrocom ! cn>
Date:       2007-03-30 5:18:30
Message-ID: DreamMail__131830_95124810605 () mail ! astrocom ! cn
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]

[Attachment #4 (text/plain)]

Edward Hervey, Hello 

Thanks Edward and  zhangfei gao. The problem have been solved. Thanks for all your \
helps! 

jp_liu, jp_liu@astrocom.cn
2007-03-30 
----- Receiving the following content ----- 
From: Edward Hervey 
Receiver: jp_liu 
Time: 2007-03-28, 17:44:07
Subject: Re:_Re:_Re:_[gst-devel]_Re:_[gst-devel]re£º_Re:_how_to_use_qtdemux_to_demux_h264_stream_from_MP4?



Hi,

  The qtdemuxer will give you a "codec_data" buffer in the h264 caps.
That codec_data is the content of the QuickTime 'avcC' atom. Doing a
search on google for "avcC atom sps" will lead you to documents or
code describing the contents of that atom, which contains all the
information you want.

   Edward

On 3/23/07, jp_liu <jp_liu@astrocom.cn> wrote:
> 
> 
> Edward Hervey, Hello
> 
> Now I clearly understand if I get sps data , pps data and nal_unit_size, I
> can covert mp4 file to byte-stream format.
> I need to know how to get these informations from qtdemux.
> 
> jp_liu, jp_liu@astrocom.cn
> 2007-03-23
> 
> ----- Receiving the following content -----
> From: Edward Hervey
> Receiver: jp_liu
> Time: 2007-03-28, 16:43:17
> Subject:
> Re:_Re:_[gst-devel]_Re:_[gst-devel]re£º_Re:_how_to_use_qtdemux_to_demux_h264_stream_from_MP4?
>  
> 
> 
> 
> 
> Hi,
> 
> I forgot to mention that this patch doesn't solve your problem, but
> changes some behaviour in qtdemux. The real question was whether it
> broke the behaviour of your decoder or not, since with the existing
> h264 decoders it doesn't.
> 
> Hoping somebody more knowledgeable about h264 will help solve your
> problem,
> 
> Edward
> 
> On 3/28/07, jp_liu <jp_liu@astrocom.cn> wrote:
> > 
> > 
> > Edward Hervey, Hello
> > 
> > Thanks for your reply.
> > But I think you have misunderstood .
> > My problem is my decoder(buy from 3rd party) can not decode the frame
> > without sps,pps and nal unit(Bytestream). I must covert the frames to the
> > Byte-stream frames, such as add sps pps at first frame , add start code at
> > each nal unit.... so your patch can not solve my problem,but anyway,
> thanks.
> > 
> > jp_liu, jp_liu@astrocom.cn
> > 2007-03-28
> > 
> > ----- Receiving the following content -----
> > From: Edward Hervey
> > Receiver: jp_liu
> > Time: 2007-03-27, 17:18:32
> > Subject:
> > 
> Re:_[gst-devel]_Re:_[gst-devel]re£º_Re:_how_to_use_qtdemux_to_demux_h264_stream_from_MP4?
> 
> > 
> > 
> > 
> > 
> > 
> > Hi,
> > 
> > Could you also try applying the following patch fixing qtdemux so
> > that it outputs h264 buffers with pts instead of dts. If you are
> > making a software decoder you shouldn't need the dts.
> > the patch and explanations are here :
> > http://bugzilla.gnome.org/show_bug.cgi?id=423283
> > 
> > Edward
> > 
> > On 3/26/07, jp_liu <jp_liu@astrocom.cn> wrote:
> > > 
> > > 
> > > zhangfei gao, Hello
> > > 
> > > My h264 decoder support say that:
> > > I believe MP4 uses the NAL format (Need to confirm) and hence doesn't
> have
> > > the NAL Start codes. One needs to convert that to bytstream format
> because
> > > our decoders support only byte-stream format. Also one needs to do this
> > > while demuxing it from MP4 otherwise the information various slice
> > positions
> > > would be lost.
> > > 
> > > So, How should I do?
> > > 
> > > jp_liu, jp_liu@astrocom.cn
> > > 2007-03-26
> > > 
> > > ----- Receiving the following content -----
> > > From: zhangfei gao
> > > Receiver: gstreamer-devel
> > > Time: 2007-03-22, 21:24:01
> > > Subject: [gst-devel]re£º Re: how to use qtdemux to demux h264 stream from
> > > MP4?
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > hi, jp_liu
> > > 
> > > "h264.c" in ffmpeg has useful information of how to parse "codec_data"
> > which
> > > get set_caps.
> > > "codec_data" has all the nal_length, sps data and pps data.
> > > 
> > > Thanks
> > > Jan Schmidt <thaytan@noraisin.net> дµÀ£º
> > > jp_liu wrote:
> > > > Hello, gstreamer-devel
> > > > 
> > > > How to use qtdemux to demux h264 stream from MP4?
> > > > The demuxed h264 stream looks have no startcodes before every NAL
> > > > Unit. So, Some key information ( such as: SPS PPS ....) is missed. It
> > > > caused my H264 decoder can not decode the frame which demuxed by
> qtdemux
> > .
> > > > How can I solve this problem?
> > > > 
> > > 
> > > I think the information your decoder is looking for is the stuff
> > > provided by the 'codec_data' in the caps. This is the header information
> > > that quicktime stores and provides separately from the actual data
> stream.
> > > 
> > > Regards,
> > > Jan.
> > > 
> > > 
> > 
> -------------------------------------------------------------------------
> > > Take Surveys. Earn Cash. Influence the Future of IT
> > > Join SourceForge.net's Techsay panel and you'll get the chance to share
> > your
> > > opinions on IT & business topics through brief surveys-and earn cash
> > > 
> > 
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________
> 
> > > gstreamer-devel mailing list
> > > gstreamer-devel@lists.sourceforge.net
> > > 
> > 
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> > > 
> > > 
> > > 
> > > ________________________________
> > > ÇÀ×¢ÑÅ»¢Ãâ·ÑÓÊÏä-3.5GÈÝÁ¿£¬20M¸½¼þ£¡
> > > 
> > > 
> > > 
> > 
> -------------------------------------------------------------------------
> > > Take Surveys. Earn Cash. Influence the Future of IT
> > > Join SourceForge.net's Techsay panel and you'll get the chance to share
> > your
> > > opinions on IT & business topics through brief surveys-and earn cash
> > > 
> > 
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > _______________________________________________
> > > gstreamer-devel mailing list
> > > gstreamer-devel@lists.sourceforge.net
> > > 
> > 
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> > > 
> > > 
> > 
> > 
> > --
> > Edward Hervey
> > Multimedia editing developer / Fluendo S.A.
> > http://www.pitivi.org/
> > 
> 
> 
> --
> Edward Hervey
> Multimedia editing developer / Fluendo S.A.
> http://www.pitivi.org/
> 


-- 
Edward Hervey
Multimedia editing developer / Fluendo S.A.
http://www.pitivi.org/


[Attachment #5 (text/html)]

<HTML><HEAD><TITLE></TITLE>
<META content="KsDHTMLEDLib.ocx, FreeWare HTML Editor 1.164.2, ?Kurt Senfer" 
name=GENERATOR>
<META http-equiv=Content-Type content="text/html; charset=GB2312"></HEAD>
<BODY style="FONT-SIZE: 8pt; FONT-FAMILY: Tahoma" leftMargin=5 topMargin=5 
#ffffff>
<DIV>Edward Hervey, Hello </DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks Edward and&nbsp;&nbsp;zhangfei gao. The problem have been solved. 
Thanks for all your helps!&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><!--AID_FROMNAME_BEGIN-->jp_liu<!--AID_FROMNAME_END-->, <A 
href="mailto:<!--AID_FROMADDRESS_BEGIN-->jp_liu@astrocom.cn<!--AID_FROMADDRESS_END-->" \
><!--AID_FROMADDRESS_BEGIN-->jp_liu@astrocom.cn<!--AID_FROMADDRESS_END--></A></DIV> \
> <DIV>2007-03-30 </DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 \
2px solid; MARGIN-RIGHT: 0px">  <DIV 
  style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; LINE-HEIGHT: normal; FONT-STYLE: \
normal; FONT-VARIANT: normal">-----   Receiving the following content ----- </DIV>
  <DIV 
  style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; BACKGROUND: #e4e4e4; LINE-HEIGHT: \
normal; FONT-STYLE: normal; FONT-VARIANT: normal; font-color: black"><B>From:</B>   \
<A href="mailto:bilboed@gmail.com">Edward Hervey</A> </DIV>  <DIV 
  style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; LINE-HEIGHT: normal; FONT-STYLE: \
normal; FONT-VARIANT: normal"><B>Receiver:</B>   <A \
href="mailto:jp_liu@astrocom.cn">jp_liu</A> </DIV>  <DIV 
  style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; LINE-HEIGHT: normal; FONT-STYLE: \
normal; FONT-VARIANT: normal"><B>Time:</B>   2007-03-28, 17:44:07</DIV>
  <DIV 
  style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; LINE-HEIGHT: normal; FONT-STYLE: \
normal; FONT-VARIANT: normal"><B>Subject:</B>   \
Re:_Re:_Re:_[gst-devel]_Re:_[gst-devel]re£º_Re:_how_to_use_qtdemux_to_demux_h264_stream_from_MP4?</DIV>
  <DIV><BR></DIV>
  <DIV></DIV>
  <DIV></DIV>
  <DIV>
  <DIV>Hi,<BR><BR>&nbsp;&nbsp;The qtdemuxer will give you a "codec_data" buffer 
  in the h264 caps.<BR>That codec_data is the content of the QuickTime 'avcC' 
  atom. Doing a<BR>search on google for "avcC atom sps" will lead you to 
  documents or<BR>code describing the contents of that atom, which contains all 
  the<BR>information you want.<BR><BR>&nbsp;&nbsp;&nbsp;Edward<BR><BR>On 
  3/23/07, jp_liu &lt;<A 
  href="mailto: jp_liu@astrocom.cn">jp_liu@astrocom.cn</A>&gt; 
  wrote:<BR>&gt;<BR>&gt;<BR>&gt; Edward Hervey, Hello<BR>&gt;<BR>&gt; Now I 
  clearly understand if I get sps data , pps data and nal_unit_size, I<BR>&gt; 
  can covert mp4 file to byte-stream format.<BR>&gt; I need to know how to get 
  these informations from qtdemux.<BR>&gt;<BR>&gt; jp_liu, <A 
  href="mailto: jp_liu@astrocom.cn">jp_liu@astrocom.cn</A><BR>&gt; 
  2007-03-23<BR>&gt;<BR>&gt; ----- Receiving the following content -----<BR>&gt; 
  From: Edward Hervey<BR>&gt; Receiver: jp_liu<BR>&gt; Time: 2007-03-28, 
  16:43:17<BR>&gt; Subject:<BR>&gt; 
  Re:_Re:_[gst-devel]_Re:_[gst-devel]re£º_Re:_how_to_use_qtdemux_to_demux_h264_stream_from_MP4?<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>&gt; \
  Hi,<BR>&gt;<BR>&gt; I forgot to mention that this patch doesn't solve your 
  problem, but<BR>&gt; changes some behaviour in qtdemux. The real question was 
  whether it<BR>&gt; broke the behaviour of your decoder or not, since with the 
  existing<BR>&gt; h264 decoders it doesn't.<BR>&gt;<BR>&gt; Hoping somebody 
  more knowledgeable about h264 will help solve your<BR>&gt; 
  problem,<BR>&gt;<BR>&gt; Edward<BR>&gt;<BR>&gt; On 3/28/07, jp_liu &lt;<A 
  href="mailto: jp_liu@astrocom.cn">jp_liu@astrocom.cn</A>&gt; wrote:<BR>&gt; 
  &gt;<BR>&gt; &gt;<BR>&gt; &gt; Edward Hervey, Hello<BR>&gt; &gt;<BR>&gt; &gt; 
  Thanks for your reply.<BR>&gt; &gt; But I think you have misunderstood 
  .<BR>&gt; &gt; My problem is my decoder(buy from 3rd party) can not decode the 
  frame<BR>&gt; &gt; without sps,pps and nal unit(Bytestream). I must covert the 
  frames to the<BR>&gt; &gt; Byte-stream frames, such as add sps pps at first 
  frame , add start code at<BR>&gt; &gt; each nal unit.... so your patch can not 
  solve my problem,but anyway,<BR>&gt; thanks.<BR>&gt; &gt;<BR>&gt; &gt; jp_liu, 
  <A href="mailto: jp_liu@astrocom.cn">jp_liu@astrocom.cn</A><BR>&gt; &gt; 
  2007-03-28<BR>&gt; &gt;<BR>&gt; &gt; ----- Receiving the following content 
  -----<BR>&gt; &gt; From: Edward Hervey<BR>&gt; &gt; Receiver: jp_liu<BR>&gt; 
  &gt; Time: 2007-03-27, 17:18:32<BR>&gt; &gt; Subject:<BR>&gt; &gt;<BR>&gt; 
  Re:_[gst-devel]_Re:_[gst-devel]re£º_Re:_how_to_use_qtdemux_to_demux_h264_stream_from_MP4?<BR>&gt; \
  &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; 
  Hi,<BR>&gt; &gt;<BR>&gt; &gt; Could you also try applying the following patch 
  fixing qtdemux so<BR>&gt; &gt; that it outputs h264 buffers with pts instead 
  of dts. If you are<BR>&gt; &gt; making a software decoder you shouldn't need 
  the dts.<BR>&gt; &gt; the patch and explanations are here :<BR>&gt; &gt; <A 
  href="http://bugzilla.gnome.org/show_bug.cgi?id=423283">http://bugzilla.gnome.org/show_bug.cgi?id=423283</A><BR>&gt; \
  &gt;<BR>&gt; &gt; Edward<BR>&gt; &gt;<BR>&gt; &gt; On 3/26/07, jp_liu &lt;<A 
  href="mailto: jp_liu@astrocom.cn">jp_liu@astrocom.cn</A>&gt; wrote:<BR>&gt; 
  &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; zhangfei gao, Hello<BR>&gt; &gt; 
  &gt;<BR>&gt; &gt; &gt; My h264 decoder support say that:<BR>&gt; &gt; &gt; I 
  believe MP4 uses the NAL format (Need to confirm) and hence doesn't<BR>&gt; 
  have<BR>&gt; &gt; &gt; the NAL Start codes. One needs to convert that to 
  bytstream format<BR>&gt; because<BR>&gt; &gt; &gt; our decoders support only 
  byte-stream format. Also one needs to do this<BR>&gt; &gt; &gt; while demuxing 
  it from MP4 otherwise the information various slice<BR>&gt; &gt; 
  positions<BR>&gt; &gt; &gt; would be lost.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; 
  So, How should I do?<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; jp_liu, <A 
  href="mailto: jp_liu@astrocom.cn">jp_liu@astrocom.cn</A><BR>&gt; &gt; &gt; 
  2007-03-26<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; ----- Receiving the following 
  content -----<BR>&gt; &gt; &gt; From: zhangfei gao<BR>&gt; &gt; &gt; Receiver: 
  gstreamer-devel<BR>&gt; &gt; &gt; Time: 2007-03-22, 21:24:01<BR>&gt; &gt; &gt; 
  Subject: [gst-devel]re£º Re: how to use qtdemux to demux h264 stream 
  from<BR>&gt; &gt; &gt; MP4?<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; 
  &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; 
  hi, jp_liu<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; "h264.c" in ffmpeg has useful 
  information of how to parse "codec_data"<BR>&gt; &gt; which<BR>&gt; &gt; &gt; 
  get set_caps.<BR>&gt; &gt; &gt; "codec_data" has all the nal_length, sps data 
  and pps data.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; Thanks<BR>&gt; &gt; &gt; Jan 
  Schmidt &lt;<A 
  href="mailto: thaytan@noraisin.net">thaytan@noraisin.net</A>&gt; дµÀ£º<BR>&gt; 
  &gt; &gt; jp_liu wrote:<BR>&gt; &gt; &gt; &gt; Hello, gstreamer-devel<BR>&gt; 
  &gt; &gt; &gt;<BR>&gt; &gt; &gt; &gt; How to use qtdemux to demux h264 stream 
  from MP4?<BR>&gt; &gt; &gt; &gt; The demuxed h264 stream looks have no 
  startcodes before every NAL<BR>&gt; &gt; &gt; &gt; Unit. So, Some key 
  information ( such as: SPS PPS ....) is missed. It<BR>&gt; &gt; &gt; &gt; 
  caused my H264 decoder can not decode the frame which demuxed by<BR>&gt; 
  qtdemux<BR>&gt; &gt; .<BR>&gt; &gt; &gt; &gt; How can I solve this 
  problem?<BR>&gt; &gt; &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; I think 
  the information your decoder is looking for is the stuff<BR>&gt; &gt; &gt; 
  provided by the 'codec_data' in the caps. This is the header 
  information<BR>&gt; &gt; &gt; that quicktime stores and provides separately 
  from the actual data<BR>&gt; stream.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; 
  Regards,<BR>&gt; &gt; &gt; Jan.<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; 
  &gt;<BR>&gt; 
  -------------------------------------------------------------------------<BR>&gt; 
  &gt; &gt; Take Surveys. Earn Cash. Influence the Future of IT<BR>&gt; &gt; 
  &gt; Join SourceForge.net's Techsay panel and you'll get the chance to 
  share<BR>&gt; &gt; your<BR>&gt; &gt; &gt; opinions on IT &amp; business topics 
  through brief surveys-and earn cash<BR>&gt; &gt; &gt;<BR>&gt; &gt;<BR>&gt; <A 
  href="http://www.techsay.com/default.php?page=join.php&amp;p=sourceforge&amp;CID=DEV \
DEV_______________________________________________">http://www.techsay.com/default.php \
?page=join.php&amp;p=sourceforge&amp;CID=DEVDEV_______________________________________________</A><BR>&gt; \
  &gt; &gt; gstreamer-devel mailing list<BR>&gt; &gt; &gt; <A 
  href="mailto: gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</A><BR>&gt; \
  &gt; &gt;<BR>&gt; &gt;<BR>&gt; <A 
  href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</A><BR>&gt; \
  &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt; 
  ________________________________<BR>&gt; &gt; &gt; 
  ÇÀ×¢ÑÅ»¢Ãâ·ÑÓÊÏä-3.5GÈÝÁ¿£¬20M¸½¼þ£¡<BR>&gt; &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; \
&gt;   &gt;<BR>&gt; &gt;<BR>&gt; 
  -------------------------------------------------------------------------<BR>&gt; 
  &gt; &gt; Take Surveys. Earn Cash. Influence the Future of IT<BR>&gt; &gt; 
  &gt; Join SourceForge.net's Techsay panel and you'll get the chance to 
  share<BR>&gt; &gt; your<BR>&gt; &gt; &gt; opinions on IT &amp; business topics 
  through brief surveys-and earn cash<BR>&gt; &gt; &gt;<BR>&gt; &gt;<BR>&gt; <A 
  href="http://www.techsay.com/default.php?page=join.php&amp;p=sourceforge&amp;CID=DEV \
DEV">http://www.techsay.com/default.php?page=join.php&amp;p=sourceforge&amp;CID=DEVDEV</A><BR>&gt; \
  &gt; &gt; _______________________________________________<BR>&gt; &gt; &gt; 
  gstreamer-devel mailing list<BR>&gt; &gt; &gt; <A 
  href="mailto: gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</A><BR>&gt; \
  &gt; &gt;<BR>&gt; &gt;<BR>&gt; <A 
  href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</A><BR>&gt; \
  &gt; &gt;<BR>&gt; &gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; --<BR>&gt; 
  &gt; Edward Hervey<BR>&gt; &gt; Multimedia editing developer / Fluendo 
  S.A.<BR>&gt; &gt; <A 
  href="http://www.pitivi.org/">http://www.pitivi.org/</A><BR>&gt; 
  &gt;<BR>&gt;<BR>&gt;<BR>&gt; --<BR>&gt; Edward Hervey<BR>&gt; Multimedia 
  editing developer / Fluendo S.A.<BR>&gt; <A 
  href="http://www.pitivi.org/">http://www.pitivi.org/</A><BR>&gt;<BR><BR><BR>-- 
  <BR>Edward Hervey<BR>Multimedia editing developer / Fluendo S.A.<BR><A 
  href="http://www.pitivi.org/">http://www.pitivi.org/</A><BR></DIV></DIV></BLOCKQUOTE></BODY></HTML>




-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic