1

RTMPGW をアプリの一部として利用しようとしていますが、これは通常 Linux でうまく機能します。Vitamio バンドルを使用してストリームを再生しようとしています。Vitamio Demo から抜粋したメイン コードは次のとおりです。

package io.vov.vitamio.demo;

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

public class VideoViewDemo extends Activity {


    private VideoView mVideoView;

    /* (non-Javadoc)
     * @see android.app.Activity#onCreate(android.os.Bundle)
     */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this))
            return;

    setContentView(R.layout.videoview);
    mVideoView = (VideoView) findViewById(R.id.surface_view);
    mVideoView.setVideoURI(Uri.parse("http://172.16.1.182:8902/?r=rtmp://live.dtv.cubecdn.net:80/kdmobil/KanalD1&W=http://www.kanald.com.tr/Content/swf/Canliplayer6.swf?config=/Content/swf/Config.xml%26debug=false&p=http://www.kanald.com.tr&c=80"));
    mVideoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);
    mVideoView.setMediaController(new MediaController(this));
    mVideoView.requestFocus();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        if (mVideoView != null)
            mVideoView.setVideoLayout(VideoView.VIDEO_LAYOUT_SCALE, 0);
        super.onConfigurationChanged(newConfig);
    }
}

これを実行すると、RTMPGW (Linux のターミナルから実行しています) に次のエラーが表示されます。

processTCPrequest, Range request not supported

..そして、何もせずにぼんやりとそこに座っています。

ただし、このコードで通常の Android VideoView を使用すると (別のプロジェクトで):

package com.sample.videoviewexample;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class MainActivity extends Activity {
   private VideoView mVideoView;

   @Override
   public void onCreate(Bundle icicle) {
     super.onCreate(icicle);
     setContentView(R.layout.activity_main);
     mVideoView = (VideoView) findViewById(R.id.surface_view);
     mVideoView.setVideoURI(Uri.parse("http://172.16.1.182:8902/?r=rtmp://live.dtv.cubecdn.net:80/kdmobil/KanalD1&W=http://www.kanald.com.tr/Content/swf/Canliplayer6.swf?config=/Content/swf/Config.xml%26debug=false&p=http://www.kanald.com.tr&c=80"));
     mVideoView.setMediaController(new MediaController(this));
     mVideoView.requestFocus();
   }
}

RTMPGWサーバーに接続し、ストリーミングを開始します...

Streaming on http://0.0.0.0:8902
processTCPrequest, Range request not supported
Connecting ... port: 80, app: kdmobil/KanalD1
1094.914 KB / 16.90 sec

しかし、もちろん、Android MediaPlayer はネイティブで Flash をサポートしていないため、ビデオは再生されません。

VideoView は RTMPGW のサーバーに接続するのに Vitamio は接続しないのはなぜですか?

ご協力いただきありがとうございます、

ダン

4

0 に答える 0