[Cin] DV50 - the forgotten optimal codec for digitizing analog Hi8/S-video ?

Terje J. Hanssen terjejhanssen at gmail.com
Sat Jun 14 15:09:03 CEST 2025



Den 14.06.2025 12:54, skrev Terje J. Hanssen:
>
>
> Den 13.06.2025 23:53, skrev Andrew Randrianasulu:
>>
>>
>> сб, 14 июн. 2025 г., 00:48 Terje J. Hanssen <terjejhanssen at gmail.com>:
>>
>>
>>
>>     Den 13.06.2025 05:37, skrev Andrew Randrianasulu:
>>>
>>>
>>>     чт, 12 июн. 2025 г., 23:33 Terje J. Hanssen
>>>     <terjejhanssen at gmail.com>:
>>>
>>>
>>>
>>>         Den 12.06.2025 19:01, skrev Andrew Randrianasulu:
>>>>
>>>>
>>>>         чт, 12 июн. 2025 г., 19:45 Terje J. Hanssen via Cin
>>>>         <cin at lists.cinelerra-gg.org>:
>>>>
>>>>             I have made another working ffmpeg command line without
>>>>             "-target pal-dv50" as seen below, and tried here to
>>>>             make a video preset for CinGG , but got errors and have
>>>>             questions:
>>>>
>>>>             A related example:
>>>>             Is it a reason why Cingg preset for DVD doesn't use
>>>>             "-target pal-dvd" that I have used with ffmpeg before?
>>>>
>>>>
>>>>         I am not sure if this is 'composite' command line switch
>>>>         for ffmpeg as command line application or you can use it in
>>>>         our profiles.
>>>>
>>>>         try and tell us now it works?
>>>
>>>         Not sure I understood what you meant here. But I did base my
>>>         FFmpeg command line on presets from WinFF, i.e for "PAL DVD
>>>         HQ Fullscreen":
>>>             -f dvd -target pal-dvd -aspect 4:3 -vb 8000k -mbd rd
>>>         -trellis 1 -flags +mv0 -cmp 0 -subcmp 2
>>>
>>>         As seen above, this WinFF preset make use of the related "-f
>>>         dvd -target pal-dvd"
>>>         https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg05766.html
>>>
>>>         In comparison Cingg's preset doesn't use ffmpeg's dvd target
>>>
>>>
>>>     *I think* -target just set bunch of parameters at once. So not
>>>     really needed if you set them individually in preset.
>>>
>>>
>>>
>>>         cat dvd.dvd
>>>
>>>             dvd mpeg2video
>>>             s 720x480
>>>             r 30000/1001
>>>             pixel_format yuv420p
>>>             g 18
>>>             maxrate 9000000
>>>             minrate 0
>>>             bufsize 1835008
>>>             packetsize 2048
>>>             cin_bitrate=8000000
>>>
>>>         --------------------------
>>>
>>>>         dv50_pal.mov
>>>>         mov dvvideo
>>>>         # cin_pix_fmt=yuv422p
>>>>         # cin_scale=720x576
>>>>         # r=50
>>>>
>>>>         there is
>>>>
>>>>         ffmpeg/video/dv_pal.qt
>>>>
>>>>         try it?
>>>
>>>         Yeah, thanks for this tip which looks good, interesting and
>>>         promising ;)
>>>
>>>         I noticed also this preset, but didn't bench test it. Now,
>>>         seemingly ".qt" tells me it means "quick-time" (not qt gui)
>>>
>>>         cat dv_pal.qt
>>>
>>>             mov dvvideo
>>>             cin_pix_fmt=yuv420p
>>>             field_order=bb
>>>             # 720x576, 25 fps
>>>
>>>         ----------
>>>
>>>         Applications/CinGG-20250430-x86_64.AppImage
>>>         Cinelerra Infinity - built: Apr 30 2025 07:18:32
>>>         git://git.cinelerra-gg.org/goodguy/cinelerra.git
>>>         <http://git.cinelerra-gg.org/goodguy/cinelerra.git>
>>>
>>>         -------
>>>         Shift P:
>>>         FFMPEG qt
>>>
>>>         Audio wrench:
>>>         pcm_s16le
>>>         Video wrench:
>>>         dv_pal.qt
>>>         yuv422p
>>>
>>>         Video4Linux /dev/video0
>>>         30 frames to record at a time (default, correct? should it
>>>         be set to 50fps?)
>>>
>>>         720 x 576
>>>         50.000 frame rate for recording
>>>
>>>         r(ecording)
>>>         Start record:
>>>
>>>         DeviceV4L2Base::v4l2_open pixels="YUYV"; res="1920x1080
>>>         1600x1200 1360x768 1280x1024 1280x960 1280x720 1024x768
>>>         800x600 720x576 720x480 640x480"
>>>         v4l2 s_fmt 720x576 YUYV
>>>         DeviceV4L2Base::v4l2_open VIDIOC_S_STD: Inappropriate ioctl
>>>         for device
>>>
>>>         -----------
>>>
>>>         And interestingly, the short cam test with Sony TR2000 Hi8
>>>         PAL connected via the A/D converter, the result also looks
>>>         promising :)
>>>
>>>         ---------
>>>
>>>         ffprobe -hide_banner Cgg_dv_pal+pcm.qt
>>>
>>>         Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Cgg_dv_pal+pcm.qt':
>>>           Metadata:
>>>             major_brand     : qt
>>>             minor_version   : 512
>>>             compatible_brands: qt
>>>             encoder         : Lavf61.1.100
>>>           Duration: 00:00:11.06, start: 0.000000, bitrate: 116736 kb/s
>>>           Stream #0:0[0x1]: Video: dvvideo (dv5p / 0x70357664),
>>>         yuv422p(bottom first), 720x576 [SAR 16:15 DAR 4:3], 57600
>>>         kb/s, 50 fps, 50 tbr, 12800 tbn (default)
>>>               Metadata:
>>>                 handler_name    : VideoHandler
>>>                 vendor_id       : FFMP
>>>           Stream #0:1[0x2]: Audio: pcm_s16le (sowt / 0x74776F73),
>>>         48000 Hz, stereo, s16, 1536 kb/s (default)
>>>               Metadata:
>>>                 handler_name    : SoundHandler
>>>                 vendor_id       : [0][0][0][0]
>>>
>>>         --------
>>>
>>
>>     A dv vs dv50 squiz:
>>
>>     DV: yuv420(pal) - ca, 25Mbit/s (video) - 25 FPS
>>     DV50; yuv422 - ca 50Mbit/s (video) - 25 FPS
>>
>>     I have also read that DV50 may be interpreted as 2 DV streams in
>>     parallell.
>>
>>
>>     But what happened by selecting framerate 50 fps in CinGG, when
>>
>>         ffprobe above say   57600 kb/s, 50 fps
>>
>>     and mediainfo below say
>>
>>         Overall bit rate                         : 117 Mb/s
>>         Bit rate (video)                         : 24.4 Mb/s
>>         Frame rate                               : 50.000 FPS
>>         Original frame rate                      : 25.000 FPS
>>         Scan type                                : Interlaced !!?
>>         Scan type, store method                  : Separated fields
>>         (2 fields per block)
>>
>>     Is the latter Separated fields 2 interlaced fields each odd and
>>     even lines that simulates a progressive 50 FPS video?
>>
>>
>> sorry, no idea here.
>>
>> Depend on your source and Project settings it probably still means 
>> interlaced, because we do not do auto-deinterlacing, or fields to 
>> frames conversion.
>>
>> Watch output file frame by frame, I think it will remain interlaced.
>
> Yes, I stepped frame by frame with VLC, but as this was a rather 
> static video recorded with the camera on a fixed table stand, I have 
> to wait until I later to try playback of real things with movments.
>
> My camcorder sources are all 50i no doubt. What confuse this workflow, 
> is the ms2130 capture card that captures progressively, not 25fps but 
> 50fps as actual in this case. And next the dvvideo codec is 
> fundamentally interlaced.
>
> So when mediainfo say 50 fps and scan type/store method is separated 2 
> fields per block, the remaining doubt is if this in effect will be 
> 100i fields in sequence or make possible "parallell fields 
> playback/displaying at once" (dependent of devices) ....
>
> Or said in another way, while dv50 no doubt offers better color 422 
> recording than DV, the doubt is if the 100Mbit/s+ bit rate offers no 
> benefits but waste of space, compared with plain dv50 at 50Mbit/s fps 
> (though unobtainable here)....

