我正在尝试将我的 android 应用程序与 FTP 服务器连接,FTP 服务器使用动态 Http 流以不同的比特率广播多个流。Flash 消息服务器(FMS)正在使用 H.264 编解码器以 flv 格式广播视频。在客户端(Android) 我得到 f4m(manifest (xml) file)) 有不同的流。 我无法使用 f4m 文件从 FMS 获取 android 中的视频。
String url = "http://d2233avv69kunu.cloudfront.net/hds-live/livepkgr/_definst_/liveevent/livestream.f4m";
Uri uri = Uri.parse(url);
// videoView.setVideoURI(uri);
videoView.setVideoPath(str);
MediaController mc = new MediaController(this);
//VMRuntime.getRuntime().setMinimumHeapSize(40);
mc.setAnchorView(videoView);
videoView.setMediaController(mc);
System.out.println("Max Memory - "+java.lang.Runtime.getRuntime().maxMemory());
videoView.requestFocus();
videoView.setOnPreparedListener(new OnPreparedListener()
{
public void onPrepared(MediaPlayer mp)
{
videoView.start();
}
});
在上面的代码中,我试图通过传递 f4m 文件的链接在视频 View 组件中运行视频。 Flash 编码器将视频转换为下面列出的 3 种文件格式
- .f4m( list 文件)- Bootstrap 信息、元数据、比特率、Flash 访问许可证服务器位置
- .f4f( fragment 文件)-扩展F4V格式,MP4 fragment 标准
- .f4x(索引文件)- 二进制
请提供通过 Android 中的 Http Streaming 在不同的 Android 设备上播放视频的解决方案。 提前致谢。
最佳答案
1) 你在代码中遗漏了一些东西。您传递给 setVideoPath
的 str
是什么? (虽然这有点无关紧要......)
2) MediaPlayer
(因此 VideoView
)根本无法播放 Flash 视频。就是not supported .它肯定也不会理解 XML 文件,因此将 f4m 文件传递给它毫无意义。
关于android - Android 中的动态 Http Streaming 播放实时 Flash 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19971826/