2015-08-03 3 views
2

Я пытаюсь использовать Vitamio запустить видео потока RTSP, я использую Vitamio-образец после его обновления, чтобы запустить поток через VideoViewDemo активности:Невозможно запустить живой поток с помощью Vitamio

public class VideoViewDemo extends Activity { 

    /** 
    * TODO: Set the path variable to a streaming video URL or a local media file 
    * path. 
    */ 
    private String path = "rtsp://user:[email protected]<stream-ip>:554"; 
    private VideoView mVideoView; 
    private EditText mEditText; 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     if (!LibsChecker.checkVitamioLibs(this)) 
      return; 
     setContentView(R.layout.videoview); 
     mEditText = (EditText) findViewById(R.id.url); 
     mVideoView = (VideoView) findViewById(R.id.surface_view); 
     if (path == "") { 
      // Tell the user to provide a media file URL/path. 
      Toast.makeText(VideoViewDemo.this, "Please edit VideoViewDemo Activity, and set path" + " variable to your media file URL/path", Toast.LENGTH_LONG).show(); 
      return; 
     } else { 
      /* 
      * Alternatively,for streaming media you can use 
      * mVideoView.setVideoURI(Uri.parse(URLstring)); 
      */ 
      mVideoView.setVideoPath(path); 
      mVideoView.setMediaController(new MediaController(this)); 
      mVideoView.requestFocus(); 
      //mVideoView.setVideoURI(Uri.parse(path)); 

      mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
       @Override 
       public void onPrepared(MediaPlayer mediaPlayer) { 
        // optional need Vitamio 4.0 
        mediaPlayer.setPlaybackSpeed(1.0f); 
       } 
      }); 
     } 

    } 

    public void startPlay(View view) { 
     String url = mEditText.getText().toString(); 
     path = url; 
     if (!TextUtils.isEmpty(url)) { 
      mVideoView.setVideoPath(url); 
     } 
    } 

    public void openVideo(View View) { 
     mVideoView.setVideoPath(path); 
    } 

} 

Но после запуска он работает только очень мало времени (что дает мне только первый видеокадр [фиксированная фотография]), а затем приложение падает и дает мне приложение не отвечает сообщение без печати каких-либо сообщений об ошибках в журнале:

08-03 15:45:37.224: I/Vitamio[4.2.1][Player](27585): META AUDIO: 1. und, META SUBTITLE: 
08-03 15:45:37.234: I/Vitamio[4.2.1][Player](27585): WOW: BRILLIANT C COUNT 4 
08-03 15:45:37.234: I/Vitamio[4.2.1][Player](27585): OPEN STREAM AUDIO BEGIN 
08-03 15:45:37.234: I/Vitamio[4.2.1][Player](27585): Copyright (c) YIXIA (http://yixia.com). 
08-03 15:45:37.234: I/Vitamio[4.2.1][Player](27585): THIS SOFTWARE (Vitamio) IS WORK OF YIXIA (http://yixia.com) 
08-03 15:45:37.234: I/Vitamio[4.2.1][Player](27585): Application package name: io.vov.vitamio.demo 
08-03 15:45:37.234: I/Vitamio[4.2.1][Player](27585): 2, 48000, 0 
08-03 15:45:37.234: V/AudioPolicyManagerBase(273): getOutput() device 2, stream 3, samplingRate 0, format 0, channelMask 3, flags 0 
08-03 15:45:37.234: V/AudioPolicyManagerBase(273): getOutputsForDevice device 0002 -> 0002 
08-03 15:45:37.234: V/AudioPolicyManagerBase(273): getOutput() returns output 2 
08-03 15:45:37.234: V/AudioPolicyManagerBase(273): getOutput() device 2, stream 3, samplingRate 0, format 0, channelMask 3, flags 0 

08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): OPEN STREAM AUDIO END 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): Copyright (c) YIXIA (http://yixia.com). 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): THIS SOFTWARE (Vitamio) IS WORK OF YIXIA (http://yixia.com) 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): Application package name: io.vov.vitamio.demo 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): WOW: BRILLIANT C COUNT 4 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): OPEN STREAM VIDEO BEGIN 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): OPEN STREAM VIDEO END 
08-03 15:45:37.244: D/Vitamio[Player](27585): onVideoSizeChanged: (704x576) 
08-03 15:45:37.244: V/audio_hw_primary(273): start_output_stream: enter: usecase(0: deep-buffer-playback) devices(0x2) 
08-03 15:45:37.244: V/audio_hw_primary(273): select_devices: ENTER 
08-03 15:45:37.244: V/audio_hw_primary(273): select_devices: usecase(normal) 
08-03 15:45:37.244: V/audio_hw_primary(273): select_devices: usecase(PCM_PLAYBACK) 
08-03 15:45:37.244: V/msm8974_platform(273): platform_get_output_snd_device: enter: output devices(0x2) 
08-03 15:45:37.244: V/msm8974_platform(273): get_OUTPUT_snd_device: for Normal Playback 
08-03 15:45:37.244: V/msm8974_platform(273): platform_get_output_snd_device: exit: snd_device(speaker) 
08-03 15:45:37.244: D/audio_hw_primary(273): select_devices: out_snd_device(2: speaker) 
08-03 15:45:37.244: D/audio_hw_primary(273): select_devices: in_snd_device(0: dummy) 
08-03 15:45:37.244: V/audio_hw_primary(273): enable_snd_device: snd_device(2: speaker) 
08-03 15:45:37.244: D/ACDB-LOADER(273): ACDB -> send_audio_cal, acdb_id = 15, path = 0 
08-03 15:45:37.244: D/ACDB-LOADER(273): ACDB -> send_adm_topology 
08-03 15:45:37.244: D/ACDB-LOADER(273): ACDB -> ACDB_CMD_GET_AUDPROC_COMMON_TOPOLOGY_ID 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): THREAD PREPARE DETTACHED, ret = 0 
08-03 15:45:37.244: I/Vitamio[4.2.1][Player](27585): THREAD PREPARE END 

