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

Andy Shaules bowljoman at gmail.com
Sat Oct 11 20:59:05 CEST 2014


On 10/11/2014 3:05 AM, Taha Ansari wrote:
> Hi,
>
> Is there anybody out there who has faced a similar issue? I'm sure 
> there would be... any feedback would be highly appreciated...
>
> On Fri, Oct 10, 2014 at 2:47 PM, Taha Ansari <mtaha.ansari at gmail.com 
> <mailto:mtaha.ansari at gmail.com>> wrote:
>
>
>     On Thu, Oct 9, 2014 at 6:02 PM, Taha Ansari
>     <mtaha.ansari at gmail.com <mailto:mtaha.ansari at gmail.com>> wrote:
>
>         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
>         <http://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 <http://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 <http://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
>         <http://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...
>
>
>
>     Hi,
>
>     I have made little progress: if I specify "-initial_pause 1 " at
>     command line, then after waiting for about 40 seconds, I am able
>     to see new window pop up (the FFplay black window that shows white
>     stuff depending upon audio signal), but this window is totally
>     black, and even after waiting for some time, audio is never audible.
>
>     Do I need to signal initial_pause to 'off', somehow?
>
>     Here is updated command line with debug output (again some stuff
>     like server IP changed intentionally):
>
>     --------------*************--------------*************--------------*************
>
>     D:\ffmpeg-20141009-git-f6777ce-win32-shared\bin>ffplay -loglevel
>     debug -rtsp_transport http -initial_pause 1
>     rtsp://144.122.222.22:2757/a.aac <http://144.122.222.22:2757/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 @ 02239a20] request: GET /a.aac HTTP/1.10KB sq=    0B f=0/0
>     User-Agent: Lavf/56.9.100
>     Range: bytes=0-
>     Connection: close
>     Host: 144.122.222.22:2757 <http://144.122.222.22:2757>
>     Icy-MetaData: 1
>     x-sessioncookie: 5210038d40d12611
>     Accept: application/x-rtsp-tunnelled
>     Pragma: no-cache
>     Cache-Control: no-cache
>
>
>     [http @ 02239a20] header='HTTP/1.1 200 OK'    0KB sq=    0B f=0/0
>     [http @ 02239a20] http_code=200
>     [http @ 02239a20] header='Date: Fri, 10 Oct 2014 09:39:29 GMT'
>     [http @ 02239a20] header='Server: [some streaming server]'
>     [http @ 02239a20] header='Connection: Close'
>     [http @ 02239a20] header='Content-Type: application/x-rtsp-tunnelled'
>     [http @ 02239a20] header='Expires: -1'
>     [http @ 02239a20] header='Cache-Control: private, max-age=0'
>     [http @ 02239a20] header=''
>     [http @ 0223d560] request: POST /a.aac HTTP/1.1KB sq=    0B f=0/0
>     User-Agent: Lavf/56.9.100
>     Accept: */*
>     Connection: close
>     Host: 144.122.222.22:2757 <http://144.122.222.22:2757>
>     Icy-MetaData: 1
>     x-sessioncookie: 5210038d40d12611
>     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 @ 02239e20] SDP:=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
>     v=0
>     o=- 545483151 1412933970 IN IP4 144.122.222.22
>     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 @ 02239e20] audio codec set to: aac
>     [rtsp @ 02239e20] audio samplerate set to: 22050
>     [rtsp @ 02239e20] audio channels set to: 2
>     Input #0, rtsp, from 'rtsp://144.122.222.22:2757/a.aac':0B
>     <http://144.122.222.22:2757/a.aac%27:0B> f=0/0
>       Metadata:
>         title           :
>       Duration: N/A, bitrate: N/A
>         Stream #0:0, 0, 1/22050: Audio: aac, 22050 Hz, stereo, fltp
>     detected 4 logical cores
>     [ffplay_abuffer @ 022bb880] Setting 'sample_rate' to value '22050'
>     [ffplay_abuffer @ 022bb880] Setting 'sample_fmt' to value 'fltp'
>     [ffplay_abuffer @ 022bb880] Setting 'channels' to value '2'
>     [ffplay_abuffer @ 022bb880] Setting 'time_base' to value '1/22050'
>     [ffplay_abuffer @ 022bb880] Setting 'channel_layout' to value '0x3'
>     [ffplay_abuffer @ 022bb880] tb:1/22050 samplefmt:fltp
>     samplerate:22050 chlayout:
>     0x3
>     [ffplay_abuffersink @ 022d1100] auto-inserting filter
>     'auto-inserted resampler 0
>     ' between the filter 'ffplay_abuffer' and the filter
>     'ffplay_abuffersink'
>     [AVFilterGraph @ 0221e860] query_formats: 2 queried, 0 merged, 3
>     already done, 0
>      delayed
>     [auto-inserted resampler 0 @ 022d2d00] ch:2 chl:stereo fmt:fltp
>     r:22050Hz -> ch:
>     2 chl:stereo fmt:s16 r:22050Hz
>         nan M-A:    nan fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
>
>     D:\ffmpeg-20141009-git-f6777ce-win32-shared\bin>
>
>     --------------*************--------------*************--------------*************
>
>
>
>
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
AAC works for me, but we use transport -rtsp_transport tcp flag. Maybe 
your server is serving RTSP TCP over HTTP.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20141011/b0588e9e/attachment.html>


More information about the Libav-user mailing list