Foliovision › Forums › FV Player › Troubleshooting › sproradic hlsjs-lite: Das Video ist nicht korrekt codiert
-
Hi,
we are hosting hls encrypted videos on DigitalOcean also using their CDN. This used to work very well so far but since one of the latest FVPlayer updates we are getting more and more complaints from customers that videos are not playing but after some delay the error message in the subject of this post is shown. I cannot trace this issue to one FVPlayer version exactly anymore, because at first, we thought it was the customers browser causing the problem.
Ususally, it then works again after (hard) reloading the page (Ctrl+F5) and/ or clearing the browser cache.
Any idea what we could do?
Thanks,
Jörn
-
-
Hi Chiara,
thanks for the quick reply. The video on this page among many others is not working all of the time (sometimes it does, so please reload until you can see the error):
https://einfachiso.de/webinar/We are using version 7.4.42.727 of FV Player and FV Player Pro
best,
Jörn
Hi Jörn,
Thank you for providing the link.
I could reproduce the same issue. In Safari I had to refresh the page around five times until the error appeared. In Chrome and Firefox I couldn’t play the video at first but when I refreshed the page it started to work.
I’ll forward this to our developer to take a closer look on what might be causing the issue.
Thanks,
ChiaraHello Jörn,
it appears the WP Ajax calls on your website are often slow. I loaded up your test page and these were taking 5 seconds each. Then after about a minute they started to respond in about 300 ms which is pretty fast.
Now the issue appeared again. It’s 21:49 UTC and the /wp-admin/admin-ajax.php request took 25 seconds to respond. Please check your PHP slow log to see what’s slowing it down. Your server support might be able to check it for you or at least tell you if your server is overloaded (are you on a shared server perhaps?).
You can also try to install the Log HTTP Requests plugin to see if any slow external HTTP calls are running at the same time as you notice the issue to occur.
To ensure the issue doesn’t occur (at an expense of reduced video security) you can put this PHP code into your theme functions.php file for now:
add_filter( 'fv_player_pro_secure_hls_key_send', '__return_true' );
I wonder how to avoid these issues. If we only increase the timeout it would lower the video protection.
Thanks,
MartinHi Martin,
thanks for your extensive reply. After a while where the error seemed to have disappeared it is now occuring again. The slow log shows the following when the error occurs:
[26-Mar-2021 08:32:45] [pool wordpress] pid 28230 script_filename = /opt/wordpress/index.php [0x00007f21fa61d840] usleep() /opt/wordpress/wp-content/plugins/fv-player-pro/hls.class.php:382 [0x00007f21fa61d610] secure_hls_key_send() /opt/wordpress/wp-includes/class-wp-hook.php:292 [0x00007f21fa61d530] apply_filters() /opt/wordpress/wp-includes/class-wp-hook.php:316 [0x00007f21fa61d4c0] do_action() /opt/wordpress/wp-includes/plugin.php:484 [0x00007f21fa61d3e0] do_action() /opt/wordpress/wp-settings.php:423 [0x00007f21fa61d230] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-config.php:105 [0x00007f21fa61d1b0] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-load.php:37 [0x00007f21fa61d110] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-blog-header.php:13 [0x00007f21fa61d080] [INCLUDE_OR_EVAL]() /opt/wordpress/index.php:17
[26-Mar-2021 08:32:47] [pool wordpress] pid 28259 script_filename = /opt/wordpress/index.php [0x00007f21fa61dcb0] curl_exec() /opt/wordpress/wp-includes/Requests/Transport/cURL.php:162 [0x00007f21fa61dbf0] request() /opt/wordpress/wp-includes/class-requests.php:381 [0x00007f21fa61daf0] request() /opt/wordpress/wp-includes/class-http.php:394 [0x00007f21fa61d960] request() /opt/wordpress/wp-includes/class-http.php:608 [0x00007f21fa61d8c0] post() /opt/wordpress/wp-includes/http.php:179 [0x00007f21fa61d830] wp_remote_post() /opt/wordpress/wp-includes/cron.php:924 [0x00007f21fa61d740] spawn_cron() /opt/wordpress/wp-includes/cron.php:996 [0x00007f21fa61d610] _wp_cron() /opt/wordpress/wp-includes/class-wp-hook.php:292 [0x00007f21fa61d530] apply_filters() /opt/wordpress/wp-includes/class-wp-hook.php:316 [0x00007f21fa61d4c0] do_action() /opt/wordpress/wp-includes/plugin.php:484 [0x00007f21fa61d3e0] do_action() /opt/wordpress/wp-settings.php:582 [0x00007f21fa61d230] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-config.php:105 [0x00007f21fa61d1b0] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-load.php:37 [0x00007f21fa61d110] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-blog-header.php:13 [0x00007f21fa61d080] [INCLUDE_OR_EVAL]() /opt/wordpress/index.php:17
The first entry also occurs most of the time when the video plays normally but the second one (ending in the cURL-call) only shows when the video fails to load.
Any idea how I could further track this down? Apparently, my video hoster (DigitalOcean) is slow to respond here?
thanks again,
Jörn
P.S. will also install Log HTTP Requests as you suggested to check for slow parallel calls.
In the HTTP Request Log, I am seeing a cURL call for the index.m3u8 file of the video failing after 5 seconds timeout.
{
“errors”: {
“http_request_failed”: [
“cURL error 28: Resolving timed out after 5007 milliseconds”
]
},
“error_data”: []
}So probably this is not your fault after all. Any idea though, why this may be happening? When I am downloading the file from my PC, I am getting response times in the few tens of milliseconds all the time…
Hello Jörn,
the first entry occurs as the encryption key request is waiting for the authentication request to arrive.
The second entry is not related to FV Player Pro as it doesn’t have fv-player-pro in it. It’s just a cron.
Could you please see if you find that failed curl in the slow log too? If it failed to execute in 5 seconds it should really be in the slow log too – giving us the trace where it was called.
Thanks,
MartinHere’s the request in the slow log that corresponds to the failed cURL:
[26-Mar-2021 08:54:16] [pool wordpress] pid 28529 script_filename = /opt/wordpress/wp-admin/admin-ajax.php [0x00007f21fa61db60] curl_exec() /opt/wordpress/wp-includes/Requests/Transport/cURL.php:162 [0x00007f21fa61daa0] request() /opt/wordpress/wp-includes/class-requests.php:381 [0x00007f21fa61d9a0] request() /opt/wordpress/wp-includes/class-http.php:394 [0x00007f21fa61d810] request() /opt/wordpress/wp-includes/class-http.php:626 [0x00007f21fa61d770] get() /opt/wordpress/wp-includes/http.php:162 [0x00007f21fa61d6e0] wp_remote_get() /opt/wordpress/wp-content/plugins/fv-player-pro/hls.class.php:139 [0x00007f21fa61d5e0] ajax__store_hls_access_tokens() /opt/wordpress/wp-includes/class-wp-hook.php:292 [0x00007f21fa61d500] apply_filters() /opt/wordpress/wp-includes/class-wp-hook.php:316 [0x00007f21fa61d490] do_action() /opt/wordpress/wp-includes/plugin.php:484 [0x00007f21fa61d3b0] do_action() /opt/wordpress/wp-settings.php:423 [0x00007f21fa61d200] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-config.php:105 [0x00007f21fa61d180] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-load.php:37 [0x00007f21fa61d0e0] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-admin/admin-ajax.php:22
This entry has the same time stamp and is also coming from fv-player:
[26-Mar-2021 08:54:16] [pool wordpress] pid 28534 script_filename = /opt/wordpress/index.php [0x00007f21fa61d840] usleep() /opt/wordpress/wp-content/plugins/fv-player-pro/hls.class.php:382 [0x00007f21fa61d610] secure_hls_key_send() /opt/wordpress/wp-includes/class-wp-hook.php:292 [0x00007f21fa61d530] apply_filters() /opt/wordpress/wp-includes/class-wp-hook.php:316 [0x00007f21fa61d4c0] do_action() /opt/wordpress/wp-includes/plugin.php:484 [0x00007f21fa61d3e0] do_action() /opt/wordpress/wp-settings.php:423 [0x00007f21fa61d230] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-config.php:105 [0x00007f21fa61d1b0] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-load.php:37 [0x00007f21fa61d110] [INCLUDE_OR_EVAL]() /opt/wordpress/wp-blog-header.php:13 [0x00007f21fa61d080] [INCLUDE_OR_EVAL]() /opt/wordpress/index.php:17
Hello Jörn,
please get a fresh ZIP file of FV Player Pro from https://foliovision.com/my-licenses and reinstall FV Player Pro from that. Then switch to Beta accoring to instructions here: https://foliovision.com/player/basic-setup/switching-fv-player-pro-to-beta
That way the HLS stream check will be cached internally in the plugin. It will improve the reliability for you.
Thanks,
MartinHello Jörn,
new FV Player Pro 7.4.46.727 Beta makes the encrypted HLS faster and more secure when used with separate audio tracks.
In the end we were able to just stop checking the HLS stream properties before playback, so any bad routing conditions between your server and DigitalOcean Spaces/Bunny.net won’t matter anymore.
Thanks,
Martin