[FFmpeg-user] Playing an uncompressed raw interlaced RTP video stream
villastar at yahoo.com.au
villastar at yahoo.com.au
Wed Sep 26 15:15:16 EEST 2018
Hi,
I am unable to get ffplay to play back a raw uncompressed interlaced
video from an RTP stream, coming from a camera feed. The camera
broadcasts the SDP using SAP, which I have been able to extract into
a local file. The contents of the SDP:
v=0
o=- 340496 340496 IN IP4 192.168.204.40
s=Camera 2
c=IN IP4 239.192.1.40/15
t=0 0
m=video 5004 RTP/AVP 97
a=rtpmap:97 raw/90000
a=fmtp:97 sampling=YCbCr-4:2:2; width=720; height=576; depth=8; colorimetry=BT601-5; interlace
a=framerate:25
I am using the following command to play it back with ffplay:
ffplay -protocol_whitelist file,rtp,udp -strict -2 -f sdp \
camera2.sdp
This resulting image showed two almost identical images laid out
vertically. In order to show the results I am getting, I have also
recorded a small sample with the following:
ffmpeg -protocol_whitelist file,rtp,udp -strict -2 -f sdp -i \
camera2.sdp -t 5 -vf "scale=240x192,idet" camera2_sample.mp4
Note that I applied the scaling only to keep the file size small - the
resulting mp4 file is close to what I was seeing in ffplay. The file
has been uploaded to my Dropbox at:
https://www.dropbox.com/s/6kgfsie7rgfnoe7/camera2_sample.mp4?dl=0
The tail end of the output from FFmpeg at the end of the recording,
including the output from idet:
video:171kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.121141%
[Parsed_idet_1 @ 000001d6ff69f4c0] Repeated Fields: Neither: 217 Top: 0 Bottom: 0
[Parsed_idet_1 @ 000001d6ff69f4c0] Single frame detection: TFF: 0 BFF: 0 Progressive: 217 Undetermined: 0
[Parsed_idet_1 @ 000001d6ff69f4c0] Multi frame detection: TFF: 0 BFF: 0 Progressive: 217 Undetermined: 0
[libx264 @ 000001d680000500] frame I:2 Avg QP:18.69 size: 1068
[libx264 @ 000001d680000500] frame P:127 Avg QP:28.83 size: 750
[libx264 @ 000001d680000500] frame B:121 Avg QP:30.57 size: 638
[libx264 @ 000001d680000500] consecutive B-frames: 10.0% 76.0% 1.2% 12.8%
[libx264 @ 000001d680000500] mb I I16..4: 77.2% 1.7% 21.1%
[libx264 @ 000001d680000500] mb P I16..4: 2.6% 6.1% 2.8% P16..4: 13.2% 6.0% 2.8% 0.0% 0.0% skip:66.5%
[libx264 @ 000001d680000500] mb B I16..4: 28.9% 2.5% 4.3% B16..8: 7.2% 2.6% 0.6% direct: 1.6% skip:52.3% L0:22.3% L1:76.0% BI: 1.7%
[libx264 @ 000001d680000500] 8x8 transform intra:18.1% inter:34.7%
[libx264 @ 000001d680000500] coded y,uvDC,uvAC intra: 18.1% 21.9% 11.9% inter: 8.7% 10.7% 2.7%
[libx264 @ 000001d680000500] i16 v,h,dc,p: 69% 29% 1% 0%
[libx264 @ 000001d680000500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 1% 29% 67% 0% 1% 1% 1% 0% 1%
[libx264 @ 000001d680000500] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 7% 46% 21% 4% 4% 3% 5% 3% 5%
[libx264 @ 000001d680000500] i8c dc,h,v,p: 66% 31% 1% 1%
[libx264 @ 000001d680000500] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000001d680000500] ref P L0: 45.1% 14.7% 31.6% 8.6%
[libx264 @ 000001d680000500] ref B L0: 57.7% 42.3%
[libx264 @ 000001d680000500] kb/s:279.35
I was suspecting that FFmpeg was not treating the interlacing
correctly. Is there an option that I should be specifying? I have
tried playing back with the yadif and tinterlace with similar
results. The commands I used were:
ffplay -protocol_whitelist file,rtp,udp -strict -2 -vf yadif=mode=1 \
-f sdp camera2.sdp
and
ffplay -protocol_whitelist file,rtp,udp -strict -2 -vf tinterlace=6 \
-f sdp camera.sdp
More information about the ffmpeg-user
mailing list