[RESOLU] Redimensionner vidéo

Petit nouveau ! | 9 Messages

09 févr. 2015, 16:38

Bonjour à tous,

Je développe actuellement un petit site perso où j'upload photo et vidéo de ma fille pour que ma famille puisse suivre son évolution.
Pour m'amuser, celui ci est géré via une BDD.
Pour la partie photo, je passe par un formulaire sur une page admin, afin que ma compagne, qui ne possède pas de connaissance technique n'ait pas besoin d'envoyer de fichier sur le FTP et d'enregistrer une nouvelle entrée dans phpMyAdmin...

Je viens vous demander conseil concernant la partie vidéo.
Je souhaiterais pouvoir uploader une vidéo (prise avec mon téléphone portable ou autre) via le même type de formulaire.

Le soucis, est que la vidéo uploader est très lourde. Plusieurs dizaine de méga pour des vidéos de quelques secondes...

Je souhaiterais donc savoir s'il existe un moyen que cette vidéo soit plus légère (tout en gardant une taille minimal de 350x250px).

Je n'ai pas trouvé de solution, donc voici quelques pistes :
Uploader la vidéo et la convertir à la volé dans une format plus petit
Uploader la vidéo normalement (et la stocké sur le serveur tel quelle) mais réduire la taille de celle ci côté serveur pour un affichage côté client plus petit
Passer par un autre langage (Javascript / Jquery...) Je n'y connais pas grand chose de ce côté là...

Je ne sais pas si je suis très clair, mais je suis à votre disposition si vous souhaitez plus d'explication.

Merci d'avance !
:)

Mammouth du PHP | 688 Messages

09 févr. 2015, 16:42

pour réduire le temps d'upload, il faut mieux compresser la vidéo avant de l'envoyer. je ne vois qu'un logiciel qui puisse le faire, et non un navigateur (mais je ne suis pas spécialiste).

Mammouth du PHP | 737 Messages

09 févr. 2015, 17:59

Slt,

Conversion en flv ou avi (avec un codec spécial)
Héberger les vidéos en masse et sauvegarder que le lien.
...

Mega
;)
Dyslexics are teople poo

Petit nouveau ! | 9 Messages

09 févr. 2015, 18:45

Merci pour vos réponses !

Par contre, ça réponds pas à ma demande :)

Le soucis n'est pas de réduire le temps d'upload, ça c'est pas grave...

Ce qui est chiant, c'est le temps de chargement pour les autres utilisateurs...

Merci du coup, de m'obliger à reformuler ma demande :) ça serait plus utile si j'explique bien !

Comment faire en sorte que pour les utilisateurs, les vidéos ne soient pas trop longue à charger...

Petit nouveau ! | 9 Messages

09 févr. 2015, 19:20

(Je suis l'auteur du post et de la réponse ci dessus, j'ai du faire une fausse manipulation (mal loggué ?) car ceux ci sont indiqué comme étant écrit par "invité" alors que j'en suis l'auteur.)

(Avec toutes mes excuses...)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

09 févr. 2015, 23:12

Pas de problème, je t'ai réattribué tes messages ;-)

Pour la vidéo, le plus simple c'est de poster ces vidéos sur YouTube ou Dailymotion (en "non-listée" afin qu'elles ne soient pas indexées sur YouTube) ensuite tu as juste à copier-coller le code d'embed dans ta page et c'est fait.

Si tu veux héberger toi-même ta vidéo, mon conseil c'est de l'encoder en MP4 en faisant attention à bien choisir l'option d'optimisation pour le streaming, aussi appelée qt-faststart ou pour la dénomination technique : "MOOV ATOM".

Un bon encodeur vidéo opensource (et fait par des français, cocorico ! ) : https://handbrake.fr

Après pour l'affichage et le simili streaming, voici un code PHP qui fonctionne bien, couplé à JWplayer pour l'affichage HTML5 :
http://www.tuxxin.com/php-mp4-streaming/
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 737 Messages

