如何从android中的amazon s3服务器解码和播放.h264视频?

时间:2015-04-10 09:21:36

标签: android amazon-s3 ffmpeg server

我在服务器上有.h264视频,如何解码该视频并在Android中播放?

我正在使用FFMPEG播放这些视频,但在FFMPEG样本中需要 来自SD卡的视频,可以成功播放视频。我正在使用 表面视图播放这些视频。我的问题是如何在android中播放来自amazon s3服务器的.h264视频?

提前致谢。

3 个答案:

答案 0 :(得分:0)

将s3存储桶中的视频(文件)设为公开,
并使用该公共网址,它随处可见。

编辑

您可以使用VideoView。这是一个例子:

VideoView videoView = (VideoView) findViewById(R.id.videoView);
//Use a media controller so that you can scroll the video contents
//and also to pause, start the video.
MediaController mediaController = new MediaController(this); 
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(Uri.parse(videoUrl));
videoView.start();

您应该使用此代码String url提供URI(具有Uri.parse(url)变量,其中包含视频的网址)。并且还要确定网址是否合适。同时为您的应用提供适当的权限(因为它使用互联网,您需要在您的应用<uses-permission android:name="android.permission.INTERNET" >中添加Manifest.xml。最后,您应该在您的应用中定义您的活动MediaPlayerActivity应用Manifest.xml

您也可以使用MediaPlayer。 Android开发者网站有一个很好的教程here

<强> H.264

根据this,Android支持h.264基线配置文件播放。因此,您的h.264视频不是基线配置文件,也可能包含不受支持的音频。

你应该注意到有很多h.64口味,所以你应该查看你的视频文件:http://www.niallkennedy.com/blog/2010/07/h264-video.html

答案 1 :(得分:-1)

您需要确保您的H.264视频位于您的Android设备可以接受的编解码器中,否则您需要重新编码。

答案 2 :(得分:-1)

我已完成通过此代码解决我的问题可能会帮助您。

 layout.xml

    <VideoView
    android:id="@+id/videoview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     />

.class

         String FileUrl="decoded url";
         MediaController mediacontroller = new MediaController(this);
        mediacontroller.setAnchorView(videoView);
        Uri video = Uri.parse(FileUrl);
        videoView.setMediaController(mediacontroller);
        videoView.setVideoURI(video);

manifesto.xml

permitions

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />