AVideo-Encoder icon indicating copy to clipboard operation
AVideo-Encoder copied to clipboard

I cant install the encoder

Open racazahassem09191990 opened this issue 1 year ago • 18 comments

I cant install the encoder if the core script are configured for the server running nginx, php8.1 and mariadb.

Please add this update.

racazahassem09191990 avatar Mar 31 '23 17:03 racazahassem09191990

@DanielnetoDotCom I tried to install it and see what could be his issue and it seems there is a bug and it is a CORS issue Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://mytestdomain.test//login. (Reason: Multiple CORS header ‘Access-Control-Allow-Origin’ not allowed). there is somewhere multiple CORS entries that is causing this issue hope this info is useful to you to handle this issue

mohmafia avatar Apr 03 '23 07:04 mohmafia

I fixed it. i deployed core script running apache after that i install the encoder pointed in my core script running apache. after that i add my main core running nginx and i edit as a admin in streamer in encoder section.

racazahassem09191990 avatar Apr 03 '23 09:04 racazahassem09191990

found the problem it is in the streamers .htaccess .... take this whole section out....

BEGIN Caching

Header set Access-Control-Allow-Origin: * Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=2592000, public" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=604800, public" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=216000, private" Header set Cache-Control "max-age=216000, public, must-revalidate" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=1, private, must-revalidate" # END Caching

save it and all cors problems are solved no longer cors errors in the console and all works fine even with php-fpm and even with ispconfig 3 installed (control panel)

mohmafia avatar Apr 03 '23 10:04 mohmafia

found the problem it is in the streamers .htaccess .... take this whole section out....

BEGIN Caching

Header set Access-Control-Allow-Origin: * Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=2592000, public" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=604800, public" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=216000, private" Header set Cache-Control "max-age=216000, public, must-revalidate" Header set Access-Control-Allow-Origin: * Header set Cache-Control "max-age=1, private, must-revalidate" # END Caching save it and all cors problems are solved no longer cors errors in the console and all works fine even with php-fpm and even with ispconfig 3 installed (control panel)

where in .htaccess in core? do you have full .htaccess? please.

racazahassem09191990 avatar Apr 03 '23 10:04 racazahassem09191990

`Options -Indexes

RewriteEngine on
RedirectMatch 404 /\.git
# Deny access to log files
RewriteRule ^.*\.log$ - [F,L,NC]
RewriteRule    ^(.*)enc_watermarked.key$ view/watermarked.key.php?path=$1    [QSA]

#RedirectMatch 403 ^/folder/.+\.(png|gif|js)$

RewriteRule    ^index.php$ view/index.php    [NC,L]
#RewriteRule    ^$ view/    [NC,L]
RewriteRule    ^isAdmin$ view/isAdmin.php    [NC,L]
RewriteRule    ^watermark$ view/watermark.php    [NC,L]
RewriteRule    ^videosListToLive view/videosListToLive.php    [NC,L]
RewriteRule    ^removeStreamer$ view/removeStreamer.php    [NC,L]
RewriteRule    ^priority$ view/priority.php    [NC,L]
RewriteRule    ^status$ view/status.php    [NC,L]
RewriteRule    ^serverStatus$ view/status.php?serverStatus=1    [NC,L]
RewriteRule    ^upload$ view/upload.php    [NC,L]
RewriteRule    ^listFiles.json$ view/listFiles.json.php    [NC,L]
RewriteRule    ^deleteQueue$ view/deleteQueue.php    [NC,L]
RewriteRule    ^saveConfig$ view/saveConfig.php    [NC,L]
RewriteRule    ^youtubeDl.json$ view/youtubeDl.json.php    [NC,L]
RewriteRule    ^send.json$ view/send.json.php    [NC,L]
RewriteRule    ^streamers.json$ view/streamers.json.php    [NC,L]
RewriteRule    ^queue.json$ view/queue.json.php    [NC,L]
RewriteRule    ^queue$ view/queue.php    [NC,L]
RewriteRule    ^login$ objects/login.json.php    [NC,L]
RewriteRule    ^logoff$ objects/logoff.json.php    [NC,L]
RewriteRule    ^getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$ objects/getImage.php?base64Url=$1&format=$2    [NC,L]
RewriteRule    ^getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3,4})/([0-9.]+)$ objects/getImageMP4.php?base64Url=$1&format=$2&time=$3    [NC,L]
RewriteRule    ^getSpiritsFromVideo/([A-Za-z0-9%=/]+)/([0-9]+)/([0-9]+)/([0-9:]+)? objects/getSpiritsFromVideo.php?base64Url=$1&tileWidth=$2&totalClips=$3&duration=$4    [NC,L]
RewriteRule    ^getLinkInfo/([A-Za-z0-9=/]+)$ objects/getLinkInfo.json.php?base64Url=$1    [NC,L]
Order Allow,Deny Deny from all `

