[libav-api] Cannot open stream

Joshua Kordani jkordani at lsa2.com
Wed Jun 11 18:19:32 CEST 2014


awesome.  So if you open this capture in wireshark and go to preferences 
->protocols, type h264, and fill in 96 for dynamic payload types, hit 
ok, close and reopen wireshark and this capture file, you'll see that 
the udp traffic is decoded as h264.

in this case rtp has fragemented most of the nals.  You can see this 
when you expand the h264 section of the packet, you'll see an fu 
identifier and fu header section.  If rtp has fragmented an h264 nal, 
you will see an fu identifier of type FU-A or FU-B, followed by an FU 
header with bits that indicate whether this is the start of a nal, the 
end of a nal, or the middle.  FU-A expects nal fragments to be passed 
sequentially with no reordering tolerated, so you see how an FU-A 
fragment set can be rebuilt.  If a nal is fragmented, its REAL nal type 
is moved to the FU header type field.  nal type 5 is an idr, so consists 
of an entire frame.  Nal type 1 is a nal that relies on previous nals as 
baselines (I mis spoke earlier, I believe that type 1 can rely on any 
previous nal, up to the last transmitted type 5)

Sometimes the type 7 and 8 nals (sps and pps) are small enough to be 
passed through without being fragmented, and sometimes if they are 
repeated in the rtp stream then it can take several seconds for them to 
be re-emitted.  So watch your own stream and see if the sps and pps nals 
are ever emitted.  You can make a filter for h264 field types, 
h264.nal_unit_type == 5 should show you idr nals, and if you add 
h264.start.bit == 1 you should see how often you are receiving a full 
frame refresh nal.

Joshua Kordani
LSA Autonomy

On 6/11/14 11:49 AM, Manuel Torres wrote:
> Done. I captured just a few seconds to keep the file size low. Here is the
> download link:
>
> https://www.wetransfer.com/downloads/8d6c64606d347f395c6a0dfd8702419b20140611154702/5f67e064c7ebf8c694577589d69c1d5420140611154702/c7dee4
>
>
> On Wed, Jun 11, 2014 at 5:32 PM, Joshua Kordani <jkordani at lsa2.com> wrote:
>
>> Can you make a short wireshark capture that includes the rtsp as well as
>> the rtp traffic going from this camera, for, say, 30 seconds?  Do this
>> using your program to start the feed.
>>
>> Joshua Kordani
>> LSA Autonomy
>>
>>
>> On 6/11/14 11:21 AM, Manuel Torres wrote:
>>
>>> No. It is an external source of which I have no control and I cannot
>>> figure
>>> out what is diferent in it from the rest if the sources I can open with
>>> both avplay and my code. It puzzles me even more that VLC and MPlayer do
>>> open the stream.
>>>
>>> Enviado desde dispositivo móvil.
>>> Sent from mobile device.
>>> On Jun 11, 2014 5:15 PM, "Joshua Kordani" <jkordani at lsa2.com> wrote:
>>>
>>>   Are you creating this stream yourself?
>>>> Joshua Kordani
>>>> LSA Autonomy
>>>>
>>>> On 6/11/14 11:08 AM, Manuel Torres wrote:
>>>>
>>>>   If by "resource" you mean the URL, the answer is no, avplay does not
>>>>> display the video. The traces in my first e-mail are also displayed by
>>>>> avplay, that is, no size and no color space.
>>>>>
>>>>> Enviado desde dispositivo móvil.
>>>>> Sent from mobile device.
>>>>> On Jun 11, 2014 4:10 PM, "Luca Barbato" <lu_zero at gentoo.org> wrote:
>>>>>
>>>>>    On 11/06/14 09:41, Manuel Torres wrote:
>>>>>
>>>>>> First of all, thank you Luca and Joshua for taking the time to help me
>>>>>>>   and
>>>>>>   thank you very much Joshua for that awesome explanation. I see that
>>>>>>> there
>>>>>>> is a lot to learn.
>>>>>>>
>>>>>>> Back on topic:
>>>>>>> I checked the format context and the codec context and I only found an
>>>>>>> empty (NULL) "extradata" field in the codec context. I also checked
>>>>>>> some
>>>>>>> other fields in both structures where I thought the data could be but
>>>>>>>
>>>>>>>   found
>>>>>>   nothing. Am I looking in the right place?
>>>>>>>    Looks quite strange, if you just do avplay rtsp://resource
>>>>>>>
>>>>>> does it play?
>>>>>>
>>>>>> lu
>>>>>>
>>>>>> _______________________________________________
>>>>>> libav-api mailing list
>>>>>> libav-api at libav.org
>>>>>> https://lists.libav.org/mailman/listinfo/libav-api
>>>>>>
>>>>>>    _______________________________________________
>>>>>>
>>>>> libav-api mailing list
>>>>> libav-api at libav.org
>>>>> https://lists.libav.org/mailman/listinfo/libav-api
>>>>>
>>>>>   _______________________________________________
>>>> libav-api mailing list
>>>> libav-api at libav.org
>>>> https://lists.libav.org/mailman/listinfo/libav-api
>>>>
>>> _______________________________________________
>>> libav-api mailing list
>>> libav-api at libav.org
>>> https://lists.libav.org/mailman/listinfo/libav-api
>>>
>> _______________________________________________
>> libav-api mailing list
>> libav-api at libav.org
>> https://lists.libav.org/mailman/listinfo/libav-api
>>
> _______________________________________________
> libav-api mailing list
> libav-api at libav.org
> https://lists.libav.org/mailman/listinfo/libav-api



More information about the libav-api mailing list