10 févr. 2015, 09:51

+1 avec @rthur.

Après si tu as un peu de budget => vimeo (sans pub !!!!)

Mega
;)
Dyslexics are teople poo

Petit nouveau ! | 9 Messages

10 févr. 2015, 11:26

Bonjour à tous,

Concernant les plates formes de streaming, je souhaitais réellement ne pas en utiliser. Je souhaites vraiment limiter le nombre de manipulation...
A terme, je souhaite filer mes fichiers à des amis et je ne veux pas être derrière eux chaque fois qu'ils veulent envoyé une vidéo à leurs expliquer comment mettre leurs vidéos sur YouTube (&co) puis mettre le liens et tout et tout :)
Pareil pour la façon d'utiliser tel logiciel pour encoder de tel façon... Pour des néophytes, c'est vite compliqué :)

Donc oui, et avec toutes mes excuses, ma demande évolue :
Comment faire en sorte d'uploader, via un simple formulaire, une vidéo (quelque soit sa taille, son poids...) et que cette vidéo soit regardable facilement pour des gens avec une connexion peu rapide (donc que cette vidéo soit automatiquement réduite).

Concernant l'encodage, je te remercie @rthur, je ne connaissais pas cette fonctionnalité ! (Egalement grand merci pour le logiciel ^^)

Je vais m'intéresser à ton dernier lien !

Encore merci !
(Et merci Megadeth pour son idée :) )

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 févr. 2015, 13:23

Comment faire en sorte d'uploader, via un simple formulaire, une vidéo (quelque soit sa taille, son poids...) et que cette vidéo soit regardable facilement pour des gens avec une connexion peu rapide (donc que cette vidéo soit automatiquement réduite).
Ça veut dire que c'est à toi de rencoder la vidéo, côté serveur une fois qu'elle a été uploadée.

Tu peux utiliser FFMPEG en ligne de commande pour faire cela.
Il te faudra un serveur dédié avec pas mal de puissance pour faire les encodages vidéos.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 103 Messages

10 févr. 2015, 13:46


Petit nouveau ! | 9 Messages

10 févr. 2015, 17:07

Racacax, ton lien est mort :) (enfin en tout cas, le nom de domaine est en vente)

@rthur, je pense que tu as bien compris ma demande et ta réponse est clair et efficace !

Malheureusement, mettre en place un serveur dédié pour mes besoins est haut dessus de mes moyens.

S'il n'existe pas d'autre moyen, nous pouvons conclure ce sujet avec ceci :
Tu peux utiliser FFMPEG en ligne de commande pour faire cela.
Il te faudra un serveur dédié avec pas mal de puissance pour faire les encodages vidéos.
Si à tout hasard, quelqu'un a une autre idée (grâce à un autre langage de programmation... ou une autre méthode) je suis bien sûr preneur !

Encore merci de vos réponses ! :)

Eléphant du PHP | 103 Messages

10 févr. 2015, 17:35


Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 févr. 2015, 17:45

Si tu ne peux pas ré-encoder tes vidéos, la seule solution simple que je vois est de mettre en place le script de pseudo streaming en PHP avec un player HTML5 comme indiqué là : http://www.tuxxin.com/php-mp4-streaming/


Après une question à se poser c'est comment vont être capturées les vidéos qui doivent être mises sur ton site.
Si c'est depuis un téléphone portable, il est beaucoup plus simple pour un néophyte de cliquer sur le bouton Partager > YouTube qui va effectuer directement l'upload, plutôt que de devoir connecter un cable à son PC, rapatrier la vidéo sur son ordi, puis l'uploader sur un site web.