08-03 15:45:37.254: I/Vitamio[4.2.1][Player](27585): CC: SwsScale c 
08-03 15:45:37.254: V/audio_hw_primary(273): start_output_stream: Opening PCM device card_id(0) device_id(0) 
08-03 15:45:37.254: D/Vitamio[Player](27585): VIDEO: 704x576x1.222222, Surface: 704x576, LP: 1080x883, Window: 1080x1920x0.562500 
08-03 15:45:37.264: E/Vitamio[4.2.1][Player](27585): [h264 @ 0x783fac40] Missing reference picture, default is 0 
08-03 15:45:37.264: E/Vitamio[4.2.1][Player](27585): [h264 @ 0x783fac40] decode_slice_header error 


08-03 15:45:37.304: I/Vitamio[Player](27585): Info (701, 0) 
08-03 15:45:37.304: D/Vitamio[Player](27585): onInfo: (701, 0) 
08-03 15:45:37.354: W/dalvikvm(27585): Invalid indirect reference 0x4309aa58 in decodeIndirectRef 
08-03 15:45:37.354: I/dalvikvm(27585): "Thread-26042" prio=5 tid=19 RUNNABLE 
08-03 15:45:37.354: I/dalvikvm(27585): | group="main" sCount=0 dsCount=0 obj=0x4306fca0 self=0x7b3ab4a8 
08-03 15:45:37.354: I/dalvikvm(27585): | sysTid=28521 nice=0 sched=0/0 cgrp=apps handle=2016853936 
08-03 15:45:37.354: I/dalvikvm(27585): | state=R schedstat=(32461510 66037500 298) utm=2 stm=1 core=3 
08-03 15:45:37.354: I/dalvikvm(27585): at dalvik.system.NativeStart.run(Native Method) 
08-03 15:45:37.354: E/dalvikvm(27585): VM aborting 
08-03 15:45:37.354: A/libc(27585): Fatal signal 6 (SIGABRT) at 0x00006bc1 (code=-6), thread 28521 (ov.vitamio.demo) 

А потом в журнале я получил следующее сообщение:

08-03 15:45:37.744: W/ActivityManager(852): Force finishing activity io.vov.vitamio.demo/.VideoViewDemo 
08-03 15:45:37.754: W/ContextImpl(852): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1469 com.android.server.am.ActivityStack.startPausingLocked:1002 com.android.server.am.ActivityStack.finishActivityLocked:3147 com.android.server.am.ActivityStack.finishTopRunningActivityLocked:2994 com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked:3093 
08-03 15:45:37.764: W/ApplicationPackageManager(852): getCSCPackageItemText() 
+1

Не могли бы вы попытаться реализовать OnInfoListener и проверить информацию о медиа, которую получил vitamino. –

+0

@DmitriSosnik Я попробовал, и это не помогло мне понять проблему, но хороший намек, поскольку это дало мне много полезной информации. В целом проблема решена, просто взгляните на мой ответ ниже. –

ответ

2

После сканирования многих near similar problems, я понял, что это может быть потому, что он требует имеет ACCESS_NETWORK_STATE разрешения, хотя журнал не сказал мне, что, но как он говорит мне это не квалифицированный пользователь, чтобы выполнить этот процесс что означает, что пользователь должен получить разрешение быть квалифицированы для этого, поэтому я добавил это разрешение:

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

Таким образом, для запуска в разрешенный прямой эфир RTSP с помощью Vitamio, вам необходимо зарегистрировать все из следующих разрешений:

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

Я пытаюсь использовать vitamio, но я получаю ошибку «454 session not found». Как я могу это решить? – sorunluadam

+0

@yusufonder Я должен видеть ваш код и ваш журнал, а также часть кода, которая вызывает проблему, чтобы помочь вам, если можно, поэтому вы можете задать новый вопрос с полной информацией о передаче, это ссылка на меня, спасибо. –

+1

http://stackoverflow.com/questions/35170698/vitamio-454-session-not-found – sorunluadam

1

У меня была проблема, когда я не смог поток RTSP, даже я удалил Authuntication как имя пользователя и пароль. Поэтому я могу напрямую получить доступ к ссылке. . Что для меня работает для потока LIVE:

1-й Убедитесь, что вы зарегистрировали разрешения.

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

второй я дал Streaming Ссылка как:

rtsp://192.xxx.x.xx/h264 OR rtsp://192.111.1.1/h264 (example) 

Запомнить меня удалили имя пользователя и пароль для RTSP Ссылки в My IP Настройки камеры.

третий: Главное, что работал для меня было:

Open build.gradle of your app 
change targedsdkversion to 22 
Open build.gradle of your Vitamio:module 
change targedsdkversion to 22 
It may sound weird but it worked for me like a charm. 

Надежда Это может быть полезным.

Смежные вопросы