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 localhost
SERVER_URL
defines the external URL of the encoder - default is https://localhost/
DB_MYSQL_HOST
defines the database hostname - default is database
DB_MYSQL_PORT
defines the database port - default is 3306
DB_MYSQL_NAME
defines the database name - default is avideo
DB_MYSQL_USER
defines the database username - default is avideo
DB_MYSQL_PASSWORD
defines the database password - default is avideo
STREAMER_URL
defines the streamer url - default is https://localhost/
STREAMER_USER
defines the streamer username - default is admin
STREAMER_PASSWORD
defines the streamer password - default is password
STREAMER_PRIORITY
defines the streamer priority - default is 1
CREATE_TLS_CERTIFICATE
defines, if the image should generate its ssl selfsigned certificate - default is yes
TLS_CERTIFICATE_FILE
defines the location of the HTTPS tls certificate - default is /etc/apache2/ssl/localhost.crt
TLS_CERTIFICATE_KEY
defines the location of the HTTPS tls certificate key - default is /etc/apache2/ssl/localhost.key
CONTACT_EMAIL
defines the contact mail address - default is admin@localhost
PHP_POST_MAX_SIZE
defines the PHP max POST size for uploads - default is 100M
PHP_UPLOAD_MAX_FILESIZE
defines the PHP max upload file size - default is 100M
PHP_MAX_EXECUTION_TIME
defines the PHP max execution time for threads during encoding - default is 7200
PHP_MEMORY_LIMIT
defines the PHP memory limit - default is 512M