Opened 4 years ago

Last modified 4 years ago

#2205 open defect

It does not be streaming a RTSP(H.264/AAC) using ffserver.

Reported by: EricAhn Owned by: EricAhn
Priority: normal Component: ffserver
Version: git-master Keywords: rtsp rtp aac ffserver
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

How to reproduce:

# ffmpeg -i http://qthttp.akamai.com.edgesuite.net/iphone_demo/Video_Content/npr/blindpilot_hdv_bug/all.m3u8 -acodec copy -vcodec copy http://10.10.250.122:8090/feed1.ffm
ffmpeg version N-48413-gdc8b367 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jan 22 2013 15:58:23 with gcc 4.5 (SUSE Linux)
  configuration: --enable-gpl --enable-nonfree --enable-version3 --enable-libx264 --enable-libfaac --enable-libmp3lame --extra-cflags=-I/home/work/ffmpeg/x264 --extra-ldflags=-L/usr/local/lib
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 85.101 / 54. 85.101
  libavformat    54. 59.102 / 54. 59.102
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 30.102 /  3. 30.102
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mpegts @ 0x1564600] Estimating duration from bitrate, this may be inaccurate
[mpegts @ 0x16339a0] Estimating duration from bitrate, this may be inaccurate
[mpegts @ 0x174aca0] Estimating duration from bitrate, this may be inaccurate
Input #0, hls,applehttp, from 'http://qthttp.akamai.com.edgesuite.net/iphone_demo/Video_Content/npr/blindpilot_hdv_bug/all.m3u8':
  Duration: 00:03:51.00, start: 10.000000, bitrate: 0 kb/s
  Program 0 
    Metadata:
      variant_bitrate : 860000
    Stream #0:0: Audio: aac ([15][0][0][0] / 0x000F), 32000 Hz, stereo, fltp, 65 kb/s
    Metadata:
      variant_bitrate : 860000
    Stream #0:1: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 400x224, 29.97 tbr, 90k tbn, 180k tbc
    Metadata:
      variant_bitrate : 860000
  Program 1 
    Metadata:
      variant_bitrate : 512000
    Stream #0:2: Audio: aac ([15][0][0][0] / 0x000F), 32000 Hz, stereo, fltp, 65 kb/s
    Metadata:
      variant_bitrate : 512000
    Stream #0:3: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 400x224, 29.97 tbr, 90k tbn, 180k tbc
    Metadata:
      variant_bitrate : 512000
  Program 2 
    Metadata:
      variant_bitrate : 160000
    Stream #0:4: Audio: aac ([15][0][0][0] / 0x000F), 32000 Hz, mono, fltp, 34 kb/s
    Metadata:
      variant_bitrate : 160000
    Stream #0:5: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 400x224, 11.99 tbr, 90k tbn, 180k tbc
    Metadata:
      variant_bitrate : 160000
Output #0, ffm, to 'http://10.10.250.122:8090/feed1.ffm':
  Metadata:
    creation_time   : now
    encoder         : Lavf54.59.102
    Stream #0:0: Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 400x224, q=2-31, 1000k tbn, 90k tbc
    Metadata:
      variant_bitrate : 860000
Stream mapping:
  Stream #0:1 -> #0:0 (copy)

# cat ffserver.conf
Port 8090
BindAddress? 0.0.0.0
MaxHTTPConnections 5
MaxClients? 5
MaxBandwidth? 40000
CustomLog? -
NoDaemon?

RTSPPort 5454
RTSPBindAddress 0.0.0.0

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize? 100M
ACL allow localhost
ACL allow 127.0.0.1
ACL allow 10.10.250.0 10.10.255.255
#Launch ffmpeg -i http://qthttp.akamai.com.edgesuite.net/iphone_demo/Video_Content/npr/blindpilot_hdv_bug/all.m3u8
</Feed>

<Stream live.h264>
Format rtp
Feed feed1.ffm
</Stream>

