我正在制作一个视频流应用程序。在服务器上我已经保护了m3u8文件。其中包含加密的ts文件(AES-128加密)。我正在解析安全的m3u8文件然后我下载了ts文件&解密它们。
我将所有解密文件存储在设备的外部存储位置。然后我创建一个新的m3u8文件,指向所有解密的ts文件。
我正在使用NanoHTTPD类在设备本身上创建自定义服务器&这指向一个目录,我已经把我所有解密的ts文件&新的m3u8文件。
然后我使用VideoView
&我在自定义服务器上传递了一个m3u8文件的URL。
当我开始播放VideoView
时,它会很好地启动视频,但过了一段时间后会显示错误消息“无法播放此视频”
在日志中我收到此消息
01-15 18:53:52.072: W/AudioSystem(16009): AudioFlinger server died!
01-15 18:53:52.072: W/IMediaDeathNotifier(16009): media server died
01-15 18:53:52.072: E/MediaPlayer(16009): error (100, 0)
01-15 18:53:52.072: E/MediaPlayer(16009): Error (100,0)
01-15 18:53:52.072: D/VideoView(16009): Error: 100,0
我没有得到问题所在。 在我的服务器或VideoView中。
我已检查所有已加密的ts文件已正确解密。 &安培;我已经将自定义服务器的m3u8网址播放到Android播放器,它运行良好。
我还尝试过来自apple的样本m3u8 url,这里我只是下载了ts文件&动态创建我自己的m3u8文件。工作正常。
请指导我在哪里&我究竟做错了什么。
答案 0 :(得分:0)
我解决了我的问题。问题在于解密。