将实时视频流式传输到 Android
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/11898643/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
stream live video to Android
提问by Butters
How can I stream live video to Android (2.1 and higher), I have two links: m3u8
and f4m
(As I know, f4m is not supported).
如何将实时视频流式传输到 Android(2.1 及更高版本),我有两个链接:m3u8
和f4m
(据我所知,不支持 f4m)。
From what I saw on stackoverflow, there is a way to stream m3u8 with vitamio (but the link is not working ).
从我在 stackoverflow 上看到的,有一种方法可以使用 vitamio 流式传输 m3u8(但链接不起作用)。
Is there any other way to stream m3u8 video ? Maybe there is other format that I can use ?
还有其他方法可以流式传输 m3u8 视频吗?也许我可以使用其他格式?
Thanks.
谢谢。
回答by Butters
Because no one answered my question, I will do it myself.
因为没有人回答我的问题,所以我会自己做。
If you want to perform HLT (HTTP Live Stream) on Android 2.1 and higher you may use the vitamio library.
如果您想在 Android 2.1 及更高版本上执行 HLT(HTTP Live Stream),您可以使用 vitamio 库。
Site at: (http://www.vitamio.org/).
网站:(http://www.vitamio.org/)。
Here is code example: The main layout:
下面是代码示例: 主要布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingLeft="2px" android:paddingRight="2px"
android:paddingTop="2px" android:paddingBottom="2px"
android:layout_width="fill_parent" android:orientation="vertical">
<io.vov.vitamio.widget.VideoView
android:layout_height="fill_parent"
android:layout_width="fill_parent" android:id="@+id/VideoView">
</io.vov.vitamio.widget.VideoView>
</LinearLayout>
the Class:
班上:
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
public class LiveStrimingTestActivity extends Activity{
VideoView videoView;
private void test_2(){
String httpLiveUrl = "http://aj.lsops.net/live/aljazeer_en_high.sdp/playlist.m3u8";
videoView = (VideoView) findViewById(R.id.VideoView);
videoView.setVideoURI(Uri.parse(httpLiveUrl));
MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.start();
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
test_2();
}
}
回答by samreen
I have tested the same stream on devices with OS 2.2, 2.3.4 and 4.0.4. This stream plays very well with regular VideoView on the devices I have got. I dont use MediaController with live streams. The rest of the code is simple.
我已经在 OS 2.2、2.3.4 和 4.0.4 的设备上测试了相同的流。该流与我拥有的设备上的常规 VideoView 一起播放得非常好。我不将 MediaController 与实时流一起使用。其余的代码很简单。
initializeVideoView();
mVideoView.setVideoURI(Uri.parse("http://aj.lsops.net/live/aljazeer_en_high.sdp/playlist.m3u8"));
mVideoView.setMediaController(null);
mVideoView.start();
回答by Zumry Mohamed
回答by Kaushik Khambhadiya
To add vitamio to your project just add this dependency. compile 'me.neavo:vitamio:4.2.2' and then as @butter told you to do. Happy Coding.good luck
要将 vitamio 添加到您的项目中,只需添加此依赖项。编译 'me.neavo:vitamio:4.2.2' 然后按照@butter 告诉你的去做。快乐编码。祝你好运