This is the Encoder for AVideo.
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.
Want to manage multiple encoders? AVideo Encoder Network (Optional)
If you are not sure what is AVideo Platform, go to our demo page or visit our AVideo Platform Official Site
- AVideo Platform Flix Style Demo
- We provide you a Flix site sample. On this site you can subscribe (with real money on PayPal). this subscription will allow you to watch our private videos. There is an user that you can use to see how it works. user: test and pass: test.
- AVideo Platform Tutorials Gallery
- We've provided a sample Video Gallery site, which is also our tutorials site. On this sample you can login, subscribe, like, dislike and comment. but you can not upload videos.
- AVideo Platform Full-Access Demo
- We provide you a Demo site sample with full access to the admin account. You will need an admin password to upload and manage videos, it is by default. user: admin and pass: 123. Also there is a non admin user and password (Only for comments). user: test and pass: test.
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
This Software must be used for Good, never Evil. It is expressly forbidden to use AVideo to build porn sites, violence, racism or anything else that affects human integrity or denigrates the image of anyone.
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
Are you having a hard time to configure or install AVideo or any of its resources? fell free to ask us for help:
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:
- 10.0.0.0/8
- 127.0.0.0/8 (Localhost)
- 172.16.0.0/12
- 192.168.0.0/16
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.
- Linux (Kernel 2.6.32+)
- PHP 8+
- MySQL 5.0+
- Apache web server 2.x (with mod_rewrite enabled)
- FFMPEG
- PHP Shell Exec Access, Note: This function is disabled when PHP is running in safe mode.
Since version 4.x+ we separate the streamer website from the encoder website, so that we can distribute the application on different servers.
- The Streamer site, is the main front end and has as main function to attend the visitors of the site, through a layout based on the youtube experience, you can host the streamer site in any common internet host can host it (Windows or Linux).
- The Encoder site, will be better than the original encoder, the new encoder will be in charge of managing a media encoding queue. You can download the encoder here: https://github.com/WWBN/AVideo-Encoder. but to install it you will need ssh access to your server, usually only VPS servers give you that kind of access, that code uses commands that use the Linux shell and consume more CPU.
- I will have to install the encoder and the streamer? No. We will be providing a public encoder, we will build the encoder in such a way that several streamers can use the same encoder. We are also providing source code for this, so you can install it internally and manage your own encoding priority.
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 islocalhost
SERVER_URL
defines the external URL of the encoder - default ishttps://localhost/
DB_MYSQL_HOST
defines the database hostname - default isdatabase
DB_MYSQL_PORT
defines the database port - default is3306
DB_MYSQL_NAME
defines the database name - default isavideo
DB_MYSQL_USER
defines the database username - default isavideo
DB_MYSQL_PASSWORD
defines the database password - default isavideo
STREAMER_URL
defines the streamer url - default ishttps://localhost/
STREAMER_USER
defines the streamer username - default isadmin
STREAMER_PASSWORD
defines the streamer password - default ispassword
STREAMER_PRIORITY
defines the streamer priority - default is1
CREATE_TLS_CERTIFICATE
defines, if the image should generate its ssl selfsigned certificate - default isyes
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 isadmin@localhost
PHP_POST_MAX_SIZE
defines the PHP max POST size for uploads - default is100M
PHP_UPLOAD_MAX_FILESIZE
defines the PHP max upload file size - default is100M
PHP_MAX_EXECUTION_TIME
defines the PHP max execution time for threads during encoding - default is7200
PHP_MEMORY_LIMIT
defines the PHP memory limit - default is512M