This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

streaming h.264 and IDR frame

Hi

I have 2x8168 and want to stream h.264 from one to the other over Ethernet. I am super new to all this and need some guidance please.

1. How do I go about streaming H.264 from the one EVM to the other?

2. How do I set the I frame refresh rate in the encoder(also which  port )and how many  P/B frames between them. etc (I assume that I need this if the stream has lost packets for re-syncing)

I have : File h.264 ->Decoder- >Scalar >V4L display working

I have : Capture from V4L -> NF -> Encoder -> file  working

I would like to send the encoded data over a MPEG-2 TS stream over UDP (where can I get library's for the stream )

Do i need to do chunking etc on the input stream or can I send full frames into the decoder from UDP (problem is here that the packets are broken up.)

Thanks

Robin

  • Robin,

    Are you using EZSDK ? 

    For Encoder refresh rate please follow

    http://processors.wiki.ti.com/index.php/OMX_VENC

    OMX Decoder component expects one frame in one buffer at a time, so RTP/UDP component needs to take care of end of frame and pass collected one frame to decoder.

    Regards

    Vimal

  • You can use gstreamer for this purpose, gstreamer has most of the components required by your usecase.

    EZSDK release 5.03.01.15 already has gstreamer support built in.

    You can get more info about DM816x gstreamer at - http://processors.wiki.ti.com/index.php/DM81xx_Gstreamer_Plugin

    And some pipelines at

    http://processors.wiki.ti.com/index.php/DM81xx_Gstreamer_Pipelines

    Thanks,

    Satish

  • Hi

    Vimal

    We are using EZSDK  5.03.01.15. We are sending the video over a radio link so we loose frames often and need to re-sync. If I send a bad frame to the decoder it crashes. How can i know the frame is valid? Do I need to send B frames as well. So I use the struct  OMX_VIDEO_PARAM_AVCTYPE to set it up before I start the encoder. Can I also use OMX_VIDEO_CONFIG_AVCINTRAPERIOD does this have the same desired effect.

    I can see the dynamic parameters included they are greyed out?

    Satish

     We do not want to go the G-Streamer route. Any other suggestions.

    Thanks Robin

  • Robin,

    Typically you would not use B frames in communication / conferencing apps. ( B frame decoding is though supported) Though we have some error handling in the component, It is possible that all errors may not be handled. Is it possible for you to log the stream before giving to decoder, so we can analyze offline ? You can set I frame period ( as number of P frames between two I frames ). Dynamic parameters setting were for H264 only, hence you might see them under #if 0. (it can be used  for example purpose).

    Regards

    Vimal