gpt4 book ai didi

android - Android 3.0+ 上的实时视频流(HLS 和 RTSP/RTP)

转载 作者:行者123 更新时间:2023-11-29 14:02:17 26 4
gpt4 key购买 nike

我需要一些帮助才能开始在 Android 上使用 HLS 和 RTSP。

为了测试 RTSP,我正在运行 LIVE555 媒体服务器。服务器有从 live555.com 下载的 bipbop-gear1-all.ts 示例文件和索引文件。所以我的网址只是 http://(myIP):80/bipbop-gear1-all.ts在 Android 3.0 模拟器上,浏览器会显示下载进度几分钟,然后就什么也没有了。浏览器窗口没有更新,没有 Android 下载通知。它只是停止。
在 Android 3.2.1 设备上它启动视频播放器,但立即显示,无法播放视频抱歉,无法播放此视频。在一个简单的测试应用程序中(从问题 17118 的 Android 问题跟踪器下载:Android 3.1 无法播放 HTTP Live Streaming),MediaPlayer.prepare() 短暂访问服务器,并立即抛出 IOException 消息,Prepare失败。: status=0x1。 Logcat 还显示,error (1, -2147483648)

同样的测试应用程序可以毫无问题地播放本地 mp4,所以我认为这很好。在 iPad 上,相同的 URL 播放视频,至少证明我的服务器是好的。

为了测试 HTTP Live Streaming (HLS),我使用了 apple.com 提供的 bipbop 样本: http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8httplive://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8

在 Android 3 模拟器中,示例应用程序开始使用“httplive”协议(protocol)播放地址,但它挂起。使用“http”协议(protocol),在 MediaPlayer.start() 之后,它会挂起片刻,但不会显示任何内容。然后logcat显示:

W/AudioSystem(715): AudioFlinger server died!
W/IMediaDeathNotifier(715): media server died
E/MediaPlayer(715): error (100, 0)
E/MediaPlayer(715): Error (100,0)

我的 onCompletion() 处理程序被调用。

在真正的 3.2.1 设备上,使用 http 协议(protocol)的应用程序的行为与在 3.0 模拟器上的行为相同。 httplive 在准备时抛出 IOException 消息,Prepare failed.: status=0x1

在 3.0 模拟器上的浏览器中,http 地址会调出一个音频播放器,该播放器会停止并显示提示消息,抱歉,播放器不支持此类音频文件。 httplive 地址只是去谷歌搜索。

在真实 3.2.1 设备上的浏览器中,http 地址会弹出一个对话框,Complete action using,选择:MusicVideo播放器。按 Video player,我得到,Cannot play videoSorry, this video cannot be played。按音乐,我得到,无法播放您请求的轨道。。同样,此地址在 iPad 上运行良好。

非常感谢任何帮助。

最佳答案

无法帮助您使用 RTSP 协议(protocol)。

对于 HLS,我能够从 Apple 网站获取示例视频,并使用针对 2.3.4 和 3.0 构建的简单应用。

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mMediaController = new MediaController(this);
mVideoView = (VideoView)findViewById(R.id.video_view);
mVideoView.setVideoPath(mVideoPath);
mVideoView.setMediaController(mMediaController);
mVideoView.setOnPreparedListener(new OnPreparedListener() {

@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.start();
}
});
}

关于android - Android 3.0+ 上的实时视频流(HLS 和 RTSP/RTP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8935424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com