GNT sans publicité, site mobile, fonctionnalitées exclusives...

Durée d'une vidéo en Flash

Le
Rémi Moyen
Bonsoir,

C'est peut-être pas le meilleur endroit pour ma question, mais y'a
peut-être des gens qui savent ici

Je suis en train de me bricoler une petite appli pour surveiller des
téléchargements d'émissions télé (pour ceux qui veulent tout savoir,
c'est la BBC via get_iplayer), et j'aimerais pouvoir voir rapidement
quel est l'état d'avancement.

Depuis internet, je récupère des fichiers vidéo en Flash (.flv -- je
peux donner plus d'infos si nécessaire, mais je n'y connais rien en
vidéo donc je ne sais même pas qu'est-ce qui serait utile !), et je
récupère aussi la durée totale de l'émission. Mais ce que je voudrais,
c'est savoir à un instant donné, quelle durée j'ai déjà téléchargé. Si
j'ouvre le fichier, avec vlc par exemple, il indique la durée totale (et
s'arrête brusquement dans sa lecture quand il arrive à la vraie fin du
fichier). Je n'ai rien vu qui permette de trouver la durée réelle. Une
recherche rapide sur le web ne m'a rien donné.

Je peux bricoler un truc en fonction de la taille du fichier (je crois
que je peux récupérer la taille totale du fichier depuis internet), mais
à moins que le .flv ne soit encodé à bitrate constant (c'est peut-être
le cas, je n'en ai pas la moindre idée), ça ne sera pas exact. Notez
qu'à vrai dire, pour ce que je veux en faire (i.e. afficher un truc du
genre "x % done"), ça serait une approximation bien suffisante. Mais par
curiosité, envie de faire les choses bien, etc., j'aimerais bien trouver
une autre manière de faire. Je peux aussi parser la sortie de l'appli
qui télécharge pour trouver l'avancement (elle affiche ce pourcentage
sur la sortie standard), mais j'aime pas trop non plus.

Donc, est-ce que quelqu'un connaîtrait un outil (Linux, bien évidemment)
qui me permettrait facilement et rapidement de trouver la durée réelle
d'un fichier .flv partiellement téléchargé ?

Merci d'avance !
--
Rémi Moyen
Lire les 10 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
YBM
Le #22347841
Rémi Moyen a écrit :
Donc, est-ce que quelqu'un connaîtrait un outil (Linux, bien évidemment)
qui me permettrait facilement et rapidement de trouver la durée réelle
d'un fichier .flv partiellement téléchargé ?



mplayer -ao null -vo null -endpos 0 video.flv 2> /dev/null |
grep duration

donne la durée en secondes.
Nicolas George
Le #22348101
YBM wrote in message
mplayer -ao null -vo null -endpos 0 video.flv 2> /dev/null |
grep duration

donne la durée en secondes.



Sauf que si la durée est indiquée dans les entêtes, ce qui est le cas en
FLV, alors ce sera celle-là qui sera affichée, pas la durée réelle des
données disponibles.

Soit dit en passant, tu aurais pu vérifier avant de poster : ce n'est pas
bien difficile de récupérer un FLV n'importe où, de le tronquer au milieu et
de regarder ce que ça affiche.
YBM
Le #22348201
Nicolas George a écrit :
YBM wrote in message
mplayer -ao null -vo null -endpos 0 video.flv 2> /dev/null |
grep duration

donne la durée en secondes.



Sauf que si la durée est indiquée dans les entêtes, ce qui est le cas en
FLV, alors ce sera celle-là qui sera affichée, pas la durée réelle des
données disponibles.

Soit dit en passant, tu aurais pu vérifier avant de poster : ce n'est pas
bien difficile de récupérer un FLV n'importe où, de le tronquer au milieu et
de regarder ce que ça affiche.



Ahum, ta logique est bien curieuse...

Une chose est sûre : si un flv est tronqué où si son en-tête est fausse,
alors il n'y a AUCUN moyen de connaître sa longueur avant de l'avoir
reçu en entier...

Or Rémi demande s'il peut connaître la longueur (probable en
l'occurrence) AVANT la fin du téléchargement.

J'ai fourni une réponse, point.
Nicolas George
Le #22348241
YBM wrote in message
Ahum, ta logique est bien curieuse...



Non, c'est juste que tu as tout compris de travers.

Une chose est sûre : si un flv est tronqué où si son en-tête est fausse,
alors il n'y a AUCUN moyen de connaître sa longueur avant de l'avoir
reçu en entier...



Ben si, en consultant l'entête. Manifestement tu n'as pas du tout compris le
message de Remi.

Remi a un fichier FLV qui est en train d'être téléchargé, donc qui est,
provisoirement, tronqué.

Il est possible de connaître sa durée totale, celle qu'il aura quand il sera
terminée : il suffit de consulter l'entête du fichier. C'est ce que donne la
commande que tu as postée, mais Remi savait déjà l'obtenir.

Rémi voudrait la durée de la partie déjà téléchargée.
Lucas Levrel
Le #22348321
Le 11 juillet 2010, Rémi Moyen a écrit :

Donc, est-ce que quelqu'un connaîtrait un outil (Linux, bien évidemment)
qui me permettrait facilement et rapidement de trouver la durée réelle
d'un fichier .flv partiellement téléchargé ?



avidemux trouve la bonne taille quand on lui donne un fichier tronqué.
Quand je lance la version avec interface graphique j'ai sur la sortie
standard :
[Editor] Duration in seconds: 723, in samples: 31910738

Je te laisse chercher un moyen de scripter ça (avidemux existe avec une
CLI)...

--
LL
Publicité
Suivre les réponses
Poster une réponse
Anonyme