We have been streaming RTP from ffmpeg 0.5 to Wowza 2.x for a couple of years with great success. We have Flash clients connect to that stream using RTMP and iOS clients using HLS.
We recently built some new encoders and decided to use the latest ffmpeg. The syntax has changed greatly since version 0.5. I think we’ve got the syntax right, but when we connect to the stream, we get black video and “jumpy” audio. Interestingly, if we only send the video, it streams to RTMP perfectly.
If we capture to an MP4 file, the resulting file is fine. The problem seems to be in the RTP stream.
I’m hoping that somebody here may have enough familiarity with
ffmpeg -re -f rawvideo -pix_fmt yuv422p \
-s 960x540 -r 29.97 \
-i /Media/vpipe-1 \
-re -ar 48000 -f s16le -ac 2 -i /Media/apipe-1 \
-map 0:0 \
-c:v libx264 -vprofile baseline -qmax 51 -threads 0 \
-pix_fmt yuv420p \
-vf 'crop=in_w-16:in_h-9:8:5,scale=576:324' \
-r 15 -g 45 \
-b:v 448k -minrate 448k -maxrate 528k -bufsize 50Mi \
-f rtp rtp://127.0.0.1:9204 \
-map 1:0 \
-vol 1024 \
-c:a libfaac -ac 2 -b:a 96k -ar 22050 \
-async 1 \
-flags +global_header \
-f rtp rtp://127.0.0.1:9206
The SDP that is generated is below. It’s interesting that I don’t see any sprop-parameter-sets like I do with version 0.5 of ffmpeg. I don’t really understand the intricacies of SDP files and these sprop values, so I don’t know how crucial they are.
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
t=0 0
a=tool:libavformat 53.31.100
m=video 9204 RTP/AVP 96
c=IN IP4 127.0.0.1
b=AS:448
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1
m=audio 9206 RTP/AVP 97
c=IN IP4 127.0.0.1
b=AS:96
a=rtpmap:97 MPEG4-GENERIC/22050/2
a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=1390
Any guidance would be greatly appreciated!