FFMPEG «Прошедшая длительность 0.xxxxxx слишком велика»

FFMPEG «Прошедшая длительность 0.xxxxxx слишком велика»

Я записываю потоковую передачу HLS и хотел бы сохранить ее в контейнере FLV.

Мой cmd ffmpeg:

/.../recorder/class/ffmpeg-2.6.1-32bit-static/./ffmpeg  -i http://server/url/playlist.m3u8 -b:a 128K -acodec libmp3lame -ar 44100 -write_xing 0 -y -b:v 512K -vcodec flv -t 1860 /tmp/test.flv

Запись начинается, но в выводе консоли отображается много:Past duration 0.XXXXXX too large

Что означает это предупреждение? И как их исправить?

Это консольный вывод входной информации:

ffmpeg version 2.6.1-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --cc=gcc-4.9
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, hls,applehttp, from 'http://server/url/playlist.m3u8':
  Duration: N/A, start: 35483.191100, bitrate: N/A
  Program 0 
    Metadata:
      variant_bitrate : 303609
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 303609
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 67 kb/s
    Metadata:
      variant_bitrate : 303609

Как мне решить эту проблему?

решение1

Эта почтаКажется, ответ есть: «В версиях FFMpeg после 15 января 2015 года часто отображается это предупреждение. Оно было добавлено для предупреждения о возможных искажениях управления скоростью, в противном случае оно не причиняет никакого вреда».

Похоже, он срабатывает, когда «время представления (pts) во входном потоке отличается от времени представления в выходном потоке более чем на фиксированный предел, установленный на 0,6».

решение2

Кажется, это новая «фича»:ffmpeg спамит сообщениями «Прошедшая длительность xy слишком велика»

В ffmpeg версии 2.6.2 они записываются один раз для каждой кадровой информации (frame=...), а в 2.6.git они появляются в основном в начале записи, а затем через нерегулярные интервалы.

Связанный контент