пн, 19 февр. 2024 г., 20:59 Terje J. Hanssen via Cin < [email protected]>:
Thirty years ago I tape recordered some hundreds of old genealogy photos, which I now plan to convert from SD-DV files to burn on DVD video discs. The camcordings were made with fade in/out, zoom closeups and pan effects, which fit well at 2x playback speed and with additional pause/play navigation on DVD videos.
Signal/noise at 2x speed with same fps and bitrate (halph of the fps are dropped), should result in output with 1/2 playback duration and equivalent quality as normal speed.
Yet I wonder if it possible in some way to achieve better quality if also 2x bitrate and fps are possible to utilize temporarily as a better quality base (downsampling), even if DVD video limits the fps and bitrate?
They are progressive (not interlaced) dv files, right? I only can think about fields-> frames conversion, that changes both frame size and fps. There might be some movement interpolation algorithms, or even neural nets nowadays, but I can't see any use of it directly in ffmpeg (for one command conversion) as long as output remain at 25 fps. But there might be some sideefects that makes viewing better/worse? Bitrate for consumer dv is fixed at 25Mbits, dv50 obviously goes above that *2, but not sure if you gain anything by transcoding into dv? (it was important when other hardware worked with those files, or they were transferred back to tape. But our current case is single Linux workstation only..?). mpeg2 dvd video yeah, seems to have gard upper cap on how big bitrate-wise it can go - you can try other stuff like custom matrixes and see if they improve quality ... I think there was yuvfps tool in mjpegtools, but I never used it ...
Here are my test samples so far:
du -sh dv95* 1) 2,0G dv95.dv (input source)
2) 1,1G dv95_2x_25fps.dv 3) 2,0G dv95_2x_50fps.dv
4) 218M dv95_2x_25fps.mpg 5) 218M dv95_2x_50fps.mpg
1) ffprobe -hide_banner dv95.dv (source DV, Duration: 00:09:56.48)
[dv @ 0x55d65d6ca080] Estimating duration from bitrate, this may be inaccurate Input #0, dv, from 'dv95.dv': Metadata: timecode : 00:00:00:00 Duration: 00:09:56.48, start: 0.000000, bitrate: 28800 kb/s Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 60k fps, 25 tbr, 60k tbn Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
ffmpeg conversions using the FFmpeg setpts filter
http://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20vi...
2) ffmpeg -i dv95.dv -vf "setpts=0.5*PTS" -an dv95_2x_25fps.dv
ffprobe -hide_banner dv95_2x_25fps.dv
[dv @ 0x5582eb685080] Estimating duration from bitrate, this may be inaccurate Input #0, dv, from 'dv95_2x_25fps.dv': Metadata: timecode : 00:00:00:00 Duration: 00:04:58.32, start: 0.000000, bitrate: 28800 kb/s Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 60k fps, 25 tbr, 60k tbn
3) I wonder why the Duration is still 00:09:56.52 here ?
ffmpeg -hide_banner -i dv95.dv -r 50 -vf "setpts=0.5*PTS" -an dv95_2x_50fps.dv
ffprobe -hide_banner dv95_2x_50fps.dv
[dv @ 0x55fe0b5bb080] Estimating duration from bitrate, this may be inaccurate Input #0, dv, from 'dv95_2x_50fps.dv': Metadata: timecode : 00:00:00:00 Duration: 00:09:56.52, start: 0.000000, bitrate: 28800 kb/s Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 60k fps, 25 tbr, 60k tbn
4) ffmpeg -hide_banner -i dv95.dv -f dvd -target pal-dvd -aspect 4:3 -vf "setpts=0.5*PTS" -an dv95_2x_25fps.mpg
ffprobe -hide_banner dv95_2x_25fps.mpg
[mpeg @ 0x55a330208080] start time for stream 0 is not set in estimate_timings_from_pts Input #0, mpeg, from 'dv95_2x_25fps.mpg': Duration: 00:04:58.32, start: 0.540000, bitrate: 6115 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, progressive), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 9000000/0/0 buffer size: 1835008 vbv_delay: N/A Unsupported codec with id 98312 for input stream 0
5) ffmpeg -hide_banner -i dv95.dv -f dvd -target pal-dvd -r 50 -vf "setpts=0.5*PTS" -an dv95_2x_50fps.mpg
ffprobe -hide_banner dv95_2x_50fps.mpg
[mpeg @ 0x555e13da2080] start time for stream 0 is not set in estimate_timings_from_pts Input #0, mpeg, from 'dv95_2x_50fps.mpg': Duration: 00:04:58.26, start: 0.520000, bitrate: 6118 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, progressive), 720x576 [SAR 16:15 DAR 4:3], 50 fps, 50 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 9000000/0/0 buffer size: 1835008 vbv_delay: N/A Unsupported codec with id 98312 for input stream 0
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin