[FFmpeg-user] Issues in Creating SDP for a H264/AAC file
Yadnesh Phadke
yadnesh at gmail.com
Tue Apr 19 13:04:34 CEST 2011
Hi All,
I have recorded a video from my Samsung Galaxy S (Android 2.2) phone which I
am trying to stream using the following ffmpeg command.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ffmpeg -i ~/Media/video-2011-04-13-15-13-09.mp4 -an -vcodec copy -f rtp
rtp://192.168.1.122:11111 -i ~/Media/video-2011-04-13-15-13-09.mp4 -vn
-strict experimental -acodec copy -flags +global_header -f rtp rtp://
192.168.1.122:22222 -newaudio
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The created SDP seems to be incomplete. The output shows no value for "
sprop-parameter-sets"
Earlier, I have successfully streamed and played the stream for other MP4
files having H264 and AAC encoded media. Facing issue with files created on
Android. Is this issue related to any specific encoding level of H264?
Here is the complete output of that streaming command:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FFmpeg version 0.6, Copyright (c) 2000-2010 the FFmpeg developers
built on Sep 20 2010 18:45:33 with gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
configuration: --prefix=/home/yadnesh --enable-shared --disable-static
--disable-optimizations --disable-mmx --disable-stripping --enable-debug
--enable-version3 --enable-pthreads --enable-gpl --enable-libfaac
--enable-libx264 --enable-nonfree
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.11. 0 / 0.11. 0
Start time = 0
Seems stream 1 codec frame rate differs from container frame rate: 60000.00
(60000/1) -> 1000.00 (1000/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'/home/yadnesh/Media/video-2011-04-13-15-13-09.mp4':
Metadata:
major_brand : 3gp4
minor_version : 768
compatible_brands: 3gp43gp6
Duration: 00:00:09.72, start: 0.000000, bitrate: 3457 kb/s
Stream #0.0(eng): Audio: aac, 16000 Hz, mono, s16, 56 kb/s
Stream #0.1(eng): Video: h264, yuv420p, 720x480, 3435 kb/s, 29.85 fps,
1k tbr, 30k tbn, 60k tbc
Start time = 0
Seems stream 1 codec frame rate differs from container frame rate: 60000.00
(60000/1) -> 1000.00 (1000/1)
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from
'/home/yadnesh/Media/video-2011-04-13-15-13-09.mp4':
Metadata:
major_brand : 3gp4
minor_version : 768
compatible_brands: 3gp43gp6
Duration: 00:00:09.72, start: 0.000000, bitrate: 3457 kb/s
Stream #1.0(eng): Audio: aac, 16000 Hz, mono, s16, 56 kb/s
Stream #1.1(eng): Video: h264, yuv420p, 720x480, 3435 kb/s, 29.85 fps,
1k tbr, 30k tbn, 60k tbc
Output #0, rtp, to 'rtp://192.168.1.122:11111':
Metadata:
encoder : Lavf52.64.2
Stream #0.0(eng): Video: avc1 / 0x31637661, yuv420p, 720x480, q=2-31,
3435 kb/s, 90k tbn, 30k tbc
Output #1, rtp, to 'rtp://192.168.1.122:22222':
Metadata:
encoder : Lavf52.64.2
Stream #1.0(eng): Audio: aac, 16000 Hz, mono, 56 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #1.0
SDP:
v=0
o=- 0 0 IN IP4 192.168.1.122
s=No Name
t=0 0
a=tool:libavformat 52.64.2
m=video 0 RTP/AVP 96
c=IN IP4 192.168.1.122
b=AS:3435
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=
a=control:streamid=0
m=audio 0 RTP/AVP 97
c=IN IP4 192.168.1.122
b=AS:56
a=rtpmap:97 MPEG4-GENERIC/16000/1
a=fmtp:97
profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;
config=1408
a=control:streamid=1
Press [q] to stop encoding
frame= 287 fps= 0 q=-1.0 Lsize= 0kB time=9.58 bitrate= 0.0kbits/s
video:4032kB audio:68kB global headers:0kB muxing overhead -99.999333%
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On debugging into the FFMpeg code, I found that while creating sdp it does
not go in to the loop (of function static char
*extradata2psets(AVCodecContext *c))
while (r < c->extradata + c->extradata_size) {
}
Can you please help me with the causes of such wrong SDP? Could the cause
be the file format (3GP) or the codec (H264)?
Regards,
-- Yadnesh
----------------------------------------------------------------------
Christopher Morley - There is only one success - to be able to spend your
life in your own way.
More information about the ffmpeg-user
mailing list