我试图从RTSP服务器上传输一个视频。我想在我的应用程序中运行这个视频。我尝试了三种不同的方法,其中只有一种似乎有效:
我想在MediaPlayer上显示视频,但无法做到。
以下是代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* 1. Using VideoView, error: "Cannot play video"
VideoView vidView = (VideoView) findViewById(R.id.myVideo);
String vidAdress = "rtsp://10.42.0.91:5554/camera";
Uri vidUri = Uri.parse(vidAdress);
vidView.setVideoURI(vidUri);
vidView.start();
*/
//Using native player (implicit intent), works.
String mediaURL = "rtsp://10.42.0.91:5554/camera";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mediaURL));
startActivity(intent);
/* Using MediaPlayer (doesn't work). Error: "Cannot create MediaPlayer"
and setDataSource.
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try
{
mediaPlayer.setDataSource("rtsp://10.42.0.91:5554/camera");
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (IOException ex)
{
ex.printStackTrace();
}
*/http:10.42.0.91:8080/playlist.m3u如下所示:
#EXTM3U
#播放列表:rtsp摄像机服务器#EXTINF:-1,活动摄像机rtsp://10.42.0.91:5554/照相机#EXTINF:319,3/3/16 PM 3:08: 35 MB rtsp://10.42.0.91:5554/记录160303_1500 #EXTINF:1047,3/3/16 PM 2:15: 106.4 MB rtsp://10.42.0.91:5554/记录160303_1400 #EXTINF:1364,所有记录141.4 MB rtsp://10.42.0.91:5554/记录#EXTINF:-1,后摄像机rtsp://10.42.0.91:5554/back #EXTINF:-1,前置摄像机rtsp://10.42.0.91:5554/前沿
发布于 2016-03-04 16:30:23
我刚刚完成了一个基本的应用程序,它可以在Android MediaPlayer中显示RTSPH.264(甚至是高级配置文件)。当我遇到这段视频时,我正在试验和研究如何实现它。它很容易实现,并提供了源代码。我使用的是Android版本5.1.1,它似乎在4.4和更低版本上不起作用。我的目标是使它工作在4.1和以上,所以我会编辑或评论,当我得到工作。
我希望这能解释你所需要的一切。告诉我如果它还不起作用,我会尽力帮你的。
https://stackoverflow.com/questions/35782195
复制相似问题