Make Izap video working

Hello Everyone

I am trying to set up https://elgg.org/plugins/1913474
But i am not reaching to finalize the installation.

exec() Fail Required to execute the commands.
cURL support Success Required for fetching the remote feed.
PDO_SQLITE Support Success Required to manage queue by sqlite database.
PHP interpreter test Fail PHP interpreter not found.
(Make sure the path in the "Path for the PHP interpreter" input field on the "Settings" tab is correct)
FFmpeg Fail  
upload_max_filesize 500.00 MB The maximum size of files that PHP will accept for uploads. Increase in .htaccess if necessary for larger files.
post_max_size 800.00 MB Needs to be at least as large as upload_max_filesize. Better set it a bit larger than upload_max_filesize in .htaccess to be able to handle a slight overhead that might occur.
max_input_time 60 The maximum time in seconds a script is allowed to run before it is terminated. Set it large enough in .htaccess. Setting it to "0" means no limit.
max_execution_time 30 The maximum time in seconds a script is allowed to run before it is terminated. Set it large enough in .htaccess. Setting it to "0" means no limit.
memory_limit 64M Memory limit for a PHP thread. Set the limit high enough in .htaccess to allow processing of the largest to be expected files by ffmpeg.

Here is my status of the plugin (yes i over put the max_size)

Why can't php access exec ?
Php Interpreter test
the path is good /usr/bin/php (i also tried /usr/bin/php7.2)
FFpmeg is also installed and i can use it on my server

An other thing, i can't find were to setup the cron job to call ffmpeg and how to configure it.

You all did a very great work with elgg and the plugin congrats to everyone and thank for your time.

Damien

 

  • Thanks Nikolai

    i am trying to figure out whats wrong as i see the code of the init of the cron in the IzapVideoBootstrap.

    Thanks for your explanation in the discussion, its pretty clear

  • The cronjob you need to set up is not a cronjobs specifically to iZAP Videos. The iZAP Videos plugin hooks into the cronjobs you need to add for Elgg itself fully working. The Elgg cronjobs (if configured on a server) triggers the execution of the functions hooked into the corresponding time intervals. As long the cronjobs of Elgg are executed at their corrresponding interval it's no further work necessary. The iZAP Videos plugin allows to select the time interval to be used if you want to use a specific interval or can't add all Elgg cronjobs and/or don't want to use the 1 minute intervall for triggering the video conversion.

    How to add the cronjobs of Elgg depends on your server scenario. If you have CPanel to administrate your server, you can add the cronjobs there. Have you already tried to add the Elgg cronjobs? If not, please try and if you have trouble, ask again and provide some more details about your server setup to help us to help you.

    Beside the cronjob issue you also need to get all errors shown on the Server Analysis tab of iZAP Videos fixed. The exec() command must work. Also, php and ffmpeg are not found on your server. In the latter two cases you might just need to provide the correct path to the php and ffmpeg executables on your server on the iZAP Videos plugin settings page. If the php and ffmpeg errors are gone, the exec() error might be solved, too. If not, the usage of the exec() function of php might not be allowed on your server (disabled on the php.ini of your server).

    Only if there are no errors on the analysis tab and the cronjob (the one interval used by iZAP Videos at least) has been added, you can expect the conversion to work.

  • Thank you for your explanation, i was not familiar with cronjob. I am trying to add the cronjob i come back to you.

    concerning the other problem the php path and ffmpeg path are fine, i tried to use the same path on my server and my php and ffmpeg binary are there.

    I am trying to solve this first

    Thank you

  • Try to get the exec command of PHP working first. If this is not available on your server, it won't work. Do you have access to the php.ini configuration file of PHP on your server? Maybe the exec command is disabled on your server (there's the disable_functions PHP variable in php.ini). Depending on how your server can be administered (e.g. CPanel and WHM available), you might also be able to modify the disable_functions variable there. If you are on a shared server, you might not be able to enable it at all!!! If in doubt, get in contact with the support of your webhoster and ask them about the exec comman of PHP and how to enable it.

  • Yes after some struggle yesterday, i found that exec function was on the "disabled_function" in the php.ini

    Deleting that made all the "status green", So exec, ffmpeg and php are enable and working :D
    Then i was not at all familiar with cronjob which i am familiar with now, and reach to configure the cronjob

    I configure the cronjob directly with cronjob unix package.
    As Nikolai pointed out on the discussion thread, i needed to configure the cron as my server User (www-data

    crontab -u www-data -e

    My On-Server Vidéo are now working and the cron are converting them nicely, Thank you for your time :D

    Unfortunetly this is not all.

    My Off Server video are not working. I created the api Key and copied it in my administration system.
    When i try to link youtube vidéo or daylimotion (didn't try with vimeo) i get this error : 

    Unknown error while fetching the video. This might be because of limited rights assigned to the video. 

    this occure with any vidéo

    Also embedded code vidéo mode is the vidéo with embedded code is that ? :

    <iframe width="560" height="315" src="https://www.youtube.com/embed/jjG_rajYEks&quot; frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

    or its just the link 
    https://www.youtube.com/embed/jjG_rajYEks ?


    When i try to put in "Vidéo embed code" the iframe -> i get this error "Please provid the embed code"

    When i provide only the link "embed", i have the link but no video who show up


    Were am i wrong ?


    Again, thank you a lot for your time 


     
  • I can't recommend the embed code option. The original developers had added this feature and I just kept it. But it's not really useable. The bundled Htmlawed plugin interferes here and removes the embed code for safety reasons. It would work with the Htmlawed plugin disabled. But please never do this on any site that's accessible from the Internet!!!

    The API key for off-server videos is only needed for Youtube videos. For Dailymotion and Vimeo it should work also independently of the API key to add a video just by copy+paste of the URL of the corresponding video.

    When creating the API key at Google you must NOT set any restrictions on usage of the key with respect to IP address or domain address. Try removing any restrictions you might have set on the existing key or create another one without restrictions (a "server key"). As the API is not accessible or visible to any users but only used internally, the lack of restrictions are not a problem.

    The error you got could be telling you that the video(s) you are trying to add is/are indeed protected from being embedded on other sites. But as you say it fails for all videos it's more likely that the API key not not working as it should (e.g. due to restrictions on usage).

  • P.S. as I recently had to find out myself, Google disables API keys now if not used for 60 days. I had gotten a warning email once in the past but the last time they just set the quota to zero and then expected a very, very detailed reports about how I make use of the key, code examples etc. etc. They were not satisfied with a brief overview and as I began to suspect at this point they just want to learn about any promising business models for free. I don't think you would the API key working again even by spending countless hours to report everything down to the last detail.

    Better don't try to get the API key unlocked. Just delete the key and create a new key. And maybe set a reminder to yourself to add a video at least once per months to prevent the unwanted removal of the quota of the key.

  • Ok i understand for the iframe exploit that can happend so i disabled this function.

     

    The API key for off-server videos is only needed for Youtube videos. For Dailymotion and Vimeo it should work also independently of the API key to add a video just by copy+paste of the URL of the corresponding video.

    Ok i understand,

    Vimeo is working and daylimotion also.

    None of my vidéo youtube are working, so i will check on the api key wich look without any restriction.
    Lets see

    edit [Resolve youtube Video] : I forgot to activate the youtube API V3 in my google dashboard for API KEY

    YEAAAY !!

    Thank you so much iionly and nikolai ! 

    Thank you for this plugin who work very nicely :D