[FFmpeg-trac] #11050(ffmpeg:new): Change in frame rate detection in dvvideo in v6.1 (was: Change in frame rate detection in dvvideo in v6)

FFmpeg trac at avcodec.org
Sat Jun 8 20:11:47 EEST 2024


#11050: Change in frame rate detection in dvvideo in v6.1
-----------------------------------+----------------------------------
             Reporter:  Ian Young  |                    Owner:  (none)
                 Type:  defect     |                   Status:  new
             Priority:  normal     |                Component:  ffmpeg
              Version:  6.1.1      |               Resolution:
             Keywords:  dvvideo    |               Blocked By:
             Blocking:             |  Reproduced by developer:  0
Analyzed by developer:  0          |
-----------------------------------+----------------------------------
Changes (by Ian Young):

 * summary:  Change in frame rate detection in dvvideo in v6 => Change in
     frame rate detection in dvvideo in v6.1


Old description:

> I have a workflow that involves working with some very old `.dv` files.
> With newer versions of `ffmpeg`, it isn't working.
>
> Testing with the `linuxserver/ffmpeg` images, I can see the following in
> versions 4.4, 5.1 and 6.0:
>
> {{{
> ffprobe clip.dv
> ffprobe version 6.0 Copyright (c) 2007-2023 the FFmpeg developers
>   built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
>   configuration: --disable-debug --disable-doc --disable-ffplay --enable-
> cuvid --enable-ffprobe --enable-gpl --enable-libaom --enable-libass
> --enable-libfdk_aac --enable-libfreetype --enable-libkvazaar --enable-
> libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
> --enable-libopenjpeg --enable-libopus --enable-libsvtav1 --enable-
> libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-
> libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-
> libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-
> nonfree --enable-nvdec --enable-nvenc --enable-opencl --enable-openssl
> --enable-stripping --enable-vaapi --enable-vdpau --enable-version3
>   libavutil      58.  2.100 / 58.  2.100
>   libavcodec     60.  3.100 / 60.  3.100
>   libavformat    60.  3.100 / 60.  3.100
>   libavdevice    60.  1.100 / 60.  1.100
>   libavfilter     9.  3.100 /  9.  3.100
>   libswscale      7.  1.100 /  7.  1.100
>   libswresample   4. 10.100 /  4. 10.100
>   libpostproc    57.  1.100 / 57.  1.100
> [dv @ 0x5634ce7c8340] Estimating duration from bitrate, this may be
> inaccurate
> Input #0, dv, from 'clip.dv':
>   Metadata:
>     timecode        : 00:00:21:04
>   Duration: 01:01:20.72, start: 0.000000, bitrate: 28800 kb/s
>   Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR 64:45 DAR 16:9],
> 25000 kb/s, 25 fps, 25 tbr, 25 tbn
>   Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
> }}}
>
> Specifically: `25 fps, 25 tbr, 25 tbn`
>
> Now the same under v6.1 and later (also tested under 7.0.1):
>
> {{{
> ffprobe clip.dv
> ffprobe version 6.1.1 Copyright (c) 2007-2023 the FFmpeg developers
>   built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
>   configuration: --disable-debug --disable-doc --disable-ffplay --enable-
> alsa --enable-cuvid --enable-ffprobe --enable-gpl --enable-libaom
> --enable-libass --enable-libfdk_aac --enable-libfreetype --enable-
> libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-
> libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-
> libplacebo --enable-librav1e --enable-libshaderc --enable-libsvtav1
> --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf
> --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp
> --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid
> --enable-libzimg --enable-nonfree --enable-nvdec --enable-nvenc --enable-
> cuda-llvm --enable-opencl --enable-openssl --enable-stripping --enable-
> vaapi --enable-vdpau --enable-version3 --enable-vulkan
>   libavutil      58. 29.100 / 58. 29.100
>   libavcodec     60. 31.102 / 60. 31.102
>   libavformat    60. 16.100 / 60. 16.100
>   libavdevice    60.  3.100 / 60.  3.100
>   libavfilter     9. 12.100 /  9. 12.100
>   libswscale      7.  5.100 /  7.  5.100
>   libswresample   4. 12.100 /  4. 12.100
>   libpostproc    57.  3.100 / 57.  3.100
> [dv @ 0x5566f329db40] Estimating duration from bitrate, this may be
> inaccurate
> Input #0, dv, from 'clip.dv':
>   Metadata:
>     timecode        : 00:00:21:04
>   Duration: 01:01:20.72, start: 0.000000, bitrate: 28800 kb/s
>   Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR 64:45 DAR 16:9],
> 28800 kb/s, 60k fps, 25 tbr, 60k tbn
>   Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
> }}}
>
> Difference: `60k fps, 25 tbr, 60k tbn`
>
> In my actual workflow, there's an error when `ffmpeg` attempts to write
> 60000 into the trailer of a `.mov` file, but the above seems to indicate
> where that value is coming from.
>
> The files in question are around 13GB each, but the above behaviour shows
> up in the first 10MB so I'll try and attach one of those.