Si tu ne veux pas utiliser Google, tu peux proposer d'utiliser dropbox. C'est la même manip Partager la vidéo > Dropbox, on choisit dans quel répertoire et hop, ça upload en tache de fond directement depuis le tel.
Soit ce sont toujours les mêmes utilisateurs qui postent des vidéos et donc ils font un répertoire partagé avec toi qui te permet directement d'avoir tous les contenus. Soit il partage avec toi chaque fichier et tu as juste à le mettre dans une balise HTML5 <video>
<video width="640" height="480" controls="controls">
<source src="https://www.dropbox.com/s/d6gsd1fse8/nom_video.mp4" type="video/mp4" />
</video>
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 9 Messages

10 févr. 2015, 18:46

J'ai un peu essayé le script de pseudo streaming rapidement, et j'avoue ne pas voir la différence avec une fonction vidéo de base en HTML :)

Concernant l'utilisation, je voyais un plan machiavélique beaucoup plus large que moi et mes potes...

Imaginons que toutes les familles de France trouvent mon idée d'un site où l'on peut partager ses photos et vidéos facilement et de façon privée directement sur mon (super) site.
Je trouve contraignant de dire à tous ces gens merveilleux qu'il faut qu'ils ouvrent un compte sur Youtube/Dropbox/Daily &co.
Pour ensuite filmer les exploits de leurs rejetons tout mignon et de les uploader sur ces plateformes (en faisant bien attention à les mettre en non indexé)
Pour enfin, entrer ces informations dans un formulaire qui enregistrera tout ça en base de donnée...

Pour moi, l'idée est que Madame Michu vienne sur mon site, se connecte sur son compte, entre dans sa partie admin puis, via un (super beau) formulaire, elle indique un titre, un commentaire et envois son fichier...
Bim, Papi Michu, se connecte au même site et voit la vidéo (qui se charge pas trop lentement).

Madame Michu pourra en mettre plein des vidéos, vu que c'est facile ! Wahou ! Bravo lesupersitedefeez.com !

Bon, je me suis peut être enflammé... Mais dans l'idée c'est ça. Je souhaitais que ce soit aussi simple que d'envoyer un doc ou une image sur un site quoi... (et surtout que ça soit redimensionner :p)


J'ai une autre idée... Mais c'est un peu n'imp et je ne connais pas la faisabilité de l'idée :
Imaginons :
Madame Michu upload sa vidéo en full HD de la mort.
Je la préviens que sa vidéo sera disponible d'ici quelques heures. (Histoire que j'ai le temps de faire le traitement ci dessous)
Moi je propose le lien de sa vidéo (qui est sur mon FTP) à un site comme celui proposé par Racacax (merci à toi).
Celui ci convertis ma vidéo et je l'upload au bon endroit à mon tour.
Madame Michu reçois un message indiquant que c'est ok, et Papi Michu peut aller voir à son tour.

ça, c'est jouable, mais ce qui m'amuse, c'est l'automatisation. Pis si 1500 personnes décident d'envoyer une vidéos en même temps, ça va être chaud !

Voici mes questions :
Est ce possible de creer une page qui s'actualise toutes les X mins...
Est ce possible d'envoyer à des site comme celui proposé par Racacax une URL contenant toutes les informations (genre URL avec éléments fournis en GET) ?
Est ce possible que le nouveau fichier soit téléchargé depuis ce site et mis directement sur mon FTP ?

En écrivant ces quelques lignes, je pense que les réponses ne vont pas aller vers mon objectif... Mais au moins, j'ouvre la question :)

Pardonnez moi pour ces très nombreuses lignes de lecture... Pour me faire pardonner, voici une blague :
C'est un type qui rentre dans un café, et plouf !
Voilà.

Mammouth du PHP | 688 Messages

10 févr. 2015, 19:10

quelle est la différence entre ouvrir un compte sur youtube and co et sur ton site ?

as-tu une idée du temps mis pour uploader une grosse vidéo sur une connexion adsl bas de gamme ? des heures, donc il ne faut pas que madame michu arrete avant, ou que l'upload plante au 4/5.