mohmafia avatar Apr 03 '23 17:04 mohmafia

htaccess.txt hope this shows better

mohmafia avatar Apr 03 '23 17:04 mohmafia

Sorry I am not getting the point here,

could you make the cors work in a cross-site domain?

DanielnetoDotCom avatar Apr 03 '23 20:04 DanielnetoDotCom

Sorry I am not getting the point here,

could you make the cors work in a cross-site domain?

The multiple cors problem is because of the .htaccess entries once removed there is no longer a cross domain problem and all will install without problems i have already changed the htaccess file for the streamer as that is where the problems are

mohmafia avatar Apr 03 '23 20:04 mohmafia

How to bypass error page for encoder script?

Error. Oops you've encountered an error It appears that either something went wrong or the mod rewrite configration is not correct. We need to allow Apache to read .htaccess files located under the /var/www/html/upload directory. You can do this by editing the Apache configuration file:

Find the section <directory /var/www/html> and change AllowOverride None to AllowOverride All

sudo nano /etc/apache2/apache2.conf After editing the above file your code should be like this:

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> In order to use mod_rewrite you can type the following command in the terminal:

sudo a2enmod rewrite Restart apache2 after

sudo /etc/init.d/apache2 restart or

sudo service apache2 restart

racazahassem09191990 avatar Apr 03 '23 21:04 racazahassem09191990

in ssh or commandline copy and paste these 2 commands sudo a2enmod rewrite service apache2 restart

mohmafia avatar Apr 03 '23 21:04 mohmafia

in ssh or commandline copy and paste these 2 commands sudo a2enmod rewrite service apache2 restart

Im using nginx

i install my encoder script in sub folder for my core script.

racazahassem09191990 avatar Apr 03 '23 21:04 racazahassem09191990

in ssh or commandline copy and paste these 2 commands sudo a2enmod rewrite service apache2 restart

Im using nginx

Nginx does not use rewrite recommended is apache nginx use for rtmp is recommended

mohmafia avatar Apr 03 '23 21:04 mohmafia

in ssh or commandline copy and paste these 2 commands sudo a2enmod rewrite service apache2 restart

Im using nginx

Nginx does not use rewrite recommended is apache nginx use for rtmp is recommended

All media in my core script are HLS format. apache are not good for serving HLS i think.

racazahassem09191990 avatar Apr 03 '23 21:04 racazahassem09191990

nginx configuration

location ~ 404 { rewrite ^(.*)$ /.git redirect; }

location ~ ^/.*.log$ { return 403; }

location / { rewrite ^/(.*)enc_watermarked.key$ /view/watermarked.key.php?path=$1; rewrite ^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$" /objects/getImage.php?base64Url=$1&format=$2 break; rewrite ^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3,4})/([0-9.]+)$" /objects/getImageMP4.php?base64Url=$1&format=$2&time=$3 break; }

location = /index.php { rewrite ^(.*)$ /view/index.php break; }

location = /isAdmin { rewrite ^(.*)$ /view/isAdmin.php break; }

location = /watermark { rewrite ^(.*)$ /view/watermark.php break; }

location /videosListToLiv { rewrite ^/videosListToLive /view/videosListToLive.php break; }

location = /removeStreamer { rewrite ^(.*)$ /view/removeStreamer.php break; }

location = /priority { rewrite ^(.*)$ /view/priority.php break; }

location = /status { rewrite ^(.*)$ /view/status.php break; }

location = /serverStatus { rewrite ^(.*)$ /view/status.php?serverStatus=1 break; }

location = /upload { rewrite ^(.*)$ /view/upload.php break; }

location = /listFiles.json { rewrite ^(.*)$ /view/listFiles.json.php break; }

location = /deleteQueue { rewrite ^(.*)$ /view/deleteQueue.php break; }

location = /saveConfig { rewrite ^(.*)$ /view/saveConfig.php break; }

