2016-02-25 288 views
0

我嘗試轉碼UDPHLS(M3U8)文件,並把在Web服務器的文件,如使用此代碼的Apache:ffmpeg的UDP來HLS錯誤

ffmpeg -i udp://239.1.2.1:60001 -acodec aac -strict -2 -vcodec libx264 -hls_wrap 100 -f hls /var/www/html/ts/1.m3u8 

起初trascoding的進度我看到一個錯誤

[h264 @ 0x14c1c60] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one 

但m3u8文件創建成功,我可以在客戶端播放它。但2或3分鐘後,我看到一些錯誤

[h264 @ 0x158d600] error while decoding MB 30 34, bytestream -10 dup=101 drop=0 [mpegts @ 0x149c660] PES packet size mismatch 
[aac_latm @ 0x158daa0] Reserved SBR extensions is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented. 
[aac_latm @ 0x158daa0] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/incoming/ and contact the ffmpeg-devel mailing list. ([email protected]) 
[aac_latm @ 0x158daa0] Expected to read 18 SBR bytes actually read 21. 
[aac_latm @ 0x158daa0] channel element 3.4 is not allocated 
Error while decoding stream #0:1: Invalid data found when processing input 
Last message repeated 1 times 
[udp @ 0x148c0c0] Circular buffer overrun. To avoid, increase fifo_size URL option. To survive in such case, use overrun_nonfatal option 
[h264 @ 0x158d600] error while decoding MB 41 20, bytestream -14 dup=102 drop=0  
udp://239.1.2.1:60001: Input/output error 

並立即停止流....任何人都知道我可以如何解決這個問題?

回答

2

嘗試增加URL本身的緩衝區大小。例如:

的ffmpeg -i UDP://239.1.2.1:60001 FIFO_SIZE = 5000

+0

TNX很多......你知道如何解決這個問題? [h264 @ 0x14c1c60]參考幀數(0 + 4)超過最大值(3;可能是損壞的輸入),丟棄一個 –

+0

嘗試將幀速率設置爲固定值,看看是否可以解決它。 –

+0

我看到sombosy使用'udp://239.232.209.112:50000?fifo_size = 2000000'代碼爲-i選項,你知道爲什麼要使用fifo_size兩次嗎? –