Ich nehme ein HLS-Streaming auf und möchte es in einem FLV-Container speichern.
Der Befehl meines ffmpeg lautet:
/.../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
Die Aufzeichnung beginnt, aber in der Konsolenausgabe wird häufig Folgendes angezeigt:Past duration 0.XXXXXX too large
Was bedeutet diese Warnung? Und wie kann ich sie beheben?
Dies ist die Konsolenausgabe der Eingabeinformationen:
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
Wie löse ich dieses Problem?
Antwort1
Dieser Beitragscheint die Antwort zu haben: „FFMpeg-Versionen nach dem 15. Januar 2015 zeigen diese Warnung häufig an. Sie wurde hinzugefügt, um vor einer möglichen Verzerrung der Ratensteuerung zu warnen, ansonsten verursacht sie keinen Schaden.“
Es scheint ausgelöst zu werden, wenn „die Präsentationszeit (Punkte) im Eingabestream von der im Ausgabestream um mehr als einen festen Grenzwert von 0,6 abweicht“.
Antwort2
Es scheint sich um ein neues "Feature" zu handeln:ffmpeg spammt „Vergangene Dauer xy zu lang“-Nachrichten
Bei ffmpeg Version 2.6.2 werden sie einmalig pro Frame-Information (frame=...) ausgegeben und bei 2.6.git treten sie überwiegend am Anfang der Aufnahme und danach in unregelmäßigen Abständen auf.