Or jump to and continue with what I first thought; keep it progressive 
in output,
That is find, customize or make a new mpeg2sd422p preset based on

422P at ML 	720 × 480 	30 	4:2:2 	50 	Sony IMX 
<https://en.wikipedia.org/wiki/Betacam#MPEG_IMX> (I only), Broadcast 
Contribution <https://en.wikipedia.org/wiki/Satellite_contribution> (I&P 
only)
720 × 576 	25



>>
>>
>>
>>
>>
>>>
>>>         mediainfo Cgg_dv_pal+pcm.qt
>>>         General
>>>         Complete name : Cgg_dv_pal+pcm.qt
>>>         Format : MPEG-4
>>>         Format profile : QuickTime
>>>         Codec ID : qt   0000.02 (qt  )
>>>         File size : 154 MiB
>>>         Duration : 11 s 60 ms
>>>         Overall bit rate mode : Constant
>>>         Overall bit rate : 117 Mb/s
>>>         Frame rate : 50.000 FPS
>>>         Writing application : Lavf61.1.100
>>>         FileExtension_Invalid : braw mov mp4 m4v m4a m4b m4p m4r 3ga
>>>         3gpa 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma ismt f4a
>>>         f4b f4v
>>>
>>>         Video
>>>         ID : 1
>>>         Format : DV
>>>         Codec ID : dv5p
>>>         Duration : 11 s 60 ms
>>>         Bit rate mode : Constant
>>>         Bit rate : 24.4 Mb/s
>>>         Width : 720 pixels
>>>         Height : 576 pixels
>>>         Display aspect ratio : 4:3
>>>         Frame rate mode : Constant
>>>         Frame rate : 50.000 FPS
>>>         Original frame rate : 25.000 FPS
>>>         Standard : PAL
>>>         Color space : YUV
>>>         Chroma subsampling : 4:2:2
>>>         Bit depth : 8 bits
>>>         Scan type : Interlaced !!?
>>>         Scan type, store method : Separated fields (2 fields per block)
>>>         Scan order : Bottom Field First
>>>         Compression mode : Lossy
>>>         Bits/(Pixel*Frame) : 1.179
>>>         Stream size : 32.2 MiB (21%)
>>>
>>>         Audio
>>>         ID : 2
>>>         Format : PCM
>>>         Format settings : Little / Signed
>>>         Codec ID : sowt
>>>         Duration : 11 s 42 ms
>>>         Bit rate mode : Constant
>>>         Bit rate : 1 536 kb/s
>>>         Channel(s) : 2 channels
>>>         Channel layout : L R
>>>         Sampling rate : 48.0 kHz
>>>         Bit depth : 16 bits
>>>         Stream size : 2.02 MiB (1%)
>>>         Default : Yes
>>>         Alternate group : 1
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>>             Shift P:
>>>>             FFMPEG mov
>>>>
>>>>             Audio wrench enabled first: Didn't find simple
>>>>             pcm_s16le and tried dnxhr_pcm_s16.mov, but got mismatch
>>>>             and disabled it
>>>>             Video wrench: dv50p.mov
>>>>
>>>>             Video4Linux /dev/video0
>>>>             50 frames to record at a time
>>>>             720 x 576
>>>>             50.000 frame reate for recording
>>>>
>>>>             r(ecording)
>>>>             Start record:
>>>>
>>>>             cin
>>>>             Cinelerra Infinity - built: May 18 2025 05:16:59
>>>>             ........
>>>>
>>>>                 DeviceV4L2Base::v4l2_open pixels="YUYV";
>>>>                 res="1920x1080 1600x1200 1360x768 1280x1024
>>>>                 1280x960 1280x720 1024x768 800x600 720x576 720x480
>>>>                 640x480"
>>>>                 v4l2 s_fmt 720x576 YUYV
>>>>                 DeviceV4L2Base::v4l2_open VIDIOC_S_STD:
>>>>                 Inappropriate ioctl for device
>>>>                 int FFMPEG::init_encoder(const char*):
>>>>                 mismatch audio/video file format:
>>>>                 /home/terje/Videos//DV50p_pal.mov
>>>>
>>>>                 DeviceV4L2Base::v4l2_open pixels="YUYV";
>>>>                 res="1920x1080 1600x1200 1360x768 1280x1024
>>>>                 1280x960 1280x720 1024x768 800x600 720x576 720x480
>>>>                 640x480"
>>>>                 v4l2 s_fmt 720x576 YUYV
>>>>                 DeviceV4L2Base::v4l2_open VIDIOC_S_STD:
>>>>                 Inappropriate ioctl for device
>>>>                 [AVFormatContext @ 0x7f6aa81d0080] Requested output
>>>>                 format 'dv50p_pal.mov' is not known.
>>>>                 int FFMPEG::init_encoder(const char*):
>>>>                 failed: /home/terje/Videos//DV50p_pal.mov
>>>>
>>>>                 DeviceV4L2Base::v4l2_open pixels="YUYV";
>>>>                 res="1920x1080 1600x1200 1360x768 1280x1024
>>>>                 1280x960 1280x720 1024x768 800x600 720x576 720x480
>>>>                 640x480"
>>>>                 v4l2 s_fmt 720x576 YUYV
>>>>                 DeviceV4L2Base::v4l2_open VIDIOC_S_STD:
>>>>                 Inappropriate ioctl for device
>>>>                 [AVFormatContext @ 0x7f6aa81ad0c0] Requested output
>>>>                 format 'dv50p_pal.mov' is not known.
>>>>                 int FFMPEG::init_encoder(const char*):
>>>>                 failed: /home/terje/Videos//DV50p_pal.mov
>>>>                 DeviceV4L2Base::v4l2_open pixels="YUYV";
>>>>                 res="1920x1080 1600x1200 1360x768 1280x1024
>>>>                 1280x960 1280x720 1024x768 800x600 720x576 720x480
>>>>                 640x480"
>>>>                 v4l2 s_fmt 720x576 YUYV
>>>>
>>>>             --------------------
>>>>
>>>>             ffmpeg -hide_banner -f v4l2 -i /dev/video0 -f alsa
>>>>             -ch_layout stereo -i hw:CARD=UHD,DEV=0 -c:v dvvideo -vf
>>>>             scale=720x576 -r 50 -c:a copy -t 10 -f mov dv_r50+pcm.mov
>>>>
>>>>             Input #0, video4linux2,v4l2, from '/dev/video0':
>>>>               Duration: N/A, start: 538.465207, bitrate: 1990656 kb/s
>>>>               Stream #0:0: Video: rawvideo (YUY2 / 0x32595559),
>>>>             yuyv422, 1920x1080, 1990656 kb/s, 60 fps, 60 tbr, 1000k tbn
>>>>             Input #1, alsa, from 'hw:CARD=UHD,DEV=0':
>>>>               Duration: N/A, start: 1749738351.392999, bitrate:
>>>>             1536 kb/s
>>>>               Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16,
>>>>             1536 kb/s
>>>>             Stream mapping:
>>>>               Stream #0:0 -> #0:0 (rawvideo (native) -> dvvideo
>>>>             (native))
>>>>               Stream #1:0 -> #0:1 (copy)
>>>>             Press [q] to stop, [?] for help
>>>>             [dvvideo @ 0x7f2298705c80] Only top-left chroma
>>>>             location is supported in DV, input value is: unspecified
>>>>             ----
>>>>             frame=  476 fps= 50 q=-0.0 size=  135168KiB
>>>>             time=00:00:09.50 bitrate=116553.7kbits/s dup=0 drop=94
>>>>             speed=   1x [out#0/mov @ 0x55b8598e3700]
>>>>             video:140625KiB audio:1875KiB subtitle:0KiB other
>>>>             streams:0KiB global headers:0KiB muxing overhead: 0.026882%
>>>>
>>>>             frame=  500 fps= 50 q=-0.0 Lsize=  142539KiB
>>>>             time=00:00:10.00 bitrate=116767.6kbits/s dup=0 drop=98
>>>>             speed=0.999x
>>>>
>>>>             --------
>>>>
>>>>             du -sh dv*
>>>>             140M    dv_50M+pcm.mov
>>>>             140M    dv_r50_50M+pcm.mov
>>>>             140M    dv_r50+pcm.mov
>>>>
>>>>             -----
>>>>
>>>>             ffprobe -hide_banner dv_r50+pcm.mov
>>>>
>>>>             Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'dv_r50+pcm.mov':
>>>>               Metadata:
>>>>                 major_brand     : qt
>>>>                 minor_version   : 512
>>>>                 compatible_brands: qt
>>>>                 encoder         : Lavf61.7.100
>>>>               Duration: 00:00:10.00, start: 0.000000, bitrate:
>>>>             116749 kb/s
>>>>               Stream #0:0[0x1]: Video: dvvideo (dv5p / 0x70357664),
>>>>             yuv422p(progressive), 720x576 [SAR 16:15 DAR 4:3],
>>>>             57600 kb/s, 50 fps, 50 tbr, 12800 tbn (default)
>>>>                   Metadata:
>>>>                     handler_name    : VideoHandler
>>>>                     vendor_id       : FFMP
>>>>                     encoder         : Lavc61.19.101 dvvideo
>>>>               Stream #0:1[0x2]: Audio: pcm_s16le (sowt /
>>>>             0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
>>>>                   Metadata:
>>>>                     handler_name    : SoundHandler
>>>>                     vendor_id       : [0][0][0][0
>>>>
>>>>             --------------
>>>>
>>>>             mediainfo dv_r50+pcm.mov
>>>>             General
>>>>             Complete name : dv_r50+pcm.mov
>>>>             Format                                   : MPEG-4
>>>>             Format profile : QuickTime
>>>>             Codec ID : qt   0000.02 (qt  )
>>>>             File size : 139 MiB
>>>>             Duration                                 : 10 s 2 ms
>>>>             Overall bit rate mode                    : Constant
>>>>             Overall bit rate : 117 Mb/s
>>>>             Frame rate : 50.000 FPS
>>>>             Writing application : Lavf61.7.100
>>>>
>>>>             Video
>>>>             ID                                       : 1
>>>>             Format                                   : DV
>>>>             Codec ID : dv5p
>>>>             Duration                                 : 10 s 0 ms
>>>>             Bit rate mode : Constant
>>>>             Bit rate : 24.4 Mb/s
>>>>             Width                                    : 720 pixels
>>>>             Height                                   : 576 pixels
>>>>             Display aspect ratio                     : 4:3
>>>>             Frame rate mode : Constant
>>>>             Frame rate : 50.000 FPS
>>>>             Original frame rate                      : 25.000 FPS
>>>>             Standard                                 : PAL
>>>>             Color space : YUV
>>>>             Chroma subsampling : 4:2:2
>>>>             Bit depth : 8 bits
>>>>             Scan type : Progressive
>>>>             Original scan type                       : Interlaced
>>>>             Original scan order                      : Bottom Field
>>>>             First
>>>>             Compression mode : Lossy
>>>>             Bits/(Pixel*Frame)                       : 1.179
>>>>             Stream size : 29.1 MiB (21%)
>>>>             Writing library : Lavc61.19.101 dvvideo
>>>>
>>>>             Audio
>>>>             ID                                       : 2
>>>>             Format                                   : PCM
>>>>             Format settings : Little / Signed
>>>>             Codec ID : sowt
>>>>             Duration                                 : 10 s 2 ms
>>>>             Bit rate mode : Constant
>>>>             Bit rate : 1 536 kb/s
>>>>             Channel(s)                               : 2 channels
>>>>             Channel layout : L R
>>>>             Sampling rate : 48.0 kHz
>>>>             Bit depth : 16 bits
>>>>             Stream size : 1.83 MiB (1%)
>>>>             Default                                  : Yes
>>>>             Alternate group : 1
>>>>
>>>>             -- 
>>>>             Cin mailing list
>>>>             Cin at lists.cinelerra-gg.org
>>>>             https://lists.cinelerra-gg.org/mailman/listinfo/cin
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250614/19b0dff0/attachment-0001.htm>


More information about the Cin mailing list