FFMPEG “Duração anterior 0.xxxxxx muito grande”

FFMPEG “Duração anterior 0.xxxxxx muito grande”

Estou gravando um streaming HLS e gostaria de salvar em um FLV Container.

O cmd do meu 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

Ele começa a gravar, mas na saída do console eu exibo muitos:Past duration 0.XXXXXX too large

O que este aviso significa? E como posso corrigi-los?

Esta é a saída do console das informações 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

Como faço para resolver isso?

Responder1

Esta postagemparece ter a resposta: "As versões do FFMpeg posteriores a 15 de janeiro de 2015 geralmente exibem este aviso. Ele foi adicionado para alertar sobre uma possível distorção do controle de taxa, caso contrário, não causa nenhum dano."

Parece ser acionado quando "o tempo de apresentação (pts) no fluxo de entrada difere daquele no fluxo de saída em mais do que um limite fixo definido como 0,6"

Responder2

Parece ser um novo "recurso":ffmpeg envia spam para mensagens "duração anterior xy muito grande"

Com o ffmpeg versão 2.6.2 eles são gravados uma vez por quadro (frame =...) e com o 2.6.git eles ocorrem principalmente no início da gravação e depois em intervalos irregulares.

informação relacionada