[Libav-user] HTTP tunneling with incoming RTSP AAC stream does not work
Taha Ansari
mtaha.ansari at gmail.com
Sat Oct 11 12:05:34 CEST 2014
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> wrote:
>
> On Thu, Oct 9, 2014 at 6:02 PM, Taha Ansari <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
>> 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...
>>
>
>
> 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
> 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
> 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
> 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 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>
>
>
> --------------*************--------------*************--------------*************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20141011/2e7bb3d2/attachment.html>
More information about the Libav-user
mailing list