location = /youtubeDl.json { rewrite ^(.*)$ /view/youtubeDl.json.php break; }

location = /send.json { rewrite ^(.*)$ /view/send.json.php break; }

location = /streamers.json { rewrite ^(.*)$ /view/streamers.json.php break; }

location = /queue.json { rewrite ^(.*)$ /view/queue.json.php break; }

location = /queue { rewrite ^(.*)$ /view/queue.php break; }

location = /login { rewrite ^(.*)$ /objects/login.json.php break; }

location = /logoff { rewrite ^(.*)$ /objects/logoff.json.php break; }

location /getSpiritsFromVideo { rewrite ^/getSpiritsFromVideo/([A-Za-z0-9%=/]+)/([0-9]+)/([0-9]+)/([0-9:]+)? /objects/getSpiritsFromVideo.php?base64Url=$1&tileWidth=$2&totalClips=$3&duration=$4 break; }

location /getLinkInfo { rewrite ^/getLinkInfo/([A-Za-z0-9=/]+)$ /objects/getLinkInfo.json.php?base64Url=$1 break; }

location /avideo.log { deny all; }

mohmafia avatar Apr 03 '23 21:04 mohmafia

My encoder script location are here /var/www/html/encoder . so where location block i add that directive?

racazahassem09191990 avatar Apr 03 '23 21:04 racazahassem09191990

My encoder script location are here /var/www/html/encoder . so where location block i add that directive?

no leave as is and that is for the streamer not the encoder

mohmafia avatar Apr 03 '23 21:04 mohmafia

nginx configuration encoder

autoindex off;

location ~ 404 { rewrite ^(.*)$ /.git redirect; }

location ~ ^/.*.log$ { return 403; }

autoindex off;

location / { rewrite ^/(.*)enc_watermarked.key$ /view/watermarked.key.php?path=$1; rewrite "^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$" /objects/getImage.php?base64Url=$1&format=$2 break; rewrite "^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3,4})/([0-9.]+)$" /objects/getImageMP4.php?base64Url=$1&format=$2&time=$3 break; }

location = /index.php { rewrite ^(.*)$ /view/index.php break; }

location = /isAdmin { rewrite ^(.*)$ /view/isAdmin.php break; }

location = /watermark { rewrite ^(.*)$ /view/watermark.php break; }

location /videosListToLiv { rewrite ^/videosListToLive /view/videosListToLive.php break; }

location = /removeStreamer { rewrite ^(.*)$ /view/removeStreamer.php break; }

location = /priority { rewrite ^(.*)$ /view/priority.php break; }

location = /status { rewrite ^(.*)$ /view/status.php break; }

location = /serverStatus { rewrite ^(.*)$ /view/status.php?serverStatus=1 break; }

location = /upload { rewrite ^(.*)$ /view/upload.php break; }

location = /listFiles.json { rewrite ^(.*)$ /view/listFiles.json.php break; }

location = /deleteQueue { rewrite ^(.*)$ /view/deleteQueue.php break; }

location = /saveConfig { rewrite ^(.*)$ /view/saveConfig.php break; }

location = /youtubeDl.json { rewrite ^(.*)$ /view/youtubeDl.json.php break; }

location = /send.json { rewrite ^(.*)$ /view/send.json.php break; }

location = /streamers.json { rewrite ^(.*)$ /view/streamers.json.php break; }

location = /queue.json { rewrite ^(.*)$ /view/queue.json.php break; }

location = /queue { rewrite ^(.*)$ /view/queue.php break; }

location = /login { rewrite ^(.*)$ /objects/login.json.php break; }

location = /logoff { rewrite ^(.*)$ /objects/logoff.json.php break; }

location /getSpiritsFromVideo { rewrite ^/getSpiritsFromVideo/([A-Za-z0-9%=/]+)/([0-9]+)/([0-9]+)/([0-9:]+)? /objects/getSpiritsFromVideo.php?base64Url=$1&tileWidth=$2&totalClips=$3&duration=$4 break; }

location /getLinkInfo { rewrite ^/getLinkInfo/([A-Za-z0-9=/]+)$ /objects/getLinkInfo.json.php?base64Url=$1 break; }

location /avideo.log { deny all; }

mohmafia avatar Apr 03 '23 21:04 mohmafia

if that does not work add this to the location block. /var/www/html/encoder

mohmafia avatar Apr 03 '23 21:04 mohmafia