Menu

Receiving H.264/RTP & writing Depacketizer

user
2006-06-12
2013-05-09
  • Nobody/Anonymous

    Hello,

    I am writing a monitoring program for DVB-H that should also play H.264/RTP and HE-AAC/RTP streams. Therefore I already installed successfully FOBS4JMF and integrated a java player in my program. It even works and plays H.264 Files and HE-AAC Files from my harddisk.

    Now I'd like to play H.264 video which the program receives in a RTP stream. As I tested it with the >>AVReceive2.java<< from the SUN/JMF Solutions page it told me:

    "No format has been registered for RTP payload type 96".

    So obviously I have to write a Custom Depacketizer for this type of payload, so that the fobs4jmf enabled java player can decode the h.264/RTP stream correctly?!

    I've already read the example file for a depacketizer ("PcmDepacketizer.java") from the sun homepage  but I think that a Depacketizer for H.264 (and HE-AAC) is more complicated. Is that right?

    Moreover I also downloaded the rfc specifications for the rtp transport, h.264 and different payload types. Will I need them for writing the h.264 depacketizer?

    Does anybody have experience in writing a custom depacketizer? Perhaps even for H.264 or HE-AAC? Or does anybody can give me some information or hints concerning this subject?

    Thanks a lot,
    Benjamin

     
    • Nobody/Anonymous

      Additional Information:

      For a better understanding I'll add the code of a sdp file that includes all necessary information about the h.264 and he-aac streams (payload type, port, rate, etc...)

      -----------------------
      v=0
      o=FhG-HHI 2890844526 2890842807 IN IP4 127.0.0.1
      s=/live.mp4
      u=http:///
      e=admin@
      c=IN IP4 225.0.1.3/64
      a=control:*
      a=range:npt=0-3000000
      m=video 11030 RTP/AVP 96
      a=rtpmap:96 H264/90000
      a=control:trackID=1
      a=mpeg4-esid:201
      a=fmtp:96 profile-level-id=42c00c; paketization-mode=1; sprop-parameter-sets=Z0LADPICg+I=,aNuOIA==;
      m=audio 11032 RTP/AVP 97
      a=rtpmap:97  mpeg4-generic/48000
      a=control:trackID=2
      a=mpeg4-esid:101
      a=fmtp:97 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1310; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1;
      ----------------------

      Does the sdp code include enough information to write a custom depacketizer for both codecs? Or is something else necessary?

      best regards,
      Benjamin

       
    • Jose San Pedro

      Jose San Pedro - 2006-06-13

      Hi Benajmin,

      I'm not really very much into RTP. I recall someone contributed an MPEG-4 Depacketizer that is currently available in the CVS version. Use it as the base for your own development. I'm sorry I cannot help your more with this problem.

      Cheers,

      Jose San Pedro

       
    • Nobody/Anonymous

      Hello Jose,

      can you please tell me how I access/download the mpeg-4 depacketizer.
      I downloaded the "current-ffmpeg.tar.gz" from the cvs repository but couldn't find anything regarding the depacketizer.

      Where is it located?

      Thanks again for your help.

      Bye,
      Benjamin

       
    • Nobody/Anonymous

      Hi

      I'm interested in exactly the same thing (rtp, h.264, aac/mp4).

      I believe Jose referred to:
      com.neon.media.codec.video.mp4v.DePacketizer

      However, I've not tried it out yet...
      Remo

       
    • Callisto13

      Callisto13 - 2006-06-13

      Hello Remo,

      ok thank you. I found it and downloaded also the "rtp.java". I've contacted also Scott who wrote these files in order to get some help in writing the h.264 depacketizer.

      I will try to use the mp4v depacketizer as a base for the development of a h.264 depacketizer. As soon as I have any successes or problems I will post a message in here.

      Thanks again for your help.
      Benjamin

       
      • Jose San Pedro

        Jose San Pedro - 2006-06-13

        Hi,

        I'm really sorry I cannot help you with this matter. Indeed, RTP support is something that many people are willing to have in order to use Fobs in their project. I hope to have some more time in the future to dig into this protocol. Any contributions will be fine as a start point.

        Thanks!!

        Jose San Pedro

         
    • Nobody/Anonymous

      Hi

      I tried to build the current HEAD, but I'm getting the following error:

      src\jmf-pi\decoder.cpp:185: error: ISO C++ forbids cast to non-reference type used as lvalue
      src\jmf-pi\decoder.cpp:191: error: ISO C++ forbids cast to non-reference type used as lvalue
      src\jmf-pi\decoder.cpp: In function `jboolean Java_com_omnividea_media_parser_video_Parser_avProcessAudio(JNIEnv*, _jobject*, jint, _jobject*, jlong, jlong)':
      src\jmf-pi\decoder.cpp:436: warning: cast to pointer from integer of different size
      src/cppapi/Decoder.h: At global scope:
      src/cppapi/Decoder.h:193: warning: inline function `virtual double omnividea::fobs::Decoder::getNextFrameTime()' used but never defined
      scons: *** [src\jmf-pi\decoder.o] Error 1

      Is it a problem in the HEAD or my configuration (WinXP, MinGW 5, MSYS, python 2.4, jdk 5)? Including the depacketizer into the 0.4 build does  not work (there is a NPE bug that has been fixed).

      (ffmpeg compiled, there was a problem with SSE, but worked with the suggested parameter)

      Thanks
      Remo

       
    • Nobody/Anonymous

      This has been discussed before.Look into the forums, it compiles with the permissive flag.

       
  • yaniv

    yaniv - 2011-04-21

    Hello Romeo and nobody,
    were you able to write the packetizer&depacketizer ?
    if you have, can you post a link to it?
    10x

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.