Android Question how to play rtsp format video?

Discussion in 'Android Questions' started by hzytsoft, May 10, 2015.

  1. hzytsoft

    hzytsoft Member Licensed User

    hi all friends
    i usd ba4 play this
    rtsp://210.56.50.141/video81

    but can not work

    and i can use vlc paly this rtsp

    any body can tell me how to use b4a play
    rtsp://210.56.50.141/video81


    tks all
    @Erel
     
  2. Peter Simpson

    Peter Simpson Expert Licensed User

    Erel, mangojack and DonManfred like this.
  3. sirjo66

    sirjo66 Well-Known Member Licensed User

    Hi hzytsoft,
    in my app, I use this free player: http://store.mdcgate.com/products.php?productId=18

    It works very very well and it can play also rtsp streaming.

    It is very simple to use

    Code:
    Dim link As String = "rtsp://210.56.50.141/video81"
    Dim ii As Intent
    ii.Initialize(ii.ACTION_VIEW, link)
    ii.SetType(
    "video/*")
    StartActivity(ii)
    Activity.Finish
    Sergio
     
    Sytek and Peter Simpson like this.
  4. hzytsoft

    hzytsoft Member Licensed User

  5. xpectmore

    xpectmore Member Licensed User

    there manny others ways when a fixed way doesn't work.i am not sure if this will help you or anyone else in other conditions ..
    i use this php script to streaming in my test .in b4a you can link the url hosting to a WebView library (if anyone watch are begginer this is an example how to use webview https://www.b4x.com/android/forum/threads/webview-example-pimp-up-your-app.24321/ you may change url there with your url where you upload the php script )
    Code:
    <?php
    /**
    * Description of VideoStream
    *
    * @author Rana
    * @link http://codesamplez.com/programming/php-html5-video-streaming-tutorial
    */
    class VideoStream
    {
        
    private $path = "";
        
    private $stream = "";
        
    private $buffer = 102400;
        
    private $start  = -1;
        
    private $end    = -1;
        
    private $size   = 0;
        function __construct($filePath)
        {
            $this->
    path = $filePath;
        
    }

        /**
         * Open stream
         */
        private function open()
        {
            if (!($this->stream = fopen($this->path, 'rb'))) {
                die('Could not open stream for reading');
            }
        
        }

        /**
         * Set proper header to serve the video content
         */
        private function setHeader()
        {
            ob_get_clean();
            header("Content-Type: video/mp4");
            header("Cache-Control: max-age=2592000, public");
            header("Expires: ".gmdate('D, d M Y H:i:s', time()+2592000) . ' GMT');
            header("Last-Modified: ".gmdate('D, d M Y H:i:s', @filemtime($this->path)) . ' GMT' );
            $this->start = 0;
            $this->size  = filesize($this->path);
            $this->end   = $this->size - 1;
            header("Accept-Ranges: 0-".$this->end);
        
            if (isset($_SERVER['HTTP_RANGE'])) {

                $c_start = $this->start;
                $c_end = $this->end;
                list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
                if (strpos($range, ',') !== false) {
                    header('HTTP/1.1 416 Requested Range Not Satisfiable');
                    header("Content-Range: bytes $this->start-$this->end/$this->size");
                    exit;
                }
                if ($range == '-') {
                    $c_start = $this->size - substr($range, 1);
                }else{
                    $range = explode('-', $range);
                    $c_start = $range[0];
                
                    $c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $c_end;
                }
                $c_end = ($c_end > $this->end) ? $this->end : $c_end;
                if ($c_start > $c_end || $c_start > $this->size - 1 || $c_end >= $this->size) {
                    header('HTTP/1.1 416 Requested Range Not Satisfiable');
                    header("Content-Range: bytes $this->start-$this->end/$this->size");
                    exit;
                }
                $this->start = $c_start;
                $this->end = $c_end;
                $length = $this->end - $this->start + 1;
                fseek($this->stream, $this->start);
                header('HTTP/1.1 206 Partial Content');
                header("Content-Length: ".$length);
                header("Content-Range: bytes $this->start-$this->end/".$this->size);
            }
            else
            {
                header("Content-Length: ".$this->size);
            }
        
        }

        /**
         * close curretly opened stream
         */
        private function end()
        {
            fclose($this->stream);
            exit;
        }

        /**
         * perform the streaming of calculated range
         */
        private function stream()
        {
            $i = $this->start;
            set_time_limit(0);
            while(!feof($this->stream) && $i <= $this->end) {
                $bytesToRead = $this->buffer;
                if(($i+$bytesToRead) > $this->end) {
                    $bytesToRead = $this->end - $i + 1;
                }
                $data = fread($this->stream, $bytesToRead);
                echo $data;
                flush();
                $i += $bytesToRead;
            }
        }

        /**
         * Start streaming video content
         */
        function start()
        {
            $this->open();
            $this->setHeader();
            $this->stream();
            $this->end();
        }
    }



    $filePath='flm/m1.mp4';
    $stream = new VideoStream($filePath);
    $stream->start();

    ?>


    ...so if you make an folder there on your hosting named flm then you put an small "m1.mp4" movie that script will streaming for you over an browser the movie.this is again an proof that php is the only friend you have and if you know manny languages that will save your "Aquaring Saving Sollutions" :)

    so you have here the link where they teach you how to streaming video using php to any other resource http://codesamplez.com/programming/php-html5-video-streaming-tutorial (thanks Rana)
     
    Last edited: Feb 23, 2017
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice