[FFmpeg-user] Capture HDV and S-Video from tape via HDMI-USB to 422 FFV1

Dave Rice dave at dericed.com
Fri Feb 17 19:47:05 EET 2023


Hi Terje,

> On Feb 17, 2023, at 11:52 AM, Terje J. Hanssen <terjejhanssen at gmail.com> wrote:
> 
> I ask here for ffmpeg feedback on two capture setups from video tape playback to 422 ffv1.mkv in realtime.
> 
> Setup 1) HDV playback/HDMI out -> HDMI-USB3/ms2130 capture -> ffmpeg/v4l2 -> 422 FHD FFV1/MKV
> 
> According to S.Mullen's handbook for the camcorder (FX7E here):
> 
>   According to Sony, the EIP works at 1920x1080 in a 4:2:2 colorspace.
>   V1 and FX7 provide an HDMI output port that carries uncompressed
>   4:2:2, 8-bit, digital video plus dual-channel PCM, 16-bit, 48kHz
>   audio. If you are playing a 1080i50 HDV tape: the 4:2:0 MPEG-2 is
>   decoded and chroma up-scaled to a 4:2:2. The HDMI chip downscales
>   1440 to 1280 while it up-scales 540 to 720. The result is 720p50
>   output via HDMI.
> 
> 
> A preliminary test with FX7 camera (not HDV 1080i/MP2 tape playback) and another ms2109 capture card, supported 422 FHD 1920x1080p at just 5 fps using this command line:
> 
>   ffmpeg -hide_banner -f alsa -ac 2 -i hw:CARD=MS2109,DEV=0 -f v4l2
>   -framerate 25 -video_size 1920x1080 -i /dev/video0 -codec:v ffv1
>   -level 3 -codec:a pcm_s16le -f matroska video-out_ffv1.mkv

Have you considered avoiding HDMI? Here you’re changing the resolution and colorspace and audio compression characteristics to include HDMI in the middle of the process. If you have a firewire cable you could transfer the m2ts stream from the tape into ffmpeg as use a stream copy rather than a realtime encoding.

> Setup 2) PAL S-video playback -> TBC -> ADC/HDMI adapter -> HDMI-USB3/ms2130 capture -> ffmpeg/v4l2 -> 422 FFV1/MKV
> 
> The PAL S-video/AFM HiFi playback can be
> 
> * Hi8 tape playback/S-video out from a Sony TR2000E camcorder or a
>   S880E Hi8 deck
> * S-VHS playback from a Panasonic NV-HS1000 S-VHS deck
> 
> 
> A preliminary, fictive test trying the FX7 camera to HDMI instead, managed 422 video at 720x576 and 25 fps using this command line
> 
>   ffmpeg -hide_banner -f alsa -ac 2 -i hw:CARD=MS2109,DEV=0 -f v4l2
>   -framerate 25 -video_size 720x576 -i /dev/video0 -codec:v ffv1
>   -level 3 -codec:a pcm_s16le -f matroska video-out_ffv1.mkv
> 
> 
> I am somewhat unsure if the above are optimal ffmpeg codes and should like to get clarified what input/output format definitions (standards PAL, resolution, colors, framerates etc) that are neccesary and recommended, when here are both a source tape playback device and video out via HDMI and ADC or HDMI-USB card?

I’d suggest adding more of the audiovisual characteristics if your input isn’t providing them. For instance, for an S-video PAL source I think you could add:

-color_range mpeg
-color_primaries bt470bg
-color_trc bt709
-colorspace bt470bg

If ffmpeg interprets the input as non-interlaced when it is, you could add:
-vf setfield=tff

Also if ffmpeg interprets the input without an aspect ratio you may want to set it, else you’ll get a 1/1 SAR with your command.

> Earlier playback has showed a bit flickering at the top and bottom horizontal line of the S-video 720x576. Possibly these can be cropped away with ffmpeg crop filter, or optional map or crop the whole 4:3 video image to 16:9. Suggestions?

That may just be head switching from the original videotape. You may be able to control that with tracking or head alignment in the unit if that’s adjustable. Otherwise if you’re using Matroska you could consider using the PixelCrop* elements to store the intended display aperture for the video, while still storing the entire frame.
Dave


> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://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