Stars: 140
Forks: 181
Pull Requests: 83
Issues: 434
Watchers: 21
Last Updated: 2023-09-08 15:08:44
Encoder Server for AVideo Platform Open-Source
License: GNU Affero General Public License v3.0
Languages: PHP, CSS, JavaScript, Dockerfile, HTML, Shell
AVideo is a video-sharing Platform software, the open source solution that is freely available to everyone. When you download AVideo Platform instance, you can create your own video sharing site, AVideo will help you import and encode videos from other sites like Youtube, Vimeo, etc. and you can share directly on your website. In addition, you can use Facebook or Google login to register users on your site.
I would humbly like to thank God for giving me the necessary knowledge, motivation, resources and idea to be able to execute this project. Without God's permission this would never be possible.
For of Him, and through Him, and to Him, are all things: to whom be glory for ever. Amen.
Apostle Paul in Romans 11:36
Streamer can be installed on any Server, including Windows, but the encoder and Livestream should work fine on any Linux distribution. However we recommend Ubuntu 16 or 17 without any kind of control panel. The problem with cPanel, Plesk, Webmin, VestaCP, etc. It's because we need full root access to install some libs, and maybe compile them. Another important point is that to make Livestream work, we need to compile Nginx and the control panels often prevent us from running the commands forcing the installation available only on your panel.
I don´t want to read I just want you to show me how to install!!
Ok, check this out! https://tutorials.avideo.com/video/streamer-and-encoder
https://www.youphptube.com/services
You may want to install the encoder for a few reasons: If you have a faster server than the public encoder server (which is likely to happen) or If you'd like a private way of encoding your videos
But the mandatory installation if you are using a private network. The public encoder will not have access to send the videos to your streamer site
If your server does not have a public IP or uses an IP on some of these bands:
Surely you need to install an encoder
Go get it here
In order for you to be able to run AVideo, there are certain tools that need to be installed on your server. Don't worry, they are all FREE. To have a look at complete list of required tools, click the link below.
Since version 4.x+ we separate the streamer website from the encoder website, so that we can distribute the application on different servers.
If you want the old version with Streamer and Encoder together (Version 3.4.1) download it here
We've created a Docker environment for the AVideo platform together with the AVideo Encoder. You can either run docker build on this git repository or you can pull the latest image from Docker hub. It will be updated on any commit here. Also there are tags for official releases.
The docker image can be configured automatically via some environment variables. The following options are available and should respect the normal install GUI.
SERVER_NAME defines the name of the server used for internal configuration - default is localhostSERVER_URL defines the external URL of the encoder - default is https://localhost/DB_MYSQL_HOST defines the database hostname - default is databaseDB_MYSQL_PORT defines the database port - default is 3306DB_MYSQL_NAME defines the database name - default is avideoDB_MYSQL_USER defines the database username - default is avideoDB_MYSQL_PASSWORD defines the database password - default is avideoSTREAMER_URL defines the streamer url - default is https://localhost/STREAMER_USER defines the streamer username - default is adminSTREAMER_PASSWORD defines the streamer password - default is passwordSTREAMER_PRIORITY defines the streamer priority - default is 1CREATE_TLS_CERTIFICATE defines, if the image should generate its ssl selfsigned certificate - default is yesTLS_CERTIFICATE_FILE defines the location of the HTTPS tls certificate - default is /etc/apache2/ssl/localhost.crtTLS_CERTIFICATE_KEY defines the location of the HTTPS tls certificate key - default is /etc/apache2/ssl/localhost.keyCONTACT_EMAIL defines the contact mail address - default is admin@localhostPHP_POST_MAX_SIZE defines the PHP max POST size for uploads - default is 100MPHP_UPLOAD_MAX_FILESIZE defines the PHP max upload file size - default is 100MPHP_MAX_EXECUTION_TIME defines the PHP max execution time for threads during encoding - default is 7200PHP_MEMORY_LIMIT defines the PHP memory limit - default is 512M