Вопрос по android – Потоковое видео Youtube

28

Я пишу приложение для воспроизведения видео на YouTube с использованием потоковой передачи.

Первый метод:

Я получаю URL RTSP для видео с помощью API GData. Вот код для воспроизведения URL RTSP.

<code>   VideoView mVideoView = new VideoView(this);
   setContentView(mVideoView);
   mVideoView.setVideoURI(Uri.parse("rtsp://rtsp2.youtube.com/CiILENy73wIaGQkDwpjrUxOWQBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"));
   mVideoView.start();
</code>

Но он выдает ошибку как на устройстве G1, так и на эмуляторе (эмулятор имеет проблема с брандмауэром согласно списку рассылки) Вот сообщение об ошибке

ОШИБКА / PlayerDriver (35): команда PLAYER_INIT выполнена с ошибкой или информация PVMFFailure

Второй метод:

Взломать способ получить путь 3gp файла от http://www.youtube.com/get_video?v=& Амп; г = & л; & GT; & амп; & Lt; & GT; .. После получения пути к файлу, и я могу вызвать setVideoURI, и он играет хорошо. Но это хакерский способ выполнить требование. Я проверил приложение Youtube также, он также делает взломать способ играть URL-адрес YouTube. (Проверено с помощью logcat)

Я попытался перейти с VideoView на MediaPlayer, но ошибка не изменилась.

Есть ли "Очистить"? способ сделать это?

Пожалуйста, поделись своими мыслями.

если вы найдете решение, пожалуйста, поделитесь им. PiyushMishra
Не могли бы вы объяснить немного больше? Я столкнулся с той же проблемой. Janusz
Посмотрите также наHow to get thumbnail of YouTube video link using YouTube API? Существует умный ответ, который указывает, как получить URL-адрес RTSP: Попробуйте этот пример:gdata.youtube.com/feeds/api/videos/… rekire
Не можете ли вы просто запустить проигрыватель YouTube для воспроизведения видео? (похоже на то, как работает приложение iPhone на YouTube?) Geoff

Ваш Ответ

8   ответов
2

на устройстве будет работать следующее, но не на эмуляторе:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=cxLG2wtE7TM")));

есть ли другой способ воспроизвести видео на YouTube без приложения или устройства YouTube, не поддерживающего flash и html5.
Это работает на устройстве, потому что на нем установлено приложение YouTube. Я не хочу, чтобы мое приложение зависело от приложения Youtube Vinay
1

что грязный способ работает вообще! Если у вас есть рабочее решение, используйте его. Я не думаю, что пока есть чистый способ заставить потоковую передачу RTSP работать в SDK.

0

что это полезно, но дайте мне знать, как это можно улучшить.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    startActivity(new Intent(Intent.ACTION_VIEW, 
                  Uri.parse("http://www.youtube.com/watch?v=...")));
}

public void onPrepared(MediaPlayer mp) {
     // TODO Auto-generated method stub
}
Этот код запускает плеер YouTube по умолчанию, который не является обязательным требованием
Ваш код загрузит страницу, а не серверное видео.
1

В данный момент я на первом этапе моего проекта и пытаюсь сделать так, чтобы видеовидение просто работало. Я беру данные отсюда:http://gdata.youtube.com/demo/ и я тестирую все ссылки на видео.

Видео RTSP 3GP действительно очень низкое качество видео .... и нет никакого доступа к видео mp4 (хорошего качества). Я действительно не знаю, как заставить это работать, потому что я думаю, что потоки MP4 доступны только премиум-разработчикам ....

2

ол RTSP вместо протокола HTTP.

Посмотрите это с помощью Logcat.Uri.parse(rtspURL).toString() и вы не увидите ничего написанного. или только сделатьLog.d("tag", Uri.parse); и то же самое будет возвращаться.

Попробуйте найти другой способ разбора (создания) Uri.

Я бы попробовал с этим и запустил:

String urlVideo = <your rtspURL>
VideoView video = (VideoView)findViewById(R.id.VideoView01);
Log.d(tag , urlVideo);
video.setVideoURI(Uri.parse(urlVideo));
MediaController mc = new MediaController(this);
video.setMediaController(mc);
video.requestFocus();
video.start();
mc.show();
Error: User Rate Limit Exceeded
0

если нет, добавьте интернет-разрешение в файл манифеста

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

а также, пожалуйста, попробуйте эти URI:

rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

http://www.wowza.com/_h264/BigBuckBunny_175k.mov
1

API YouTube

Я думаю, что это также использовать приложение YouTube (что вы не хотите)

Но просто обратитесь, может быть, вы найдете ключ для ее решения

0

что он работает для Android. Итак, попробуйте хорошую ссылку на видео для экспериментов. Вот тот, который я использую:

RTSP: //184.72.239.149/vod/mp4: BigBuckBunny_115k.mov

Отлично работает на планшетах Nexus и Samsung.

Похожие вопросы