Como posso evitar a falha intermordial do ffmpeg com o erro 'AVC: nal size'?

4

Estou tentando abrir o stream de vídeo HDTV da NASA em ustream.tv diretamente em vlc . O problema que tenho é que só funciona às vezes. O comando que estou usando está abaixo:

ffmpeg -i "rtmp://ustreamlivefs.fplive.net/ustream2live-live/stream_live_1_1_6540154 swfUrl=http://www.ustream.tv/flash/viewer.swf live=1" -c copy -bsf h264_mp4toannexb -y -f mpegts pipe: | vlc -

Quando isso funciona, funciona muito bem e enquanto eu deixar o fluxo em execução. Freqüentemente, no entanto, isso resulta em falha na inicialização e fornece uma saída assim:

[h264 @ 0x2273760] AVC: nal size 21135391
[h264 @ 0x2273760] no frame!
Failed to open bitstream filter h264_mp4toannexb for stream 0 with codec copy: Invalid argument
[mpegts @ 0x227b360] H.264 bitstream malformed, no startcode found, use the h264_mp4toannexb bitstream filter (-bsf h264_mp4toannexb)
av_interleaved_write_frame(): Invalid argument
[0x7fb5140014e8] main stream error: cannot pre fill buffer

Um pouco de fundo no comando: o destino final não é vlc , mas a distribuição via DLNA para exibição em uma TV - daí a necessidade de converter para o formato de contêiner mpegts . A transferência de DLNA está sendo afetada com mediatomb . Esta configuração sofre o mesmo problema de falha intermitente que o exemplo acima.

Estou usando o ffmpeg versão 1.1.3 no Arch Linux 64-bit.

Eu tentei procurar por respostas para isso, mas não consegui encontrar nada de útil - tudo que eu vi é semelhante, mas diferente. Posso modificar o comando para torná-lo mais confiável e, em caso afirmativo, como?

    
por starfry 29.05.2013 / 16:12

0 respostas

Tags