繁体   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