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

13086
Tenaciousd93

Я записываю потоковую передачу 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 

Как мне решить это?

5
Пожалуйста, покажите фактический полный вывод консоли. slhck 9 лет назад 0

2 ответа на вопрос

2
George

This post seems to have the answer: "FFMpeg versions after Jan 15 2015 often display this warning. It has been added to warn about possible rate control distortion, otherwise it does not cause any harm."

It appears to be triggered when "the presentation time (pts) in the input stream differs from the one in the output stream by more than a fixed limit set to 0.6"

0
samwyse

It seems to be a new "feature": ffmpeg spams "Past duration x.y too large" messages

With ffmpeg version 2.6.2 they get written out once per frame information (frame=...) and with 2.6.git they occur mostly at the start of the recording and then at irregular intervals.

Похожие вопросы