Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как декодировать и воспроизводить видео .h264 с сервера amazon s3 в Android?

Автор вопроса: AshokОтветов: 3

У меня есть видео .h264 на сервере, как декодировать это видео и воспроизводить его на Android?

Я использую FFMPEG для воспроизведения этих видео, но в образце FFMPEG он берет видео с SD-карты и успешно воспроизводит видео. Я использую представление поверхности для воспроизведения этих видео. Мой вопрос: как воспроизвести видео .h264 с сервера amazon s3 в Android?

Заранее спасибо.

  • скинь ссылку на видео... Amitsharma 28.04.2015
  • вы также можете поставить% 20 ​​вместо пробела, это URL-адрес холодного декодирования, тогда вы сможете воспроизвести его видео ..... Amitsharma 28.04.2015
  • Нет необходимости декодировать видео, просто декодируйте URL-адрес, только если вы будете декодировать URL-адрес видео, вы увидите неправильное декодирование Android. Пример декодирования http//:www.google.com: http%3S%2F%3S//www.google. .com и т. д., как это Amitsharma 28.04.2015
  • @amitsharma Спасибо за ответ, да, это не декодирование, вопрос в том, как получить доступ (поток?) к файлам с сервера S3? пример URL: s3.amazonaws.com/201501bk/filename.h264 Ashok 29.04.2015
  • это не полный URL-адрес или здесь нет видео Посмотрите здесь, я публикую ответ Amitsharma 29.04.2015
  • что вы хотите именно здесь Amitsharma 29.04.2015

serverandroidamazon-s3ffmpeg

Ответы

Ответ 1 · Salmaan

Сделайте ваши видео (файлы) в корзине s3 общедоступными,
и используйте общедоступный URL-адрес, он будет доступен везде.

ИЗМЕНИТЬ

Вы можете использовать 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();

Вы должны предоставить URI (имея переменную String url, где она содержит URL-адрес видео) с этим кодом Uri.parse(url). А также убедитесь, что URL-адрес подходит. Также предоставьте соответствующие разрешения для вашего приложения (поскольку оно использует Интернет, вам нужно будет добавить <uses-permission android:name="android.permission.INTERNET" > в Manifest.xml вашего приложения. Наконец, вы должны определить свою активность MediaPlayerActivity в Manifest.xml вашего приложения.

Вы также можете использовать MediaPlayer. На сайте разработчиков Android есть хорошее руководство здесь.

H.264

Согласно этим, Android поддерживает воспроизведение базового профиля h.264. Таким образом, ваше видео h.264 не является базовым профилем или, возможно, оно содержит неподдерживаемый звук.

Обратите внимание, что существует множество разновидностей h.64, поэтому вам следует проверить свой видеофайл: http://www.niallkennedy.com/blog/2010/07/h264-video.html

Ответ 2 · рейтинг -1 · emma24xia

Вам нужно убедиться, что ваше видео H.264 находится в кодеке, который может принять ваше устройство Android, в противном случае вам нужно его перекодировать.

Ответ 3 · рейтинг -1 · Amitsharma

У меня есть полное решение моей проблемы с помощью этого кода. Может быть, это поможет вам.

 layout.xml

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

.сорт

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

манифест.xml

разрешения

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы