flusio/Flus

Récupérer la durée des vidéos

fnuttens opened this issue · 8 comments

À ma connaissance ce n'est pas fait actuellement, les vidéos issues de flux de chaînes YouTube sont affichées avec la durée suivante :

< 1 min

On pourrait se dire que ce n'est pas gênant, mais dans mon cas j'ajoute très souvent des vidéos dans mes signets pour les visionner plus tard. Lorsque je souhaite remplir mon journal avec 3 liens de -10 minutes depuis mes signets, je me retrouve fatalement avec toutes ces vidéos.

Oui, c’est un problème et malheureusement un qui n'est pas simple à résoudre. Récupérer la durée des vidéos va être compliqué sans un système complexe, ou sans passer par une API spécifique (mais j'aimerais rester sur des standards autant que faire se peut).

En alternative je pensais plutôt permettre de modifier la durée manuellement, ce qui me semble plus générique, avec le défaut d’être un peu moins pratique.

L'édition manuelle de la durée serait déjà bénéfique, c'est certain 🙂

Je pense qu'une méthode simple serait d'utiliser un outil comme youtube-dl qui fonctionne avec de nombreux services de vidéo (dont youtube). J'ai trouvé ici https://stackoverflow.com/questions/52946885/how-to-get-video-duration-by-youtube-dl-in-python la commande bien pratique:
youtube-dl --get-duration "https://www.youtube.com/watch?v=Sm_FgccC9dk"

Il semble d'ailleurs que des wrappers PHP existent pour youtube-dl

Oui je connais bien youtube-dl (et ytp-dl), je l’ai envisagé pendant un temps, mais ça demande à ce qu’il soit toujours à jour et ça alourdit beaucoup la maintenance de flusio de fait. De plus, la question se posera toujours pour certains sites qui ne seront pas supportés par youtube-dl (même s’il en gère beaucoup de base).

Je ne dis pas "jamais", mais en l’occurrence je préfère me concentrer sur une solution simple générique, bien qu’imparfaite.

J’ai commencé à réfléchir à la modification manuelle tout à l’heure, je pense savoir à peu près comment je vais m’y prendre. Mais il y a quand même des questions UX qui se posent !

À défaut de mieux, la modification du temps de lecture sera disponible dans la prochaine mise à jour :) cf. #520

Et c'est en production ! Je ferme ce ticket parce que je ne pense pas que flusio estimera un jour les temps de lecture des vidéos, mais je rouvrirai si ça redevient d’actualité ;)

Je retombe par hasard sur ce ticket dont j’avais oublié l’existence, mais pour information la durée des vidéos Youtube est désormais correctement récupérée depuis la dernière version de Flus ! (je me base sur la valeur de la balise <meta itemprop="duration"> pour cela)