我有一个需要从Android的HLS流中提取元数据的要求。我找到了两个库FFMPEG和VITAMIO。考虑到Android上对HLS流的零碎支持,并且在阅读了大量甚至更令人困惑的文章后,我完成了上述两个库的进一步研究,但我还没有找到一个单一的应用程序来提取元数据(定时元数据)在Android上完成。
我很困惑,甚至在Android上也有可能。如果是这样,我应该使用哪种方法...帮帮我...。
定时的文本元数据没有按照Nikola的答案存储在m3u8文件中,而是存储在mpeg2 ts段中。有关如何将其嵌入ts的概述,请参见:https : //developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/HTTP_Live_Streaming_Metadata_Spec/HTTP_Live_Streaming_Metadata_Spec.pdf
您可以尝试使用ffmpeg提取元数据,命令应该类似于以下内容:
ffmpeg -i in.ts -f ffmetadata metadata.txt
您需要使用jni和libavformat进行等效操作。这并不是一件容易的事,您仍然需要提出一种将读取的元数据发信号给应用程序的机制。
如果可以的话,我建议您通过一种单独的机制发信号通知定时的元数据。您能否提取它并将其作为文本文件放到播放机上单独下载?然后,您是否与视频播放器报告的时间轴对齐?这将更容易实现,但是我不知道您的要求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句