0

嘿,我这几天一直在为一个真正的难题而苦苦挣扎,希望你们能帮助我。

我的 android 应用程序录制视频并将它们上传到我的 WCF restful 服务器,服务器将文件流回。一切都在 Firefox 和 chrome 上运行良好,视频正在流式传输,没有任何问题。在我录制视频的同一个 android 应用程序上存在问题,短视频(不到一分钟)正在流式传输而没有任何问题,但是当视频变长时,媒体播放器似乎无法加载它。

我尝试更改 mediarecorder 配置文件文件格式和视频编解码器但没有更改,我读取媒体播放器仅支持 HTTP 上的 mpeg4 和 3gp 视频流,我尝试了所有组合。

   mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
   mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);


   CamcorderProfile profile = CamcorderProfile.get(CamcorderProfile.QUALITY_LOW);

   profile.fileFormat =2;
   profile.videoCodec=3;
   mediaRecorder.setProfile(profile);

我很确定我的服务器可以很好地处理流式传输,因为它可以在浏览器上运行,其他格式(如音频 3gp 和 mp3 流)在应用程序上也很好,只有视频不是流式传输。

有人可以让我在这里走上正轨吗?谢谢!

4

1 回答 1

1

在篡改之后,我终于找到了这一切的原因。似乎 android mediarecorder 将 moov atom 附加到记录器视频的末尾,但是当使用 mediaplayer 进行流式传输时,文件必须在开始时具有其 moov atom。

所以你去找那些在录像机视频没有流回的情况下苦苦挣扎的人

于 2013-09-21T02:14:10.573 回答