[FFmpeg-devel] ffmpeg - message requesting help

GeoffC geoffc at mail.ru
Wed Jun 16 17:05:47 EEST 2021


Hello.
I'm responding to a request for help with ffmpeg that was output in a terminal 
error message via mpv media player.
Full details are below but briefly, I'm on MX Linux 19.4 and using mpv/ffmpeg to 
play a movie MKV file with TrueHD audio (bitstreamed through an AV Receiver, in 
case that's relevant).

Initially the playback works fine, and remains so if left uninterrupted (at 
least as far as I've watched it, not the whole movie).
However if I jump directly to a new point in the movie by e.g clicking in the 
time bar or skipping to next chapter, then sometimes - but not always - the 
audio is lost. The video plays ok from the new point but the audio sometimes 
drops out completely.
When this happens, an error message is output to the terminal regarding an 
unusual "samples per frame" value as shown in the terminal output below, along 
with a request to help by uploading a sample.

I've created a 5-minute sample that I hope is enough, but the 
videolanfileuploader seems to require a gitlab ticket number that I don't have 
yet - what is the procedure now?.


A web search on the message showed only one result for the message, it was in 
the source code of module avformat/spdifenc, specifically a fix for handling of 
large TrueHD frames. This is part of a "sanity check" added by anssih and 
committed on 20 Feb 2020 ( 
https://github.com/FFmpeg/FFmpeg/commit/36e156bef02566d70cea46cc5e00b3e5d5ed3286#diff-86f89550175526d713fb8dd01b291190197a0014c46b9d9e40896ceadfa4b562R474 
):-

---------
         /* sanity check */
         if (padding_remaining < 0 || padding_remaining >= MAT_FRAME_SIZE / 2) {
             avpriv_request_sample(s, "Unusual frame timing: %"PRIu16" => 
%"PRIu16", %d samples/frame",
                                   ctx->truehd_prev_time, input_timing, 
ctx->truehd_samples_per_frame);
             padding_remaining = 0;
         }
---------

I think (?) I'm safe in saying that the very latest ffmpeg snapshot will not 
make a difference in this case.

Details:-

The following terminal output shows 3 jumps to new positions where the audio 
failed and the 3 error messages. On my 4th. jump the audio came back. 
Interestingly the 3 pairs of numbers are different but the offending value is 
always 40.

------------
Terminal output:-
$ mpv --vo=gpu --profile=gpu-hq  "/media/vgx/ML1/The Da Vinci Code 
(2006)/DaVinciCode.mkv"
  (+) Video --vid=1 (*) (h264 1920x1080 23.976fps)
  (+) Audio --aid=1 --alang=eng (*) (truehd 6ch 48000Hz)
  (+) Subs  --sid=1 --slang=eng (*) (f) (hdmv_pgs_subtitle)
ALSA lib conf.c:5014:(snd_config_expand) Unknown parameters 
AES0=6,AES1=130,AES2=0,AES3=14
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM 
default:AES0=6,AES1=130,AES2=0,AES3=14
AO: [alsa] 192000Hz 7.1 8ch spdif-truehd
VO: [gpu] 1920x1080 yuv420p
AV: 00:10:59 / 02:54:37 (6%) A-V:  0.000 Cache: 0.0s
[ffmpeg] spdif: Unusual frame timing: 6744 => 40915, 40 samples/frame is not 
implemented. Update your FFmpeg version to the newest one from Git. If the 
problem still occurs, it means that your file has a feature which has not been 
implemented.
[ffmpeg] spdif: If you want to help, upload a sample of this file to 
https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. 
(ffmpeg-devel at ffmpeg.org)
AV: 00:18:08 / 02:54:37 (10%) A-V:  0.000 Cache: 0.0s
[ffmpeg] spdif: Unusual frame timing: 3352 => 35793, 40 samples/frame is not 
implemented. Update your FFmpeg version to the newest one from Git. If the 
problem still occurs, it means that your file has a feature which has not been 
implemented.
[ffmpeg] spdif: If you want to help, upload a sample of this file to 
https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. 
(ffmpeg-devel at ffmpeg.org)
AV: 00:24:23 / 02:54:37 (13%) A-V:  0.000 Cache: 0.0s
[ffmpeg] spdif: Unusual frame timing: 39704 => 1989, 40 samples/frame is not 
implemented. Update your FFmpeg version to the newest one from Git. If the 
problem still occurs, it means that your file has a feature which has not been 
implemented.
[ffmpeg] spdif: If you want to help, upload a sample of this file to 
https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. 
(ffmpeg-devel at ffmpeg.org)
(Paused) AV: 00:24:30 / 02:54:37 (14%) A-V:  0.000 Cache: 20s/43MB


Exiting... (Quit)
---------End of terminal output

---------
mpv details:-
mpv 0.32.0 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
  built on UNKNOWN
ffmpeg library versions:
    libavutil       56.22.100 (runtime 56.51.100)
    libavcodec      58.35.100 (runtime 58.91.100)
    libavformat     58.20.100 (runtime 58.45.100)
    libswscale      5.3.100 (runtime 5.7.100)
    libavfilter     7.40.101 (runtime 7.85.100)
    libswresample   3.3.100 (runtime 3.7.100)
ffmpeg version: 4.3.2-0+deb11u1~mx19+1
------------End of mpv details
------------

ffmpeg details:-
$ ffmpeg
ffmpeg version 4.3.2-0+deb11u1~mx19+1 Copyright (c) 2000-2021 the FFmpeg developers
   built with gcc 8 (Debian 8.3.0-6)
   configuration: --prefix=/usr --extra-version='0+deb11u1~mx19+1' 
--toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu 
--incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl 
--disable-stripping --enable-avresample --disable-filter=resample 
--enable-gnutls --enable-ladspa --enable-libaom --enable-libass 
--enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio 
--enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig 
--enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm 
--enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg 
--enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq 
--enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy 
--enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh 
--enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis 
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 
--enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 
--enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 
--enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm 
--enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 
--enable-shared
   libavutil      56. 51.100 / 56. 51.100
   libavcodec     58. 91.100 / 58. 91.100
   libavformat    58. 45.100 / 58. 45.100
   libavdevice    58. 10.100 / 58. 10.100
   libavfilter     7. 85.100 /  7. 85.100
   libavresample   4.  0.  0 /  4.  0.  0
   libswscale      5.  7.100 /  5.  7.100
   libswresample   3.  7.100 /  3.  7.100
   libpostproc    55.  7.100 / 55.  7.100
-------------End of ffmpeg details

Best regards
Geoff



More information about the ffmpeg-devel mailing list