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?
Tags ffmpeg