18

Как я могу транслировать видео в реальном времени на Android (2.1 и выше), у меня есть две ссылки:и f4m (Как я знаю, f4m не поддерживается).потоковое видео в реальном времени для Android

Из того, что я видел в stackoverflow, существует способ потока m3u8 с витаминами (но ссылка не работает).

Есть ли другой способ потокового видео m3u8? Возможно, есть другой формат, который я могу использовать?

Спасибо.

ответ

32

Поскольку никто не ответил на мой вопрос, я сделаю это сам.

Если вы хотите выполнить HLT (HTTP Live Stream) на Android 2.1 и выше, вы можете использовать библиотеку vitamio.

Сайт: (http://www.vitamio.org/).

Вот пример кода: Основная компоновка:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout android:id="@+id/LinearLayout01" 
      android:layout_height="fill_parent"   xmlns:android="http://schemas.android.com/apk/res/android" 
      android:paddingLeft="2px" android:paddingRight="2px" 
      android:paddingTop="2px" android:paddingBottom="2px" 
      android:layout_width="fill_parent" android:orientation="vertical"> 

      <io.vov.vitamio.widget.VideoView 
       android:layout_height="fill_parent" 
       android:layout_width="fill_parent" android:id="@+id/VideoView">    
      </io.vov.vitamio.widget.VideoView> 
</LinearLayout> 

Класс:

import io.vov.vitamio.widget.MediaController; 
import io.vov.vitamio.widget.VideoView; 
import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 



public class LiveStrimingTestActivity extends Activity{ 

    VideoView videoView; 

    private void test_2(){ 
     String httpLiveUrl = "http://aj.lsops.net/live/aljazeer_en_high.sdp/playlist.m3u8"; 
     videoView = (VideoView) findViewById(R.id.VideoView); 
     videoView.setVideoURI(Uri.parse(httpLiveUrl)); 
     MediaController mediaController = new MediaController(this); 
     videoView.setMediaController(mediaController); 
     videoView.requestFocus(); 
     videoView.start(); 
    } 


    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     test_2();    
    }  
} 
+1

Можем ли мы использовать витамин для RTMP ?? –

+0

Сделайте мой день! Tks –

+1

Как добавить библиотеку vitamio? plz –

3

Я испытал тот же поток на устройствах с OS 2.2, 2.3.4 и 4.0.4 , Этот поток очень хорошо работает с обычным VideoView на устройствах, которые у меня есть. Я не использую MediaController с прямыми потоками. Остальная часть кода проста.

initializeVideoView(); 
mVideoView.setVideoURI(Uri.parse("http://aj.lsops.net/live/aljazeer_en_high.sdp/playlist.m3u8")); 
mVideoView.setMediaController(null); 
mVideoView.start(); 
+0

как я могу получить ссылку m3u8 от ссылки для встраивания dailymotion, как это http://www.dailymotion.com/embed/video/x2qo9ad –

0

KickFlip является открытым исходным кодом и свободной библиотеки для потокового видео, и это очень легко настроить т.

Kickflip.initWithApiKey(API_KEY, API_SECRET); 
Kickflip.startBroadcastActivity(this, mBroadcastListener); 

попробуйте это.

-1

Чтобы добавить витамины в свой проект, просто добавьте эту зависимость. скомпилируйте 'me.neavo: vitamio: 4.2.2' , а затем, когда @butter сказал вам сделать. Happy Coding.good luck