簡體   English   中英

ExoPlayer 正在播放當前錄制的媒體文件

[英]ExoPlayer playing currently recording media files

讓我重新提出我的問題,我很匆忙地寫了它。

當前情況:我已經設置了一台數字錄像機來錄制通過 DVB-C 提供的廣播。 它使用 TVHeadend 和 jetty/cling 在 raspberry 3B 上運行,以提供 UPnP 和其他訪問媒體文件的可能性。 為了觀看錄音,我使用 IJKPlayer 編寫了一個 android 播放器應用程序,該應用程序可以在智能手機、FireTV 和 AndroidTV 上運行。 播放當前正在錄制的媒體文件時的一個麻煩是,IJKPlayer 不支持時移。 意思是,當我開始播放當前正在錄制的文件時,我只能看到播放器當時知道的長度。 之后錄制的任何內容都無法播放。 我需要退出播放器活動並重新啟動它。 我已經通過使用自定義 servlet 實現“模擬”完成的重新編碼來解決該問題。 由於已知錄音的完整長度,我可以使用 ffmpeg 來完成此操作。

未來情況:我打算從 IJKPlayer 轉移到 ExoPlayer,因為它支持硬件播放並且在播放 h.264 媒體時要快得多。 我當然可以使用與上述相同的解決方案,但據我所知,ExoPlayer 可以支持當前使用時間線 class 錄制的媒體文件。 但是,我似乎既沒有找到有用的文檔,也沒有找到任何好的例子。 因此,我將不勝感激有關時間線 object 的任何幫助。

問候哈利

看來我的方法行不通。 至少,我沒有找到解決辦法。 問題是,服務器在播放器開始時返回 stream 大小。 我沒有找到更新“常規”文件媒體持續時間的方法。

但是,我可以通過更改服務器端來解決問題。 我沒有訪問常規文件,而是使用 ffmpeg 將文件實時轉換為 m3u8。 然后我將 m3u8 URI 扔到播放器上,它會更新 stream 的持續時間(在播放時),而無需在客戶端創建任何額外的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM