14 video android video-streaming
这是我的视频代码:
Uri uri = Uri.parse(vidurl);
MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.setVideoURI(uri);
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
videoView.start();
}
});
Run Code Online (Sandbox Code Playgroud)
我尝试播放的视频存储在我的服务器中.他们使用自定义相机从同一个应用程序发送到那里.这是视频捕获参数:(以防万一有什么问题,我尝试了每个组合,VP8格式确实流,除了输出没有音频并且侧向旋转)
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
if (currentCameraId == Camera.CameraInfo.CAMERA_FACING_BACK) {
mMediaRecorder.setOrientationHint(90);
} else {
mMediaRecorder.setOrientationHint(270);
}
mMediaRecorder.setVideoSize(list.get(sizex).width, list.get(sizex).height);
mMediaRecorder.setVideoEncodingBitRate(1500000);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setMaxDuration(15000);
mMediaRecorder.setOutputFile(getVidFile().getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)
我一直试图解决这个问题很长一段时间,但我现在已经没有想法了.我想在视频中播放这些视频.但不是那样,我必须等待10-20秒.之后,任何一个视频开始或它给我一个错误,视频无法播放.
附加信息:
项目最小sdk是18,但我可以改变它,如果这将有所帮助.
我的测试设备是Asus Zenfone 2(5.0)
我没有测试任何其他设备
视频存储在godaddy linux主机中.www.mydomain.com/videos/
视频编码是h264 Baseline Profile
正如推荐的那样,Moov原子位于顶部(在fytp之后(或类似的东西))
我尝试使用像exomedia这样的第三方视频播放器库
有些视频可以正常工作,例如:
我检查了那些视频编码.它以h264 MAIN PROFILE编码(根据我的研究,大多数Android设备不支持主配置文件,建议使用基线配置文件)并且MOOV ATOM位于最后位置.但这个视频播放得很好... dafuq?
编辑:该toystory视频的属性工作:
这是一个从我的应用程序捕获的视频与上面给出的参数(注意moov原子在正确的位置,但这仍然不起作用)
小智 1
当您的视频从服务器流式传输到应用程序时,使用哪种网络协议?也许 VideoView 不支持您正在使用的网络协议。VideoView 仅支持有限的协议。根据android文档“支持的媒体格式”:
音视频播放支持以下网络协议:
--RTSP(RTP、SDP)
--HTTP/HTTPS渐进式流媒体 --HTTP/HTTPS直播流协议草案:
MPEG-2 TS media files only
Protocol version 3 (Android 4.0 and above)
Protocol version 2 (Android 3.x)
Not supported before Android 3.0
Run Code Online (Sandbox Code Playgroud)
--注意:Android 3.1之前不支持HTTPS。
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |