erreur http à l'upload de vidéos

Le
voir_le_reply-to
Bonjour et excusez de déranger, peut-être allez-vous pouvoir me faire
gagner du temps par un soutien généreux !

Soient des pages web hébergées chez Ovh et créées avec le module
Wordpress dudit. Php 7.0, tout mis à jour (thème Divi de Elegant Theme,
sans Divi Builder mais c'est hors sujet), le problème est juste de
wordpress (4.9.1) et/ou du serveur.

Quand j'essaie d'uploader des vidéos : de manière *variable* (sans que
j'aie réussi à identifier la nature de la variation), parfois ça passe,
parfois la barre de progression se fige à la toute fin et je vois
s'afficher un message "erreur http".

Tous les fichiers faisaient moins de 128 MB, taille maximale autorisée,
mais ceux qui passent le mieux sont les plus petits, inférieurs à la
moitié de ce chiffre (la taille limite réelle serait-elle moindre ?).

ça ne semble pas "format-dépendant" : en gros c'étaient des MP4, mais un
.MOV vient de réussir (je sais, c'était sans doute un mp4 masqué !)

- la littérature en ligne est abondante sur ce sujet et plutôt ancienne
(jusqu'à dix ans), très variée et les solutions que j'ai testée (de
modification du fichier htaccess par ex.) n'ont rien donné.

- plusieurs auteurs laissant entendre que ce serait hébergeur-dépendant,
je me suis tourné vers Ovh, qui m'a conseillé de monter les vidéos "à la
mano" par ftp dans un dossier. L'upload se fait bien (pour les fichiers
qui avaient échoués) mais ils n'y a pas moyen de les afficher dans la
bibliothèque de médias de Wordpress (même en les collant d'autorité dans
wp-content/uploads/2017/12/ où ont atterri les fichiers qui ont réussi),
et je n'ai pas non plus la syntaxe pour pouvoir les intégrer avec le
lecteur du bouzin.

Voilà, si pour l'un de vous c'est évident et banal, qu'il n'hésite pas à
le partager, ma reconnaissance lui est acquise.

Et par avance, je coupe court à tout jugement de valeur : OUI, je ne
suis qu'un blaireau qui ne prétend à rien en matière de code, mais notez
que ça ne veut pas dire que ce que je fabrique avec mes modestes moyens
soit nécessairement sans intérêt. Peut-être au contraire qui sait ?

D'avance, merci,

--
Gérald
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre Maurette
Le #26456081
Gerald :
Bonjour et excusez de déranger, peut-être allez-vous pouvoir me faire
gagner du temps par un soutien généreux !
Soient des pages web hébergées chez Ovh et créées avec le module
Wordpress dudit. Php 7.0, tout mis à jour (thème Divi de Elegant Theme,
sans Divi Builder mais c'est hors sujet), le problème est juste de
wordpress (4.9.1) et/ou du serveur.
Quand j'essaie d'uploader des vidéos : de manière *variable* (sans que
j'aie réussi à identifier la nature de la variation), parfois ça passe,
parfois la barre de progression se fige à la toute fin et je vois
s'afficher un message "erreur http".
Tous les fichiers faisaient moins de 128 MB, taille maximale autorisée,
mais ceux qui passent le mieux sont les plus petits, inférieurs à la
moitié de ce chiffre (la taille limite réelle serait-elle moindre ?).
ça ne semble pas "format-dépendant" : en gros c'étaient des MP4, mais un
.MOV vient de réussir... (je sais, c'était sans doute un mp4 masqué !)
- la littérature en ligne est abondante sur ce sujet et plutôt ancienne
(jusqu'à dix ans), très variée et les solutions que j'ai testée (de
modification du fichier htaccess par ex.) n'ont rien donné.
- plusieurs auteurs laissant entendre que ce serait hébergeur-dépendant,
je me suis tourné vers Ovh, qui m'a conseillé de monter les vidéos "à la
mano" par ftp dans un dossier. L'upload se fait bien (pour les fichiers
qui avaient échoués) mais ils n'y a pas moyen de les afficher dans la
bibliothèque de médias de Wordpress (même en les collant d'autorité dans
wp-content/uploads/2017/12/ où ont atterri les fichiers qui ont réussi),
et je n'ai pas non plus la syntaxe pour pouvoir les intégrer avec le
lecteur du bouzin.
Voilà, si pour l'un de vous c'est évident et banal, qu'il n'hésite pas à
le partager, ma reconnaissance lui est acquise.

Ni banal ni évident, mais vécu et cradement résolu.
Je pense que votre souci est le même que celui que j'avais avec du code
basé sur JQuery File Upload (BlueImp) et un hébergement 1&1.
Vitesse d'upload limitée chez moi, le client (~500ko/s). L'upload
semble progresser à cette vitesse (barre de progression) et se fige "à
99%" pendant une durée à peu près équivalente à celle de la phase
précédente, en fait pas tout à fait linéaire, l'attente semble être
encore plus longue quand l'envoi fut gros. C'est comme pour vous là, au
bout d'un moment, que survient l'erreur, ou pas, la limite étant plus
un temps qu'un volume. L'équivalence des durées d'upload client et du
temps d'attente m'a fait partir vers de mauvaises pistes, je pense que
c'était un hasard. En tout cas le bouzin n'était pas transféré deux
fois à partir du client.
J'ai bossé, j'ai erré, j'ai tracé, j'ai consulté. L'explication: dans
une structure de serveur mutualisé, l'upload primaire est d'abord
stocké temporairement, puis ensuite routé vers le contrôleur du site.
C'est approximatif et simplifié, mais avéré en ce qui concerne les
serveurs Apache au moins. Cette indirection n'est pas connue du
dialogue client - contrôleur. On conçoit alors bien que à la fin du
tranfert primaire, le contrôleur reçoit une information "transfert
terminé" alors qu'il attend encore ses données. Il n'est pas étonnant
qu'à partir d'une certaine durée d'attente, il va déclencher un
time-out. Un détail: je pensais au départ qu'il pouvait bien exister un
transfert en deux temps, voire plus, mais il me semblait évident (à
tort) que le transfert secondaire se faisait à "vitesse mémoire", ou au
pire à "vitesse réseau local". Or ce que j'appelle "le serveur 1&1
(OVH)" est en réalité un réseau ou même du cloud. Donc le transfert
secondaire se fait à "vitesse internet". L'autre hypothèse est que la
mise en place d'un élément modérateur de vitesse sur l'upload soit
volontaire, avec peut-être une sur-pénalisation des très gros fichiers.
La solution: chunker. Si j'envoie 50Mo, le barre de progression va
progresser (!) pendant ~2mn. Puis tout va se figer pendant 2mn, ou
plus. En fait non, à 1mn (ou plus, ou moins), time-out.
Si j'envoie 100 fois 0,5Mo, je vais avoir 100 petits transferts chacun
suivi d'une petite attente, et tout va bien se passer. Dans mon cas, le
code du plugin est prévu pour chunker, la barre de progression va
progresser sur 4mn, avec une centaine d'arrêts à peine perceptibles.
J'ajoute:
- je pouvais chunker par 5 ou 10Mo, mais ça ne complique rien et
fonctionne plutôt mieux avec une valeur aussi faible que 0,5Mo.
- mon appli devait être utilisée par les visiteurs, même si le time-out
n'intervenait pas, je ne pouvais pas le laisser devant une barre de
progression figée, il risquait de se charger du time-out lui-même !,
c'est un principe de base.
Je ne pratique plus WordPress, je ne sais pas si vous utilisez un
plugin pour l'upload ou non. Quoi qu'il en soit, il vous faudrait
essayer de chunker vos transferts, soit dans les paramètres WP, soit
dans ceux du plugin, si pas possible utiliser un plugin qui le propose.

Et par avance, je coupe court à tout jugement de valeur : OUI, je ne
suis qu'un blaireau qui ne prétend à rien en matière de code, mais notez
que ça ne veut pas dire que ce que je fabrique avec mes modestes moyens
soit nécessairement sans intérêt. Peut-être au contraire qui sait ?
D'avance, merci,

--
Pierre Maurette
DV
Le #26456082
Gerald a écrit ceci :
Quand j'essaie d'uploader des vidéos : de manière *variable* (sans que
j'aie réussi à identifier la nature de la variation), parfois ça passe,
parfois la barre de progression se fige à la toute fin et je vois
s'afficher un message "erreur http".
Tous les fichiers faisaient moins de 128 MB, taille maximale autorisée,
mais ceux qui passent le mieux sont les plus petits, inférieurs à la
moitié de ce chiffre (la taille limite réelle serait-elle moindre ?).
[...]
- plusieurs auteurs laissant entendre que ce serait hébergeur-dépendant,

La limite est de 64 Mo chez moi, mais je ne me souviens plus si c'est la
valeur par défaut chez 1&1, ou bien le résultat d'une modification de ma
part (ce qui voudrait dire que la limite d'origine était encore plus basse).
je me suis tourné vers Ovh, qui m'a conseillé de monter les vidéos "à la
mano" par ftp dans un dossier.

OK. À partir de là, tu devrais pouvoir t'en sortir en utilisant une
extension de ce genre :
Il en existe d'autres, c'est juste celle que j'utilise personnellement
pour afficher du contenu extérieur à WordPress.
L'upload se fait bien (pour les fichiers
qui avaient échoués) mais ils n'y a pas moyen de les afficher dans la
bibliothèque de médias de Wordpress (même en les collant d'autorité dans
wp-content/uploads/2017/12/ où ont atterri les fichiers qui ont réussi),

Ça me semble logique. Tout le contenu de WordPress est référencé dans
une base de données. Quand on ajoute un média via l'interface de
WordPress, la base de données est automatiquement mise à jour. Dans le
cas de ton collage "d'autorité", la base de données reste inchangée et,
par conséquent, WordPress ignore l'existence du nouveau fichier.
--
Denis
voir_le_reply-to
Le #26456173
Pierre Maurette
Je ne pratique plus WordPress, je ne sais pas si vous utilisez un
plugin pour l'upload ou non. Quoi qu'il en soit, il vous faudrait
essayer de chunker vos transferts, soit dans les paramètres WP, soit
dans ceux du plugin, si pas possible utiliser un plugin qui le propose.

Merci infiniment pour le temps que vous avez bien voulu consacrer à ce
problème, j'espère que cela sera aussi utile à d'autres, en tout cas
j'archive précieusement.
Je vais toutefois tester la solution proposée par DV, mais je garde bien
en mémoire cette idée de "chunk" !
Encore merci
--
Gérald
voir_le_reply-to
Le #26456174
DV
OK. À partir de là, tu devrais pouvoir t'en sortir en utilisant une
extension de ce genre :

Conseil précieux : je vais tester et je reviendrai vous dire si ça a
marché !
Merci !
--
Gérald
voir_le_reply-to
Le #26456283
DV
OK. À partir de là, tu devrais pouvoir t'en sortir en utilisant une
extension de ce genre :

En fait cette extension est inutile : on peut parfaitement recopier la
syntaxe vidéo générée par Wordpress pour les inclusions des vidéos
apparaîssant dans la bibliothèque de médias en modifiant simplement les
URLs et la taille de la vidéo.
La raison pour laquelle ça ne marchait pas était simple : Cyberduck
fournit des urls non relatifs pour ses fichiers, là où mon hébergeur
(et/ou wordpress) requiert des urls relatifs ! Il suffit de virer le
bout home/user/www/ et tout rentre dans l'ordre.
Ceci dit, ton conseil a eu une utilité : attirer mon attention sur les
options iframe et embed et leur syntaxe. Même si la punition a été un
peu longue, tu l'as certainement raccourcie. Grand merci et à une
prochaine,
--
Gérald
voir_le_reply-to
Le #26456284
Pierre Maurette
Quoi qu'il en soit, il vous faudrait
essayer de chunker vos transferts, soit dans les paramètres WP, soit
dans ceux du plugin, si pas possible utiliser un plugin qui le propose

Retour après deux jours pleins de galères multiples et variées.
Finalement vous étiez probablement assez proche de la vérité sur
l'analyse du problème, mais pas sur la solution.
La solution consiste à créer un dossier d'upload perso dans le
wp-content, et de monter les vidéos par FTP. Ensuite il suffit
d'intégrer le code "video" "a la mano" en recopiant e qu'il fait et en
changeant les liens et éventuellement les dimensions de la vidéo.
Pas besoin de chunk, juste du FTP et du copier-coller !
Mais merci de votre aide, à nouveau ! Cordialement,
--
Gérald
Publicité
Poster une réponse
Anonyme