[Libav-user] HTTP tunneling with incoming RTSP AAC stream does not work

Taha Ansari mtaha.ansari at gmail.com
Thu Oct 9 15:02:34 CEST 2014


Hi,

I have a specific scenario: in a restricted network environment, I have
discovered sometimes there is problem with live reception of data via RTSP
protocol. Reading at mailing list and other locations got me to a point
where I discovered I could use HTTP tunneling to bypass proxies etc. I have
upcoming two streams:

1- RTSP live h264 stream
2- RTSP live AAC stream

When I apply HTTP tunneling method with h264 data, it works without any
problem. But, if I try it with AAC data, audio never gets through.

Here is uncut console output when trying to fetch such AAC streams via RTSP
protocol, while the server is at a remote location (some portions are
changed to protect privacy):

--------------*************--------------*************--------------*************
D:\....\ffmpeg-20141009-git-f6777ce-win32-shared\bin>ffpla
y -rtsp_transport http -loglevel debug rtsp://143.115.111.123:1943/a.aac
ffplay version N-66742-gf6777ce Copyright (c) 2003-2014 the FFmpeg
developers
  built on Oct  8 2014 22:05:56 with gcc 4.9.1 (GCC)
  configuration: --disable-static --enable-shared --enable-gpl
--enable-version3
 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig
--ena
ble-frei0r --enable-gnutls --enable-iconv --enable-libass
--enable-libbluray --e
nable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme
--enable-lib
gsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
--enable-libopencor
e-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
--enabl
e-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex
--enable-l
ibtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc
--enable-
libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack
--enable-l
ibwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid
--ena
ble-zlib
  libavutil      54. 10.100 / 54. 10.100
  libavcodec     56.  4.101 / 56.  4.101
  libavformat    56.  9.100 / 56.  9.100
  libavdevice    56.  1.100 / 56.  1.100
  libavfilter     5.  1.103 /  5.  1.103
  libswscale      3.  1.100 /  3.  1.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  1.100 / 53.  1.100
[http @ 01d798e0] request: GET /a.aac HTTP/1.10KB sq=    0B f=0/0
User-Agent: Lavf/56.9.100
Range: bytes=0-
Connection: close
Host: 143.115.111.123:1943
Icy-MetaData: 1
x-sessioncookie: 85cc4e8bbbeffd24
Accept: application/x-rtsp-tunnelled
Pragma: no-cache
Cache-Control: no-cache


[http @ 01d798e0] header='HTTP/1.1 200 OK'    0KB sq=    0B f=0/0
[http @ 01d798e0] http_code=200
[http @ 01d798e0] header='Date: Thu, 9 Oct 2014 12:46:10 GMT'
[http @ 01d798e0] header='Server: [some server name]'
[http @ 01d798e0] header='Connection: Close'
[http @ 01d798e0] header='Content-Type: application/x-rtsp-tunnelled'
[http @ 01d798e0] header='Expires: -1'
[http @ 01d798e0] header='Cache-Control: private, max-age=0'
[http @ 01d798e0] header=''
[http @ 01d7e420] request: POST /a.aac HTTP/1.1KB sq=    0B f=0/0
User-Agent: Lavf/56.9.100
Accept: */*
Connection: close
Host: 143.115.111.123:1943
Icy-MetaData: 1
x-sessioncookie: 85cc4e8bbbeffd24
Content-Type: application/x-rtsp-tunnelled
Pragma: no-cache
Cache-Control: no-cache
Content-Length: 32767
Expires: Sun, 9 Jan 1972 00:00:00 GMT


[rtsp @ 01d79d00] SDP:=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
v=0
o=- 1951159390 1412858771 IN IP4 143.115.111.123
s=
c=IN IP4 0.0.0.0
t=0 0
m=audio 0 RTP/AVP 96
a=rtpmap:96 MPEG4-GENERIC/22050/2
a=fmtp:96
profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdelta
length=3;config=1390;
a=control:trackID=2

[rtsp @ 01d79d00] audio codec set to: aac
[rtsp @ 01d79d00] audio samplerate set to: 22050
[rtsp @ 01d79d00] audio channels set to: 2
[rtsp @ 01d79d00] hello state=0    0KB vq=    0KB sq=    0B f=0/0
[rtsp @ 01d79d00] method PLAY failed: 500 SERVER ERROR   0B f=0/0
[rtsp @ 01d79d00] Server: [some server name]
CSeq: 4
Cache-Control: no-cache
Date: Thu, 9 Oct 2014 12:46:12 GMT
Expires: Thu, 9 Oct 2014 12:46:12 GMT
Session: 31565451546595;timeout=30
x-Error: Failed to create audio

rtsp://143.115.111.123:1943/a.aac: Invalid data found when processing input


D:\....\ffmpeg-20141009-git-f6777ce-win32-shared\bin>
--------------*************--------------*************--------------*************

As can be seen, it fails somewhere at " method PLAY failed: 500 SERVER
ERROR". Searching online for this does not give me much help, except that
500 SERVER ERROR is a general kind of error (without any details).

This is the latest version of FFmpeg I downloaded from zeranoe builds page
today...

Has anyone experienced anything this sort before? Is there any remedy?

Thanks in advance for any guidance...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20141009/d7758b78/attachment.html>


More information about the Libav-user mailing list