[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