Search packages, repositories and app categories

GitHub repositoryponnamkarthik/ext_video_player

ext_video_player

Clone of VideoPlayer plugin with youtube & RTMP Support

ext_video_player project cover
Stars
21
Forks
47
Last push (UTC)
Jan 27, 2023
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

ext_video_player

Clone of video_player plugin with support for Youtube & RTMP

pub package

NOTICE

This Plugin uses all its code from video_player plugins which is the official video_player plugin Only few part of the code are modified.

Note

RTMP is only supported in Android (Working for iOS)

Installation

First, add ext_video_player as a dependency in your pubspec.yaml file.

iOS

Warning: The video player is not functional on iOS simulators. An iOS device must be used during development/testing.

Add the following entry to your Info.plist file, located in <project root>/ios/Runner/Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

This entry allows your app to access video files by URL.

Android

Ensure the following permission is present in your Android Manifest file, located in <project root>/android/app/src/main/AndroidManifest.xml:

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

The Flutter project template adds it, so it may already be there.

Web

Please check readme file of video_player

Example

import 'package:ext_video_player/ext_video_player.dart';
import 'package:flutter/material.dart';

void main() => runApp(VideoApp());

class VideoApp extends StatefulWidget {
  @override
  _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
  VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
        'http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4')
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        body: Center(
          child: _controller.value.initialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () {
            setState(() {
              _controller.value.isPlaying
                  ? _controller.pause()
                  : _controller.play();
            });
          },
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
        ),
      ),
    );
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }
}

For more code please check example project

Buy Me a Coffee

Buy Me A Coffee

Karthik Ponnam GitHub avatar
GitHub author

Karthik Ponnam ↗

❤️ to Code. Flutter, Full Stack Developer, Android Developer, Web Development, Known Languages Java, Python so on.,

LanguagesJavaObjective-CDartRuby

Packages published by this repository

Dependencies used

Dependency list 9 items

  • meta^1.0.5
  • video_player_platform_interface^4.1.0
  • video_player_web^2.0.2
  • flutter{"sdk":"flutter"}
  • http^0.13.4
  • youtube_explode_dart^1.10.10
  • flutter_testDevelopment{"sdk":"flutter"}
  • pedanticDevelopment^1.8.0
  • pigeonDevelopment^0.3.0

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