New description:

 I have a workflow that involves working with some very old `.dv` files.
 With newer versions of `ffmpeg`, it isn't working.

 Testing with the `linuxserver/ffmpeg` images, I can see the following in
 versions 4.4, 5.1 and 6.0:

 {{{
 ffprobe clip.dv
 ffprobe version 6.0 Copyright (c) 2007-2023 the FFmpeg developers
   built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
   configuration: --disable-debug --disable-doc --disable-ffplay --enable-
 cuvid --enable-ffprobe --enable-gpl --enable-libaom --enable-libass
 --enable-libfdk_aac --enable-libfreetype --enable-libkvazaar --enable-
 libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
 libopenjpeg --enable-libopus --enable-libsvtav1 --enable-libtheora
 --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis
 --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264
 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-nonfree
 --enable-nvdec --enable-nvenc --enable-opencl --enable-openssl --enable-
 stripping --enable-vaapi --enable-vdpau --enable-version3
   libavutil      58.  2.100 / 58.  2.100
   libavcodec     60.  3.100 / 60.  3.100
   libavformat    60.  3.100 / 60.  3.100
   libavdevice    60.  1.100 / 60.  1.100
   libavfilter     9.  3.100 /  9.  3.100
   libswscale      7.  1.100 /  7.  1.100
   libswresample   4. 10.100 /  4. 10.100
   libpostproc    57.  1.100 / 57.  1.100
 [dv @ 0x5634ce7c8340] Estimating duration from bitrate, this may be
 inaccurate
 Input #0, dv, from 'clip.dv':
   Metadata:
     timecode        : 00:00:21:04
   Duration: 01:01:20.72, start: 0.000000, bitrate: 28800 kb/s
   Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR 64:45 DAR 16:9],
 25000 kb/s, 25 fps, 25 tbr, 25 tbn
   Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
 }}}

 Specifically: `25 fps, 25 tbr, 25 tbn`

 Now the same under v6.1 and later (also tested under 7.0.1):

 {{{
 ffprobe clip.dv
 ffprobe version 6.1.1 Copyright (c) 2007-2023 the FFmpeg developers
   built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
   configuration: --disable-debug --disable-doc --disable-ffplay --enable-
 alsa --enable-cuvid --enable-ffprobe --enable-gpl --enable-libaom
 --enable-libass --enable-libfdk_aac --enable-libfreetype --enable-
 libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-
 libplacebo --enable-librav1e --enable-libshaderc --enable-libsvtav1
 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf
 --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp
 --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid
 --enable-libzimg --enable-nonfree --enable-nvdec --enable-nvenc --enable-
 cuda-llvm --enable-opencl --enable-openssl --enable-stripping --enable-
 vaapi --enable-vdpau --enable-version3 --enable-vulkan
   libavutil      58. 29.100 / 58. 29.100
   libavcodec     60. 31.102 / 60. 31.102
   libavformat    60. 16.100 / 60. 16.100
   libavdevice    60.  3.100 / 60.  3.100
   libavfilter     9. 12.100 /  9. 12.100
   libswscale      7.  5.100 /  7.  5.100
   libswresample   4. 12.100 /  4. 12.100
   libpostproc    57.  3.100 / 57.  3.100
 [dv @ 0x5566f329db40] Estimating duration from bitrate, this may be
 inaccurate
 Input #0, dv, from 'clip.dv':
   Metadata:
     timecode        : 00:00:21:04
   Duration: 01:01:20.72, start: 0.000000, bitrate: 28800 kb/s
   Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR 64:45 DAR 16:9],
 28800 kb/s, 60k fps, 25 tbr, 60k tbn
   Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
 }}}

 Difference: `60k fps, 25 tbr, 60k tbn`

 In my actual workflow, there's an error when `ffmpeg` attempts to write
 60000 into the trailer of a `.mov` file, but the above seems to indicate
 where that value is coming from.

 The files in question are around 13GB each, but the above behaviour shows
 up in the first 2MB so I'll try and attach one of those.

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11050#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list