Opened 3 months ago

Closed 8 weeks ago

#7345 closed defect (fixed)

Progress value out_time_ms is in microseconds (μs) NOT milliseconds (ms).

Reported by: flaneur Owned by:
Priority: minor Component: ffmpeg
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

FFmpeg can produce periodic progress information using e.g. "-progress pipe:1", which produces key=value pairs like below. The value for key "out_time_ms" however is not in milliseconds (ms) but in microseconds, which is abbreviated with "μs" - sometimes "us" may be used for convenience but "ms" means something else.

frame=391
fps=97.0
stream_0_0_q=28.0
bitrate= 162.8kbits/s
total_size=262192
out_time_ms=12885333
out_time=00:00:12.885333
dup_frames=0
drop_frames=0
speed= 3.2x
progress=continue

The key out_time_ms is incorrect as "ms" is the abbreviation for milliseconds but the value shown is actually in microseconds. The correct abbreviation for microseconds is μs or one might use "us", as the Ancient Greek μῦ [mŷː] might be inconvenient for people to use.

Or you change the value to a float showing milliseconds instead. Either way, a correction is needed.

https://en.wikipedia.org/wiki/Mu_(letter)
https://en.wikipedia.org/wiki/Orders_of_magnitude_(time)

How to reproduce:
You can reproduce that with any transcoding operation.

% ffmpeg -i input -progress pipe:1 -nostats -nostdin output

Version from Ubuntu 18.04

ffmpeg version 3.4.2-2 Copyright (c) 2000-2018 the FFmpeg developers

built with gcc 7 (Ubuntu 7.3.0-16ubuntu2)
configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100

Change History (4)

comment:1 Changed 3 months ago by cehoyos

  • Keywords abbreviation microseconds milliseconds progress removed

Please test current FFmpeg git head and please provide the command line you tested together with the complete, uncut console output to make this a valid ticket.

comment:2 Changed 3 months ago by Gyan

Yes, pts is scaled to AVTB. Patch sent - https://patchwork.ffmpeg.org/patch/9894/.

comment:3 Changed 2 months ago by cehoyos

  • Component changed from undetermined to ffmpeg
  • Version changed from 3.4 to git-master

comment:4 Changed 8 weeks ago by cehoyos

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.