我尝试从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
#PLAYLIST:RTSP Camera Server #EXTINF:-1,有源相机 RTSP://10.42.0.91:5554 /相机 #EXTF:319,3 / 3/16 PM 3:08:35 MB RTSP://10.42.0.91:5554 / record160303_1500 #EXTINF:1047,3 / 3/16 PM 2:15:106.4 MB RTSP://10.42.0.91:5554 / record160303_1400 #EXTF:1364,所有记录141.4 MB RTSP://10.42.0.91:5554 /记录 #EXTINF:-1,后置摄像头 RTSP://10.42.0.91:5554 /回 #EXTINF:-1,前置摄像头 RTSP://10.42.0.91:5554 /前
答案 0 :(得分:0)
我刚刚完成了一个可以在Android MediaPlayer中显示RTSP H.264(甚至是高调)的基本应用程序。 当我遇到this video时,我正在试验和研究如何实现它。它很容易实现,并且还提供了源代码。 我使用Android版本5.1.1,它似乎不适用于4.4及以下版本。我的目标是让它在4.1及更高版本上运行,所以当我开始工作时我会编辑或评论。
我希望这能解释你需要的一切。只要告诉我它是否仍然无效,我会尽力帮助你。