我正在开展一个我需要的项目
读取来自IPCamera的输入H.264编码流 - 我可以通过rtsp://192.168.1.83:8001/rtsp url获取此信息
显示IPCamera流 - 我可以使用
final VideoView vv = (VideoView) findViewById(R.id.video_view_h264);
MediaController mc = new MediaController(getApplicationContext());
vv.setVideoURI(video);
vv.setMediaController(mc);
vv.requestFocus();
vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
vv.start();
}
});
Run Code Online (Sandbox Code Playgroud)
a)MediaRecorder - 根据我的谷歌搜索,我相信这个类的输入只能来自设备相机.有没有办法调整这个我可以提供rtsp流的输入?
b)MediaCodec API - 4.1以后Android已经发布了这个低级API以及MediaExtractor和MediaCodec.对于此选项,我认为rtsp流不能用于以下代码段
final String STREAM_URL = "rtsp://192.168.1.83:8001/";
MediaExtractor mediaExtractor = new MediaExtractor();
mediaExtractor.setDataSource(STREAM_URL); // I get an exception 04-28 18:30:18.914: E/AndroidRuntime(8140): Caused by: java.io.IOException: Failed to instantiate extractor.
Run Code Online (Sandbox Code Playgroud)
c)我可以从网址读取并将其存储为文件.如何将此流转换为MP4文件?任何代码段都非常有用.
我也试过使用FFMPEG,但性能太差,我放弃了这个选项.
我非常感谢上述三个选项的任何输入或我可以考虑的任何其他附加选项.
谢谢 !!