Rendre lisible des vidéos FLV dans un blog wordpress

Résolu/Fermé
Fred - 20 juil. 2022 à 21:03
 Fred - 21 juil. 2022 à 15:00

Bonjour,

Comment faire pour rendre lisible des vidéos FLV dans un blog wordpress ?

J'ai un souci avec un blog contenant de nombreuses vidéos en flv, qui ne sont plus lisibles par wordpress.
Je vois 3 solutions possibles pour résoudre mon problème :
- rechercher un plugin qui accepte la lecture de FLV (à priori on n'en trouve plus à jour...)
- trouver un plugin qui convertisse automatiquement les FLV en MP4 (le top mais je n'en trouve pas)
- rechercher un script à lancer en ligne de commande sur le serveur qui convertisse en lot les fichiers flv en mp4.

Des outils ou scripts à proposer ?
Merci
Fred


Windows / Firefox 102.0

A voir également:

5 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
Modifié le 20 juil. 2022 à 22:03

Bonjour,

FLV est un format propriétaire associé à la technologie Flash désuète depuis des années. Je t'invite à te diriger vers des formats alternatifs et ouverts.

Voir ici : https://support.mozilla.org/en-US/kb/html5-audio-and-video-firefox#w_open-media

> qui ne sont plus lisibles par wordpress

WordPress ne lit pas les vidéos, il transmet un code HTML au navigateur et c'est le navigateur qui charge/lit la vidéo. Les navigateurs ne prenant plus en charge Flash, ils n'acceptent plus les lecteurs vidéos en Flash qui étaient utilisés afin de lire les vidéos en FLV.

> rechercher un plugin qui accepte la lecture de FLV (à priori on n'en trouve plus à jour...)

Aucun plugin WordPress ne pourra rétablir la lecture d'un FLV dans le navigateur, Flash n'étant plus disponible.

> trouver un plugin qui convertisse automatiquement les FLV en MP4 (le top mais je n'en trouve pas)

En effet, il est nécessaire de convertir les vidéos dans un format pris en charge nativement par les navigateurs. Mais pourquoi vouloir le faire via un plugin, exécuté sur un serveur inadapté, plutôt que de faire le transcodage sur ton propre ordinateur, qui possède peut-être un GPU dédié ?

Je te recommande cet excellent outil : https://handbrake.fr/

> rechercher un script à lancer en ligne de commande sur le serveur qui convertisse en lot les fichiers flv en mp4

L'outil le plus commun est ffmpeg.

Le serveur ne possédant probablement pas de GPU dédié, le transcodage se fera sur le CPU. À éviter. Surtout sur un serveur mutualisé.

0

Merci avion-f16 pour ces précisions ! C'est plus clair pour moi...

L'idée d'utiliser un plugin wordpress ou un script en ligne de commande sur mon serveur dédié est de pouvoir faire un traitement par lot et donc de ne pas avoir besoin d'aller chercher les fichiers flv un à un dans les différents dossiers annee/mois/jour de wordpress.

 

Maintenant, comme je suis sur un serveur dédié, je peux faire plus simple avec ffmpeg avec un script permettant une recherche récursive et conversion  (en espérant avoir les bons paramètres ffmepg pour ne pas perdre en qualité).
 

for i in `find . -name "*.flv" -print0| xargs -0`;
do  ffmpeg -i $i -vcodec copy -acodec copy  ${i%.flv}.mp4; done

Il me suffit après de mettre à jour mes articles en remplaçant les URL pointant vers les fichiers .flv en .mp4  (le plugin : Better Search Replace le fait très bien.

Merci

0

C'était trop beau pour fonctionner parfaitement ;(
Les fichiers avec espace posent problème dans mon script (pas dramatique, je n'en ai que très peu). Par contre, les vidéos FLV encodées en FLV1 ne sont pas converties par ffmpeg :

    Stream #0:0: Video: flv1, yuv420p, 352x288, 798 kb/s, 15 fps, 15 tbr, 1k tbn
    Stream #0:1: Audio: mp3, 22050 Hz, stereo, fltp, 65 kb/s
[mp4 @ 0x560e1111f700] Could not find tag for codec flv1 in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
Modifié le 21 juil. 2022 à 14:00

Bonjour,

Tu peux t'inspirer de cette discussion pour la gestion des espaces :
https://unix.stackexchange.com/questions/81349/how-do-i-use-find-when-the-filename-contains-spaces

Concernant la conversion ffmpeg, il semblerait que tu changes uniquement le conteneur mais pas l'encodage des flux audio / vidéo. Tu devrais utiliser

-acodec libvorbis -vcodec libtheora
0

Merci, je regarde pour les espaces.
L'encodage que tu proposes ne fonctionne pas mieux ;(

Stream mapping:
  Stream #0:0 -> #0:0 (flv1 (flv) -> theora (libtheora))
  Stream #0:1 -> #0:1 (mp3 (mp3float) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[mp4 @ 0x5592855bc8c0] Could not find tag for codec theora in stream #0, codec n                                                                                                             ot currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invali                                                                                                             d argument
Error initializing output stream 0:1 --

Fred

0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
21 juil. 2022 à 14:34

J'ai oublié de préciser, mais le conteneu doit être OGG et non MP4 afin d'utiliser theora/vorbis (les formats ouverts).

De plus, tu n'es pas obligé de préciser les codecs de sortie, ffmpeg les choisit automatiquement en fonction du conteneur de sortie.

Tu peux utiliser

ffmpeg -i input.flv output.mp4

ou

ffmpeg -i input.flv output.ogg
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

Extra mille mercis !
Sans préciser de codecs, tout fonctionne parfaitement pour les fichiers sans espaces :

for i in `find . -name "*.flv" -print0| xargs -0`;
do  ffmpeg -i $i -vcodec copy -acodec copy  ${i%.flv}.mp4; done

Je laisse tomber le cas des fichiers avec espace, j'ai plus vite fait de corriger à la main !

Bravo avion-f16 !

0