[FFmpeg-user] Playing an uncompressed raw interlaced RTP video stream

villastar at yahoo.com.au villastar at yahoo.com.au
Thu Sep 27 16:47:34 EEST 2018


My apologies to everyone on the mailing list - it seemed the formatting in my last
email was broken.

> On Wednesday, 26 September 2018, 8:38:09 pm AWST, PaulYurt <paulyurt at gmail.com> wrote:
> 
> Are you certain the. camera output is interlaced? HD720 is typically progressive. 
> 
> If you decode progressive as interlaced you would get two very similar images. 

I believe it is. The documentation for camera states it sends PAL interlaced 
encoded using ITU-R BT.601 and ITU-R BT.656, using RFC 4175 RTP packets.

I tried capturing the RTP traffic over the network using Wireshark and examing it.
The headers in the RTP look like they do conform to RFC 4175. A sample of the 
capture is at https://www.dropbox.com/s/l65o879qf2er3qi/camera_5.pcapng?dl=0.
 
> Paul Yurt
> 
> On Sep 26, 2018, at 8:15 AM, villastar at yahoo.com.au <villastar-at-yahoo.com.au at ffmpeg.org> wrote:
>> 
>> 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
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list