пн, 19 февр. 2024 г., 20:59 Terje J. Hanssen via Cin <cin@lists.cinelerra-gg.org>:
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%20video#setptsfilter


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
Cin@lists.cinelerra-gg.org
https://lists.cinelerra-gg.org/mailman/listinfo/cin