Então aqui está o acordo. Eu estou correndo em vários erros entre ffmpeg e ffserver. Os vídeos estão em grande forma, até onde eu sei, e transmitem bem, individualmente. Mas quando eu uso uma lista, bem, as coisas ficam estranhas.
Primeiro, o ffserver está rodando assim:
ffserver -f asfffserver.conf
asfffserver.conf se parece com:
HTTPPort 8090
# bind to all IPs aliased or not
HTTPBindAddress 0.0.0.0
# max number of simultaneous clients
MaxClients 1000
# max bandwidth per-client (kb/s)
MaxBandwidth 10000
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 700M
</Feed>
# ASF output - for media player classic
<Stream test.asf>
# the source feed
Feed feed1.ffm
# the output stream format - ASF
Format asf
VideoCodec mpeg4
# this must match the ffmpeg -r argument
VideoFrameRate 30
# generally leave this is a large number
VideoBufferSize 100000
# another quality tweak
VideoBitRate 768
# quality ranges - 1-31 (1 = best, 31 = worst)
VideoQMin 1
VideoQMax 5
VideoSize 720x480
# this sets how many seconds in past to start
PreRoll 0
# Audio Codec
AudioCodec libmp3lame
AudioBitRate 56
AudioChannels 2
AudioSampleRate 24000
</Stream>
<Stream stat.html>
Format status
ACL allow 127.0.0.1
</Stream>
Então eu executo o ffmpeg assim:
ffmpeg -f concat -i dailylist.txt -c copy http://localhost:8090/feed1.ffm
O arquivo dailylist.txt contém ( especificações sobre esses dois estão localizados aqui )
file /pathtomyvideo/shorts/0019.mp4
file /pathtomyvideo/shorts/0197.mp4
Então o ffmpeg roda perfeitamente, até alguns segundos no segundo vídeo, quando o ffmpeg falha com esta mensagem:
av_interleaved_write_frame(): Connection reset by peer9.15 bitrate= 383.7kbits/s dup=5561 drop=11754 speed=10.8x
Error writing trailer of http://localhost:8090/feed1.ffm: Connection reset by peerframe= 9755 fps=182 q=2.0 Lsize= 27156kB time=00:09:42.51 bitrate= 381.9kbits/s dup=5561 drop=11847 speed=10.9x
video:22639kB audio:3962kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.088314%
Conversion failed!
e ffserver diz:
Assertion asf->packet_timestamp_end >= asf->packet_timestamp_start failed at /build/ffmpeg-e0CgSU/ffmpeg-2.8.4+git1~trusty/ffmpeg/libavformat/asfenc.c:777
Aborted (core dumped)
Esse é meu problema. Alguma sugestão para consertá-lo? Eu posso colar logs mais detalhados se eles ajudarem, ou executar qualquer teste que você me pedir. Se alguém puder resolver isso, eu ficaria eternamente grato, e se / quando este projeto for lançado, vou mencionar você na tela.
Obrigado!