<div dir="ltr"><div>I am trying to play a chunk of video retrieved from an Axis <a href="http://www.axis.com/products/cam_m3004v/">M3004V</a> camera. The camera is continuously recording video in an internal MicroSD card. That video receives a <font face="courier new, monospace">recordingid</font> I can use to query. According to what it says on the Axis API documentation (on the Edge Storage and the Video Streaming Vapix documents) I can specify an start time and end time for the play through a custom header in the request. Let's say that video has been recording from <font face="courier new, monospace">2014-05-01T00:00:00Z</font> until... meh... now.</div>

<div><br></div><div>Apparently, if I were able to send an RTSP request with:</div><div><br></div><div><font face="courier new, monospace">    rtps://camera_ip/axis-media/media.amp?<parameter>=<value></font></div>

<div><font face="courier new, monospace">    Headerfield1: val1<CRLF></font></div><div><font face="courier new, monospace">    Range: clock=2014-05-01T00:01:00Z-2014-05-01T00:01:30Z<CRLF></font></div><div><br>

</div><div>I would get a 1 minute play from<font face="courier new, monospace"> 00:00:01</font> to <font face="courier new, monospace">00:00:02</font>.</div><div><br></div><div>I'm trying to set that custom header using <font face="courier new, monospace">avplay</font> like this:</div>

<div><br></div><div><font face="courier new, monospace">    avplay -f rtsp -rtsp_transport http \</font></div><div><font face="courier new, monospace">           -i "rtsp://<a href="http://user:password@192.168.1.5/axis-media/media.amp?recordingid=20140505_000000_5E99_00408CAABBCC">user:password@192.168.1.5/axis-media/media.amp?recordingid=20140505_000000_5E99_00408CAABBCC</a>"</font></div>

<div><font face="courier new, monospace">           -headers "\nRange: clock=2014-05-01T00:01:00Z-2014-05-01T00:01:30Z\n" \</font></div><div><font face="courier new, monospace">           -loglevel debug</font></div>

<div><br></div><div>But when I try that, I get an <font face="courier new, monospace">Option headers not found</font> error:</div><div><br></div><div><font face="courier new, monospace">    [rtsp @ 0x7f4cb4005be0] video codec set to: h264</font></div>

<div><font face="courier new, monospace">    [NULL @ 0x7f4cb4004e20] RTP Packetization Mode: 1</font></div><div><font face="courier new, monospace">    [NULL @ 0x7f4cb4004e20] RTP Profile IDC: 4d Profile IOP: 40 Level: 29</font></div>

<div><font face="courier new, monospace">    [NULL @ 0x7f4cb4004e20] Extradata set to 0x7f4cb40014e0 (size: 29)!</font></div><div><font face="courier new, monospace">    [rtsp @ 0x7f4cb4005be0] hello state=0</font></div>
<div>
<font face="courier new, monospace">    Option headers not found.</font></div><div><br></div><div>And <font face="courier new, monospace">avplay</font> stops.</div><div><br></div><div>I haven't been able to find any example on the web, but I'd say that the option to pass custom headers to an RTSP stream was added to LibAv long time ago (at least, according to <a href="https://lists.libav.org/pipermail/libav-commits/2011-November/003365.html">this commit</a> from 2011 ) Maybe I'm not passing the argument properly? I have tried several variations to the line above, such as removing the <font face="courier new, monospace">-f rtsp</font> part, change the <font face="courier new, monospace">-rtsp_transport</font> to <font face="courier new, monospace">tcp</font> instead of <font face="courier new, monospace">http</font>, reorganizing the order of my arguments.... Nothing worked. Nothing even produced a different error message.</div>

<div><br></div><div>Does anyone know how to pass custom headers to an RTSP request using libav?</div><div><br></div><div>I'm on a Lubuntu 14.04 (amd64) and <font face="courier new, monospace">avplay</font> is version <font face="courier new, monospace">9.11-6:9.11-2ubuntu2</font></div>

<div><br></div><div>Any help will be very appreciated. Thank you in advance.</div></div>