HLS TS 檔案意外大

HLS TS 檔案意外大

似乎有時 HLS 分段對於少數流​​無法正常工作。我的 TS 檔案會一直成長,直到磁碟機已滿,並且不會發生分段。我的大多數串流都可以完美運行數週(使用相同的命令列)。

我對有問題的來源流之一(FFPROBE 輸出)了解多少: https://justpaste.it/5d0px

我的命令列看起來像這樣:

/root/bin/ffmpeg -loglevel 16 -probesize 10M -analyzeduration 10M -i http://host/streams/stream.m3u8 -map 0:1 -map 0:0 -c:a copy -c:v copy -f hls -hls_time 10 -hls_flags delete_segments -hls_base_url http://host/ts/ -hls_segment_filename /var/media/ts/stream_%03d.ts /var/media/playlist/stream.m3u8

我正在將 FFMPEG 活動記錄到日誌檔案中,當我的磁碟機已滿時,我只看到一個錯誤:

av_interleaved_write_frame():裝置上沒有剩餘空間

寫入 /var/media/playlist/stream.m3u8 預告片時發生錯誤:裝置上沒有剩餘空間

我嘗試過這些 FFMPEG 版本:N-93765-gfcc01ba,4.1.3

HLS m3u8 檔案看起來不錯,持續時間也不錯,但最後的 TS 檔案會不斷成長,直到我的磁碟機已滿。使用Ramdrive儲存TS檔案。

編輯: 一些更新:以日誌等級 48 運行 FFMPEG 一整天:

  • 日誌檔案很大~790MB,所以我將只分享我得到的錯誤。當然如果你需要的話我會上傳的。
  • 分段在第 9538 個分段檔案處停止(請參閱上面的 HLS 設定),當分段停止時,我只看到此錯誤:

輸出流0:0中非單調DTS;上一個:8584618042,目前:307231408;更改為 8584618043。

在我的生產伺服器上,大多數 mystreams 都在運行,我製作了一個簡單的 Python 腳本,用於檢測 TS 檔案是否大於 20MB(TS 檔案通常最大 2 MB)

這是我的結果:

2019-05-21 08:02:02:/var/media/ts/tlc_9538.ts 大於 20MB

2019-05-21 08:02:03:/var/media/ts/eurosport_9538.ts 大於 20MB

2019-05-21 08:02:04:/var/media/ts/digi_sport1_9538.ts 大於 20MB

2019-05-21 09:27:01:/var/media/ts/travel_9538.ts 大於 20MB

2019-05-21 09:48:01:/var/media/ts/digi_sport2_9538.ts 大於 20MB

2019-05-21 11:21:01:/var/media/ts/digi_world_9538.ts 大於 20MB

2019-05-21 11:22:01:/var/media/ts/history_9538.ts 大於 20MB

2019-05-21 12:39:01:/var/media/ts/viasat_history_9538.ts 大於 20MB

正如您所看到的,該事件發生在第 9538 個 TS 檔案中。這有什麼理由嗎?

相關內容