<Stream status.html>
Format status
ACL allow localhost
#ACL allow 192.168.0.0 192.168.255.255
ACL allow 10.10.250.0 10.10.255.255
ACL allow 127.0.0.1
</Stream>

<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>


We run ffserver with ffserver.conf, and tried to play using VLC(rtsp://10.10.250.122:5454/live.h264)


# ffsever -f ffserver.conf
ffserver version N-48413-gdc8b367 Copyright (c) 2000-2013 the FFmpeg developers

built on Jan 22 2013 15:58:23 with gcc 4.5 (SUSE Linux)
configuration: --enable-gpl --enable-nonfree --enable-version3 --enable-libx264 --enable-libfaac --enable-libmp3lame --extra-cflags=-I/home/work/ffmpeg/x264 --extra-ldflags=-L/usr/local/lib
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 85.101 / 54. 85.101
libavformat 54. 59.102 / 54. 59.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 30.102 / 3. 30.102
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100

Mon Jan 28 12:21:49 2013 FFserver started.
Mon Jan 28 12:21:54 2013 10.10.250.122 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175

Mon Jan 28 12:22:02 2013 [NULL @ 0x14cc500]AAC with no global headers is currently not supported.
Mon Jan 28 12:22:02 2013 10.10.250.85 - - [DESCRIBE] "rtsp://10.10.250.122:5454/live.h264 RTSP/1.0" 200 541
Mon Jan 28 12:22:02 2013 10.10.250.85 - - [OPTIONS] "rtsp://10.10.250.122:5454 RTSP/1.0" 200 85

ps : if it use a NoAudio? in ffserver.conf, we play well with vlc.

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (5)

comment:1 Changed 4 years ago by EricAhn

  • Version changed from unspecified to git-master

comment:2 Changed 4 years ago by EricAhn

  • Owner set to EricAhn
  • Status changed from new to open

I found ticket at https://ffmpeg.org/trac/ffmpeg/ticket/228, got same error message, but looks different ffserver.conf and stream contents.

I'm going to capture packet using tcpdump for a closer look the rtsp flow.

comment:3 Changed 4 years ago by EricAhn

It's rtsp flow of galaxy u <--> wowza RTSP for reference.

  • default player client galaxy u => wowza server
     OPTIONS rtsp://10.10.10.99/livetv/stream RTSP/1.0
     CSeq: 0
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     ClientChallenge: 9e26d33f2984236010ef6253fb1887f7
     PlayerStarttime: [28/03/2003:22:50:23 00:00]
     CompanyID: KnKV4M4I/B2FjJ1TToLycw==
     GUID: 00000000-0000-0000-0000-000000000000
    
  • wowza(10.10.10.99) => client galaxy u(10.10.10.34)
     RTSP/1.0 200 OK
     Supported: play.basic, con.persistent
     Cseq: 0
     Server: Wowza Media Server 3.1.2 build1624
     Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, RECORD, GET_PARAMETER
     Cache-Control: no-cache
    
  • client galaxy u(10.10.10.34) => wowza(10.10.10.99)
     DESCRIBE rtsp://10.10.10.99/livetv/stream RTSP/1.0
     CSeq: 1
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     Accept: application/sdp
     x-wap-profile: http://wap.samsungmobile.com/uaprof/SHW-M130L.xml
     Accept-Encoding: 
    
  • wowza(10.10.10.99) => client galaxy u(10.10.10.34)
     RTSP/1.0 200 OK
     Content-Base: rtsp://10.10.10.99/livetv/stream/
     Date: Tue, 29 Jan 2013 17:58:56 KST
     Content-Length: 561
     Session: 1247550419;timeout=60
     Expires: Tue, 29 Jan 2013 17:58:56 KST
     Cseq: 1
     Content-Type: application/sdp
     Server: Wowza Media Server 3.1.2 build1624
     Cache-Control: no-cache
     v=0
     o=- 1247550419 1247550419 IN IP4 127.0.0.1
     s=stream
     c=IN IP4 0.0.0.0
     t=0 0
     a=sdplang:en
     a=range:npt=now-
     a=control:*
     m=audio 0 RTP/AVP 96
     a=rtpmap:96 mpeg4-generic/44100/2
     a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1210
     a=control:trackID=1
     m=video 0 RTP/AVP 97
     a=rtpmap:97 H264/90000
     a=fmtp:97 packetization-mode=1;profile-level-id=42C00D;sprop-parameter-sets=Z0LADfQFoe2AiAAAAwAIAAADAeB4oVU=,aM48gA==
     a=cliprect:0,0,480,720
     a=framesize:97 720-480
     a=framerate:30.0
     a=control:trackID=2
    
  • client galaxy u(10.10.10.34) => wowza(10.10.10.99)
     SETUP rtsp://10.10.10.99/livetv/stream/trackID=1 RTSP/1.0
     CSeq: 2
     Session: 1247550419
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     Transport: RTP/AVP/UDP;unicast;client_port=13090-13091
     Blocksize: 1400
    
  • wowza(10.10.10.99) => client galaxy u(10.10.10.34)
     RTSP/1.0 200 OK
     Date: Tue, 29 Jan 2013 17:58:56 KST
     Transport: RTP/AVP/UDP;unicast;client_port=13090-13091;source=121.254.247.99;server_port=6978-6979;ssrc=706A7E29
     Session: 1247550419;timeout=60
     Expires: Tue, 29 Jan 2013 17:58:56 KST
     Cseq: 2
     Server: Wowza Media Server 3.1.2 build1624
     Cache-Control: no-cache
    
  • client galaxy u(10.10.10.34) => wowza(10.10.10.99)
     SETUP rtsp://10.10.10.99/livetv/stream/trackID=2 RTSP/1.0
     CSeq: 3
     Session: 1247550419
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     Transport: RTP/AVP/UDP;unicast;client_port=13092-13093
     Blocksize: 1400
    
  • wowza(10.10.10.99) => client galaxy u(10.10.10.34)
     RTSP/1.0 200 OK
     Date: Tue, 29 Jan 2013 17:58:56 KST
     Transport: RTP/AVP/UDP;unicast;client_port=13092-13093;source=10.10.10.99;server_port=6976-6977;ssrc=6C443A85
     Session: 1247550419;timeout=60
     Expires: Tue, 29 Jan 2013 17:58:56 KST
     Cseq: 3
     Server: Wowza Media Server 3.1.2 build1624
     Cache-Control: no-cache
    
  • client galaxy u(10.10.10.34) => wowza(10.10.10.99)
     PLAY rtsp://10.10.10.99/livetv/stream RTSP/1.0
     CSeq: 4
     Session: 1247550419
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     Range: npt=now-
    
  • wowza(10.10.10.99) => client galaxy u(10.10.10.34)
     RTSP/1.0 200 OK
     Range: npt=now-
     Session: 1247550419;timeout=60
     Cseq: 4
     RTP-Info: url=rtsp://10.10.10.99/livetv/stream/trackID=1;seq=1;rtptime=180706894,url=rtsp://10.10.10.99/livetv/stream/trackID=2;seq=1;rtptime=368789580
     Server: Wowza Media Server 3.1.2 build1624
     Cache-Control: no-cache
    
    
    // data 
     PT=DynamicRTP-Type-96,SSRC=0x706A7E29, Seq=1, Time=180708967, Mark 
     ..
     PT=DynamicRTP-Type-97,SSRC=0x6C443A85, Seq=1, Time=368820000
     ..
     ..
     ..
    
  • client -> wowza
     OPTIONS rtsp://10.10.10.99/livetv/stream RTSP/1.0
     CSeq: 5
     Session: 1247550419
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
    
  • wowza -> client
     RTSP/1.0 200 OK
     Session: 1247550419;timeout=60
     Supported: play.basic, con.persistent
     Cseq: 5
     Server: Wowza Media Server 3.1.2 build1624
     Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, RECORD, GET_PARAMETER
     Cache-Control: no-cache
    
  • client galaxy u(10.10.10.34) => wowza(10.10.10.99) ( "Stop" button pressed on Galaxy U player)
     TEARDOWN rtsp://10.10.10.99/livetv/stream RTSP/1.0
     CSeq: 6
     Session: 1247550419
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     Connection: close
    
  • wowza -> client
     RTSP/1.0 200 OK
     Session: 1247550419;timeout=60
     Cseq: 6
     Server: Wowza Media Server 3.1.2 build1624
     Cache-Control: no-cache
    
Last edited 4 years ago by EricAhn (previous) (diff)

comment:4 Changed 4 years ago by EricAhn

  • Summary changed from Can't streaming for H.264/AAC to It does not be streaming a RTSP(H.264/AAC) using ffserver.

comment:5 Changed 4 years ago by EricAhn

I captured rtsp flow between ffserver and galaxy u.
It did not generate media info as follows :

RTSP/1.0 200 OK
 Content-Base: rtsp://10.10.10.99/livetv/stream/
 Date: Tue, 29 Jan 2013 17:58:56 KST
 Content-Length: 561
 Session: 1247550419;timeout=60
 Expires: Tue, 29 Jan 2013 17:58:56 KST
 Cseq: 1
 Content-Type: application/sdp
 Server: Wowza Media Server 3.1.2 build1624
 Cache-Control: no-cache
 v=0
 o=- 1247550419 1247550419 IN IP4 127.0.0.1
 s=stream
 c=IN IP4 0.0.0.0
 t=0 0
 a=sdplang:en
 a=range:npt=now-
 a=control:*
 m=audio 0 RTP/AVP 96
 a=rtpmap:96 mpeg4-generic/44100/2
 a=fmtp:96 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1210
 a=control:trackID=1
 m=video 0 RTP/AVP 97
 a=rtpmap:97 H264/90000
 a=fmtp:97 packetization-mode=1;profile-level-id=42C00D;sprop-parameter-sets=Z0LADfQFoe2AiAAAAwAIAAADAeB4oVU=,aM48gA==
 a=cliprect:0,0,480,720
 a=framesize:97 720-480
 a=framerate:30.0
 a=control:trackID=2
  • default player
    OPTIONS rtsp://10.10.250.122:5454/live.H.264 RTSP/1.0
     CSeq: 0
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     ClientChallenge: 9e26d33f2984236010ef6253fb1887f7
     PlayerStarttime: [28/03/2003:22:50:23 00:00]
     CompanyID: KnKV4M4I/B2FjJ1TToLycw==
     GUID: 00000000-0000-0000-0000-000000000000
    
  • ffserver(10.10.250.122) => client galaxy u(10.10.253.73)
     RTSP/1.0 200 OK
     CSeq: 0
     Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE
    
  • client galaxy u(10.10.253.73) => ffserver(10.10.250.122)
     DESCRIBE rtsp://10.10.250.122:5454/live.H.264 RTSP/1.0
     CSeq: 1
     User-Agent: Samsung SHW-M130L PVPlayer CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2.1)
     Accept: application/sdp
     x-wap-profile: http://wap.samsungmobile.com/uaprof/SHW-M130L.xml
     Accept-Encoding: 
    
  • ffserver(10.10.250.122) => client galaxy u(10.10.253.73)
     RTSP/1.0 503 Service Unavailable
     CSeq: 1
     Date: Fri, 01 Feb 2013 02:07:58 GMT
    

and displayed "AAC with no global headers is currently not supported." in ffserver.

Last edited 4 years ago by EricAhn (previous) (diff)
Note: See TracTickets for help on using tickets.