无法播放视频

时间:2016-08-04 20:32:39

标签: android video 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();
        }
    });

我尝试播放的视频存储在我的服务器中。他们使用自定义相机从同一个应用程序发送到那里。这是视频捕获参数:(以防万一有什么问题,我尝试了每个组合,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());

我一直试图解决这个问题很长一段时间但我现在已经没有想法了。我想在视频中播放这些视频。但不是那样,我必须等待10-20秒。之后,视频开始播放或者出现视频无法播放的错误。

其他信息:

项目最小sdk为18,但如果有帮助我可以更改它。

我的测试设备是Asus Zenfone 2(5.0)

我没有使用任何其他设备进行测试

视频存储在godaddy linux主机中。 www.mydomain.com/videos /

视频编码是h264 Baseline Profile

Moov原子位于顶部(在fytp之后(或类似的东西)),正如推荐的那样

我尝试使用像exomedia

这样的第三方视频播放器库

有些视频可以播放,例如:

  

http://www.html5videoplayer.net/videos/toystory.mp4

我查看了视频编码。它以h264 MAIN PROFILE编码(根据我的研究,主要配置文件不支持大多数Android设备,建议使用基线配置文件)并且MOOV ATOM位于最后位置。但是这个视频播放得很好...... dafuq?

编辑:该玩具视频的属性:

1

2

以下是我的应用程序从上面给出的参数中捕获的视频(请注意moov原子位于正确的位置,但这仍然不起作用)

3

4

1 个答案:

答案 0 :(得分: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

- 注意:Android 3.1之前不支持HTTPS。