
Estoy grabando una transmisión HLS y me gustaría guardarla en un contenedor FLV.
El cmd de mi ffmpeg es:
/.../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
Comienza a grabar pero en la salida de la consola muestro muchos de:Past duration 0.XXXXXX too large
¿Qué significa esta advertencia? ¿Y cómo puedo solucionarlos?
Esta es la salida de la consola de información de entrada:
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
¿Cómo resuelvo esto?
Respuesta1
Esta publicaciónparece tener la respuesta: "Las versiones de FFMpeg posteriores al 15 de enero de 2015 a menudo muestran esta advertencia. Se ha agregado para advertir sobre una posible distorsión del control de velocidad; de lo contrario, no causa ningún daño".
Parece activarse cuando "el tiempo de presentación (pts) en el flujo de entrada difiere del del flujo de salida en más de un límite fijo establecido en 0,6".
Respuesta2
Parece ser una nueva "característica":ffmpeg envía spam mensajes de "La duración anterior xy es demasiado grande"
Con la versión 2.6.2 de ffmpeg, se escriben una vez por información de cuadro (cuadro =...) y con 2.6.git ocurren principalmente al inicio de la grabación y luego a intervalos irregulares.