Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#151 Le 04/02/2012, à 12:40

titan77

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

alors c'est "ngrep" ,c'est un grep pour le Network.

la syntaxe .
pour rechercher un mot par exemple "user"
eth0 à remplacer par ton interface reseau

ngrep -d eth0 user

sinon j'ai fait comme ça pour le recuperer dans un fichier.

ngrep -d eth0 >> fichier

tu le lance juste avant de clicker sur le lien de la video,et tu récupère la requète que firefox fait.

control+C pour arreter dès que firefox a chargé la page.

Dernière modification par titan77 (Le 04/02/2012, à 12:41)

#152 Le 04/02/2012, à 16:28

yvou

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Super ! après quelques cafouillages, j'ai réussi à télécharger un deuxième épisode.

Merci encore pour tes lumières,
Yvou

Hors ligne

#153 Le 26/02/2012, à 20:38

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

EDIT1 27/02/2012 13h : Corrections pour Copie-Flash
EDIT1 27/02/2012 21h10 : Corrections pour Copie-Flash de nouveau

Bonjour à tous,

J'aurais mis le temps, mais voici les nouvelles versions des scripts de copie et de lecture (cf fin du message). Je les considère en béta, mais si vos tests confirment leur bon fonctionnement, je les passerais définitivement en 1.0. J'en profiterais alors pour mettre à jour le premier message.
Pour les améliorations, je me suis fortement inspiré des précédentes discutions et notamment du code de titan77.

Play-Flash :
- Restructuration du code, plus clair et compact (mais c'est sans doute encore améliorable ^^)
- Intégrations de 2 protections contre les processus fantômes (grep plus précis et test de tout les processus détectées)
- Ajout de Chromium en exception pour la détection du processus flash. À tester ! (Chrome est snobé volontairement ;-))

Copy-Flash :
- Restructuration du code, plus clair et compact (mais c'est sans doute encore améliorable ^^)
- Intégrations de 2 protections contre les processus fantômes (grep plus précis et test de tout les processus détectées)
- Ajout de Chromium en exception pour la détection du processus flash. À tester ! (Chrome est snobé volontairement ;-))
- Disparition de la liste de choix en cas de vidéos multiples. Maintenant, le script détecte le nombre de vidéos, attend leur mise en cache et les télécharge toute successivement. Cette feature aura mis du temps à venir !
- La suppression d'une vidéo avant la fin de mise en cache est détectée et ne bloque pas les copies des vidéos suivantes.

Encore merci à tout ceux qui ont permis ces améliorations ! Faites moi savoir si il manque des personnes dans la liste des contributeurs au code.

-----------------------------------------------------------------------------------
@titan77 :
À propos du script, il y a t'il une raison précise pour que toute les variables de ton script soit entre accolade (ex: ${NPROCESS} au lieu de simplement $NPROCESS ) ? Dans le doute, j'ai repris la même syntaxe.
Au niveau du code, je n'ai pas utilisé certain de tes tests (par ex si on ne trouve pas le nom de la vidéo) car il me semblait pas utile. Si la vidéo est trouvé, son nom est forcément présent. J'ai aussi fortement simplifié la boucle de test de taille. La tienne et ma précédente faisait des vérifications inutiles.

@ pipocas :

et qui bloque aussi downloadhelper donc bon...

Très juste. Dans ces cas là, il est intéressant d'étudier le code de la page et d'utiliser wget comme le fait titan77.

@ Matsjö :

Apres cela les script se plantaient completement, allant afficher meme dans vlc, Pb de droit.
Chose curieuse car la fenetre de bug de vlc affichait le numero du processus et ensuite l'heure puis Pb de droit.

La solution pour ceux qui sont dans le meme cas :

pour Play.Flash-0-8.sh ou 06, remplacer a la ligne 28 du script
FICHIER=$(cd /proc/$NPROCESS/fd && ls -la  | grep Flash | awk '{print $8}' && cd)
par
FICHIER=$(cd /proc/$NPROCESS/fd && ls -la  | grep Flash | awk '{print $9}' && cd)

Merci pour ce retour. Tu n'es pas le seul à avoir rencontré ce problème. C'est dût au format de la date qui change selon le système. Je parlerais de ce cas particulier dans le premier message.

@mydjey :

J'ai fait une page de doc sur le thème des vidéos flash à récupérer : http://doc.ubuntu-fr.org/telecharger_streaming
Je viens d'y ajouter le lien de cette discussion.

Merci beaucoup !

@ caneton :

play flash 8  marche pas avec RUTUBE ?

Pour moi, pas de souci avec la 1.0.

------------------------------------------------------------------------------------------------

- Play-Flash 1.0 beta :

#!/bin/bash
#########################################################################################################
# Description: Permet de regarder une video flash dans le lecteur plutôt que dans le navigateur.        #
# Dépendances: grep; zenity; awk; lecteur vidéo (vlc, etc.); navigateur internet (firefox, etc.)        #
# Contributions: lylambda; titan77;                                                                     #
# Version: Play-Flash 1.0-beta                                                                          #
# Licence: gpl                                                                                          #
# http://forum.ubuntu-fr.org/viewtopic.php?id=424080                                                    #
#########################################################################################################

# Nom du lecteur à utiliser.
## /!\ À remplacer si besoin.
PLAYER="vlc"

# Nom du navigateur à utiliser.
## /!\ À remplacer si besoin.
BROWSER="firefox"

# Numéro du processus flash si utilisation de firefox, iceweasel ou chromium.
if [[ ${BROWSER}=firefox || ${BROWSER}=iceweasel || ${BROWSER}=chromium-browser ]]; then
NPROCESS=$(ps aux | grep flashplayer.so | grep -v "grep" | awk '{print $2}')
# Commande générique.
##/!\ Testée avec midori, arora et uzbl-core. Erreur possible pour d'autres navigateurs.
else
NPROCESS=$(pgrep ${BROWSER})
fi

# Si on a au moins un processus on le parcours jusqu'à trouver une vidéo.
if [[ "${NPROCESS}" ]]; then
    for PROC in ${NPROCESS};
    do
        # Liste les fichiers vidéos
        VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/Flash" | awk '{print $8}')
        # Compte le nombre de fichiers vidéos.
        NBRE_VIDEO=$(echo ${VIDEO} | wc -w)
        ## si au moins une video on a trouvé le processus alors on poursuit.
    if [[ "${NBRE_VIDEO}" != "0" ]];then break; fi
    done
# Si on a pas de processus on quitte.
else notify-send -i error "Play-Flash" "\nErreur : aucun processus trouvé" 
exit 1
fi

# si on a pas de vidéo, on quitte.
if [ "${NBRE_VIDEO}" == "0" ]; then
    notify-send -i error "Play-Flash" "\nErreur : aucune vidéo trouvée"

# Si on a qu'une video, lancement de la lecture.
elif [ "${NBRE_VIDEO}" == "1" ]; then
    flashnom=$(stat -c '%N' /proc/${NPROCESS}/fd/${VIDEO} | awk '{print $3}'| cut -d"/" -f3)
    notify-send -i $PLAYER "Play-Flash" "\nLecture de la vidéo ${flashnom} dans ${PLAYER}" &
    ${PLAYER} /proc/${NPROCESS}/fd/${VIDEO} &
# Si plusieurs videos, on ouvre une liste pour en choisir une.
else
to_print=""
    for VID in ${VIDEO}; do
    date=$(stat -Lc '%y' /proc/${NPROCESS}/fd/${VID} | awk -F \. '{print $1}');
    nom=$(stat -c '%N' /proc/${NPROCESS}/fd/${VID} | awk '{print $3}'| cut -d"/" -f3);
    to_print="${to_print} \"\" \"${VID}\" \"${nom}\" \"${date}\""; 
    done;
    # Choix de la vidéo à visionner si plusieurs en parallèle
    CHOIX_VIDEO=$(echo ${to_print} | xargs zenity --title='Choix de la vidéo :' --list --text="" --column="  " --column="N°" --column="Nom" --column="Date" --radiolist --width=500 --height=300  --separator=' ')
        # Si bouton "annuler" ou aucune video choisie, on quitte.
        if [ -z "${CHOIX_VIDEO}" ]; then
            exit 0;
        fi
    # Lecture de la vidéo choisie.
    flashnom=$(stat -c '%N' /proc/${NPROCESS}/fd/${CHOIX_VIDEO} | awk '{print $3}'| cut -d"/" -f3)
    notify-send -i ${PLAYER}  "Play-Flash" "\nLecture de la vidéo ${flashnom} dans ${PLAYER}" &
    ${PLAYER} /proc/${NPROCESS}/fd/${CHOIX_VIDEO} &
fi
exit 0

- Copy-Flash 1.0 beta :

#!/bin/bash
#########################################################################################################
# Description: Permet de sauvegarder les videos flash en cours dans le navigateur.                      #
# Dépendances: grep; zenity; awk; navigateur internet (firefox, etc.)                                   #
# Contributions: lylambda; titan77;                                                                     #
# Version: Copy-Flash 1.0-beta                                                                          #
# Licence: gpl                                                                                          #
# http://forum.ubuntu-fr.org/viewtopic.php?id=424080                                                    #
#########################################################################################################

# Dossier de copie.
## /!\ À remplacer si besoin.
COPY_FOLDER="${HOME}/Bureau"

# Nom du navigateur à utiliser.
## /!\ À remplacer si besoin.
BROWSER="firefox"

# Utiliser /tmp comme dossier de copie alternatif si celui indiqué n'existe pas.
if  [[ -d ${COPY_FOLDER} ]]; then 
    echo "directory ... ok" > /dev/null
else
    notify-send -i error "Copy-Flash" "\nErreur : ${COPY_FOLDER} introuvable\nCopie dans /tmp"
    COPY_FOLDER=/tmp
fi

# Numéro du processus flash si utilisation de firefox, iceweasel ou chromium.
if [[ ${BROWSER}=firefox || ${BROWSER}=iceweasel || ${BROWSER}=chromium-browser ]]; then
    NPROCESS=$(ps aux | grep flashplayer.so | grep -v "grep" | awk '{print $2}')
# Commande générique pour les autres navigateurs.
##/!\ Testée avec midori, arora et uzbl-core. Erreur possible pour d'autres navigateurs.
else
NPROCESS=$(pgrep ${BROWSER})
fi

# Si on a au moins un processus on le parcours jusqu'à trouver une vidéo.
if [[ "${NPROCESS}" ]]; then
    for PROC in ${NPROCESS}; do
        # Liste les fichiers vidéos
        VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/Flash" | awk '{print $8}')
        # Compte le nombre de fichiers vidéos.
        NBRE_VIDEO=$(echo ${VIDEO} | wc -w)
        ## si au moins une video on a trouvé le processus alors on poursuit.
        if [[ "${NBRE_VIDEO}" != "0" ]];then break; fi
    done
# Si on a pas de processus on quitte.
else notify-send -i error "Copy-Flash" "\nErreur : aucun processus trouvé" 
    exit 1
fi

# Si on a pas de vidéo on quitte.
if [ "${NBRE_VIDEO}" == "0" ]; then
    notify-send -i error "Copy-Flash" "\nErreur : aucune vidéo trouvée"

# Pour chaque vidéo trouvée :
else
notify-send -i clock "Copy-Flash" "\n${NBRE_VIDEO} vidéo(s) détectée(s)"
for VID in ${VIDEO}; do
    # Définir le nom de la vidéo.
    renommer=$(stat -c '%N' "/proc/${PROC}/fd/${VID}" | awk '{print $3}'| cut -d"/" -f3)
    # Message d'attente.
    notify-send -i clock "Copy-Flash" "\nMise en cache de la vidéo ${renommer}"

    # Boucle d'attente de mise en cache.
    while true
    do
    #test de la taille (attente 3 secondes mini).
    taille_1=$(stat -Lc '%s' "/proc/${PROC}/fd/${VID}")
    sleep 3
    taille_2=$(stat -Lc '%s' "/proc/${PROC}/fd/${VID}")
        # si on ne peut plus tester la taille alors on ferme car plus de vidéo
    if [[ ! "$taille_1" ]] || [[ ! "$taille_2" ]];then
            notify-send -i error "Copy-Flash" "\nErreur :\nvidéo ${renommer} perdue"       
            break
    fi
    # si la taille 1 et 2 sont identique, on télécharge la vidéo qui est complète
        if test "${taille_1}" -eq "${taille_2}";then
        # Définir la taille en Mo de la vidéo.
        taille_mo=$((${taille_2}/10**6))
        # Copie de la vidéo et renommage à la volée.
        notify-send -i folder-download "Copy-Flash" "\nCopie de la vidéo ${renommer} (${taille_mo} Mo) dans ${COPY_FOLDER}" &
        cp /proc/${NPROCESS}/fd/${VID} ${COPY_FOLDER}/${renommer}
        break
        fi
    done

done
fi
exit 0

Dernière modification par lylambda (Le 27/02/2012, à 22:11)

Hors ligne

#154 Le 26/02/2012, à 22:12

titan77

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

lylambda a écrit :

@titan77 :
À propos du script, il y a t'il une raison précise pour que toute les variables de ton script soit entre accolade (ex: ${NPROCESS} au lieu de simplement $NPROCESS ) ? Dans le doute, j'ai repris la même syntaxe.
Au niveau du code, je n'ai pas utilisé certain de tes tests (par ex si on ne trouve pas le nom de la vidéo) car il me semblait pas utile. Si la vidéo est trouvé, son nom est forcément présent. J'ai aussi fortement simplifié la boucle de test de taille. La tienne et ma précédente faisait des vérifications inutiles.

salut,

pour les accolades,j'ai simplement lu que c'était la syntaxe conforme en quelques sortes,et donc je prend l'habitude de celle ci,et il parait que dans certains cas la syntaxe sans accolade peut provoquer des erreurs.

pour le test du nom de la vidéo,je l'ai mis car si je lance le script en ouvrant un terminal la vidéo est copié avec son nom d'origine alors qu'elle est bien renommé en ne lançant pas dans le terminal,idem pour la taille de la video dans l'infobulle je l'ai bien en MO alors que lancé dans le terminal je l'ai en octet,c'est pour ça que j'avais utilisé "let".je ne sais pas ce que ça change de lancer dans un terminal,mais il y a des variable qui passent mal.


EDIT
sinon je vois une belle amélioration à faire.
la boucle attend que la 1ere vidéo soit téléchargé pour passer au suivante alors qu'elle sont peut être déjà fini.donc on pourrait mettre tout ce qui est dans la boucle "for vid in VIDEO" dans une fonction et appeler la fonction comme ceci, "COPIE(nom de la video) &"  comme ça la boucle lance toute les vidéos a copier à la suite donc si le derniere de la boucle est prete elle sera copié toute de suite.
par contre pour les parentheses autour de la variable de la fonction j'ai un doute,je  crois que je me mélange avec un autre language.

Dernière modification par titan77 (Le 26/02/2012, à 22:28)

#155 Le 26/02/2012, à 22:29

pipocas

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Merci je teste ça!

Hors ligne

#156 Le 27/02/2012, à 03:59

pipocas

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Play-flash marche impec chez moi, rien à dire.

Merci à tout le monde et plus particulièrement à lylambda. wink

Hors ligne

#157 Le 27/02/2012, à 10:27

titan77

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

salut,
j'ai voulu essayer le script et pas moyen d'avoir une video en flash.du coup j'ai adapté pour le html5 et j'ai u le bug du renommage de nom.
j'ai fait une video pour te montrer. http://www.youtube.com/watch?v=8e7yyeGXjbs

alors j'ai trouvé d'ou vient le bug,c'est le "&" qu'il y a apres la commande "mv".si je l'enleve sa rennome bien.
sinon tu pourrai copier la video directement rennomée plutot que de la déplacer pour changer le nom .

il y a la notification de mise en cache qui est en dehors de la boucle de test, du coup elle apparait avant de savoir si la vidéo est fini de télécharger et on ne la revoie plus après.(enfin j'ai pas pu tester parce que j'ai tellement rechargé la page pour les test que j'ai u d'un coup la video repassée en format flash,j'ai pas compris sur ce coup la,du coup j'ai laissé tomber car il fallait que je readapte en flash et plus moyen d'avoir une vidéo,ils ont du changé quelque chose encore).
j'avais mis une attente de 7 secondes après le test de la taille,elle n'y est plus et donc la boucle test la taille1,attent 3 secondes et test la taille 2 puis retest la taille 1 aussitot (à moins que j'ai pas compris le principe).
ha et la taille en mo n'aparait pas dans l'infobulle,pourtant il y a la convertion.
et le test du repertoire j'avais pas fait attention mais il test si le Bureau existe,et comme il doit exister systematiquement le dossier Bureau,le test est toujours vrai,donc inutile,sauf si on adapte le dossier de destination bien sur.

#158 Le 27/02/2012, à 13:43

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

@ pipocas : merci pour tes tests ! Tu utilisais quel navigateur ? Firefox ou Chromium ?

@ titan77 :
Accolades-->Merci pour les explications :-)

La fonction --> J'avais d'abord commencé par faire un script qui copiait toutes les vidéos sans vérifier leur mise en cache (donc une copie multiple quasi instantanée). Mais cela obligeait à surveiller le téléchargement dans le lecteur flash, ce qui n'est pas pratique.
J'ai donc intégré les tests de taille dans la boucle. Le défaut est que chaque vidéo, comme tu l'as remarqué, est traitée successivement.
Si on fait une fonction, elles seront traitées en même temps ? C'est une bonne idée, je n'ai plus qu'à regarder la syntaxe ^^ ! Par contre, il faudra sortir les notifications de la boucle pour qu'elles ne se lancent pas simultanément.

Lancer dans le terminal --> J'ai des problèmes comme toi. Mais comme le script est fait pour être lancer via un dock ou directement du navigateur, j'avais pris le parti de zapper le bug ;-). Merci de l'avoir repéré, le "&" en trop sera cruellement supprimé !

Renommer directement --> Comment tu ferais cela ? On ne peut pas renommer la vidéo dans le processus flash au risque de se heurter à des question de droit ou de conflit avec le lecteur flash. Il y a une alternative à mv dans le même répertoire ?

taille mo --> C'est un oublis de ma part. Je le remet dans la notification.
Avec tout ça, j'en arrive à ce code :

    # si la taille 1 et 2 sont identique, on télécharge la vidéo qui est complète
        if test "${taille_1}" -eq "${taille_2}";then
        # Définir la taille en Mo de la vidéo.
        taille_mo=$((${taille_2}/10**6))
        # Copie de la vidéo et renommage à la volée.
        notify-send -i folder-download "Copy-Flash" "\nCopie de la vidéo ${renommer} (${taille_mo} Mo) dans ${COPY_FOLDER}" &
        cp /proc/${NPROCESS}/fd/${VID} ${COPY_FOLDER}; mv ${COPY_FOLDER}/${VID} ${COPY_FOLDER}/${renommer}
        break
        fi

Perte de la vidéo --> Cela m'arrive aussi sur youtube quand je fait des refresh à la suite. Mais en condition normal, cela ne m'arrive pas.

Description de la boucle de test et de copie--> Je l'ai conçu ainsi (basée sur la tienne) :
Notification du nombre de vidéo détecté
Boucle A, pour chaque vidéo :
1a : nom de la vidéo en variable
2a : notification de mise en cache
3a : Boucle B, test de taille :
___1b : taille_1 en variable
___2b : attente de 3 secondes
___3b : taille_2 en variable
___4b : si taille non présente, notification d'erreur (plus de vidéo) et quitter la Boucle B
___5b : si tailles identiques, notification de copie, copie et renommage puis quitter la Boucle B
___6b : sinon reprendre la Boucle B au début
4a : si d'autre vidéo, reprendre la Boucle A au début avec la nouvelle vidéo
5a : sinon quitter Boucle A
Quitter le script.

Pour la notif de mise en cache --> Je l'ai sortie de la boucle B pour éviter une répétition toute les 3 secondes (c'est assez insupportable ^^).
Maintenant elle annonce une mise en cache et ne fait plus un rapport de téléchargement comme avant. C'est un choix assumé.
Mais tu peux revenir au comportement précédent en déplaçant la notif dans la boucle entre 1b et 2b et en allongeant le sleep.
Par contre, lorsque la vidéo est déjà mise en cache avant le lancement du script, celui-ci copie la vidéo avant que toute les notifications ne soit terminée. Elles ont une durée minimum et chez moi (maverick), elles attendent que la précédente se termine. Chez toi elles semblent apparaitre les unes au dessous des autres, non ? Enfin, dans mon cas cela ne me gêne pas.

Code pour html5 --> J'avais oublié que tu avais bossé dessus. J'aimerais bien l'intégrer aussi :-)

Test du répertoire -->  Ce test me semble utile. Par défaut le script copiera sur le Bureau. Mais seulement si le système est en français ! Un utilisateur avec un système anglophone avait eu le problème. De plus, la variable de répertoire est faite pour être changée (dans mon cas, j'ai un dossier "Téléchargés") et il permet d'indiquer une mauvaise variable.

Je serais absent environ une semaine donc je ne pourrais pas faire beaucoup de modifs pendant ce temps.

Dernière modification par lylambda (Le 27/02/2012, à 13:54)

Hors ligne

#159 Le 27/02/2012, à 14:25

pipocas

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

lylambda a écrit :

@ pipocas : merci pour tes tests ! Tu utilisais quel navigateur ? Firefox ou Chromium ?

Les deux mon capitaine.

Hors ligne

#160 Le 27/02/2012, à 14:59

titan77

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

EDIT oublie l'histoire de la fonction,finalement ça n'a pas l'air de fonctionner.il faut traiter les vidéo une par une.


pour renommer en copiant

cp $video $copyfolder/$renommer

et si la variable rennomer est vide c'est pas genant puisque sa donnera

cp $video $copyfolder/

si tu n'indique pas de nom c'est le nom original qui est utilisé.


oui chez moi les notifications s'affichent en dessous en même temps.

pour le html5 c'est plus complexe car ça ne dois pas être le même nom en fonction des navigateurs.
pour firefox il faut juste faire comme ça.la video s'appelle "mozilla-media-cache",donc ça ne fonctionne seulement pour firefox.

BROWSER=firefox
NPROCESS=$(pgrep ${BROWSER})
VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/mozilla-media-cache" | awk '{print $8}')

donc il faudrai connaitre les repertoire pour chaque navigateur et faire un test

BROWSER=firefox

if [[ "$BROWSER" == "firefox" ]] ; then
       REP="/tmp/mozilla-media-cache"
elif [[ "$BROWSER" == "chrome" ]] ; then
       REP="/tmp/le rep de chrome"
fi

NPROCESS=$(pgrep ${BROWSER})
VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "${REP}" | awk '{print $8}')

la syntaxe est peut être pas exacte,je me mélange un peu entre le python l'as2 et le php

Dernière modification par titan77 (Le 27/02/2012, à 16:34)

#161 Le 27/02/2012, à 22:07

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

@ pipocas :

Les deux mon capitaine.

Excellente nouvelle ! Il faudrait que je rajoute une rubrique "testeur" pour toi ;-)

@ titan77 :

oublie l'histoire de la fonction,finalement ça n'a pas l'air de fonctionner.il faut traiter les vidéo une par une.

Dommage… L'idée était bonne en tout cas.

Sinon en effet,

cp /proc/${NPROCESS}/fd/${VID} ${COPY_FOLDER}/${renommer}

remplace avantageusement

cp /proc/${NPROCESS}/fd/${VID} ${COPY_FOLDER}; mv ${COPY_FOLDER}/${VID} ${COPY_FOLDER}/${renommer}

Je pensais que ${renommer} au cp bloquerais car la commande le considérerais comme un répertoire et ne le trouverais pas. Je m'étais compliqué la vie pour rien ^^.

Pour le code en html5, ce sera pas facile à intégrer vu que les conditions de détection du NPROCESS et de VIDEO sont différentes. Il y aurais moyen de faire un test en début de script pour savoir si la vidéo est issu du html5 ou du flash player ? Si c'est le cas, un simple "if" permettrait de choisir le code le plus adapté.
Pour le reste, il suffit de faire des testes avec les diverses navigateurs. Avec un peu de chance, il y a aura un comportement générique du genre

TOTO-media-cache

avec TOTO le nom de la compagnie ou du navigateur.

---------------

Vous voyez d'autre chose à changer ? Si oui, je ferais ça à mon retour. Sinon, j'essaierais d'actualiser le premier message avant de partir.

Dernière modification par lylambda (Le 27/02/2012, à 22:13)

Hors ligne

#162 Le 03/03/2012, à 19:50

Ch4775

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Bonjour,
Je voudrai remercier tous les intervenants à ce forum car si je n'ai pas tout compris !!! et de loin j'ai beaucoup appris.
Un merci particulier à Lylambda bien sûr qui m'a permis d'enregistrer des clips youtube avec ses programmes. Juste pour le fun !!
Je n'arrive pas à récupérer la vidéo suivante:
http://obtampons.ca/apology
Je pense qu'il s'agit de vrai streaming. Avez vous une explication sur ce type de streaming et que peut on faire sous Ubuntu 10.10
Merci

Hors ligne

#163 Le 07/03/2012, à 20:39

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Mise à jour du premier message !

@ Ch4775 : Cela semble plus une animation (.swx je crois ?) qu'une vidéo.

Hors ligne

#164 Le 28/04/2012, à 19:41

caneton

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

depuis les dernières mises a jour (probablement celles de VLC ou de flash player ) play flash et copy flash ne marchent plus avec youtube, seulement avec dailymotion.

et uniquement en le lançant en terminal.

Dernière modification par caneton (Le 28/04/2012, à 21:58)


on a refait touts les calculs, c'est physiquement impossible.

il ne reste plus qu'a fabriquer le prototype et passer aux essais.

Hors ligne

#165 Le 28/04/2012, à 21:21

caneton

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

en terminal play flash donne:

processus:3339
nom des fichier: 17
nombre de fichier: 1
video a copier: 17
taille1 :4285697
taille2 :4690659
/home/****/Bureau/play flash.txt: ligne 141: notify-send : commande introuvable
taille1 :5443548
taille2 :5827810
/home/****/Bureau/play flash.txt: ligne 141: notify-send : commande introuvable
taille1 :6596990
taille2 :7002603
/home/****/Bureau/play flash.txt: ligne 141: notify-send : commande introuvable
taille1 :7821417
taille2 :8225792
/home/****/Bureau/play flash.txt: ligne 141: notify-send : commande introuvable


et copy flash:

/home/****/Bureau/copy flash.txt: ligne 57: notify-send : commande introuvable
/home/****/Bureau/copy flash.txt: ligne 62: notify-send : commande introuvable

Dernière modification par caneton (Le 28/04/2012, à 21:54)


on a refait touts les calculs, c'est physiquement impossible.

il ne reste plus qu'a fabriquer le prototype et passer aux essais.

Hors ligne

#166 Le 01/05/2012, à 15:07

toniopepe

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

bonjour,

je voudrais savoir si le script "copy-flash" fonctionne aussi sur la LTS 12.04, j'ai pas encore fait la mise à niveau, là je suis toujours sur Lucid 10.04, et ça n'avait rien donné pour moi  avec Oneiric.

Hors ligne

#167 Le 03/05/2012, à 11:17

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

@ caneton : je confirme, les scripts ne fonctionnent plus avec Youtube, du moins sur Precise. Je n'ai pas eu le temps de me pencher sur la question. Pour dailymotion, je ne rencontre aucun problème.
Pour tes retours du terminal, tu as apparemment un souci avec notify-send. Qu'obtiens-tu avec la commande suivante dans un terminal ?

notify-send Test "Hello World"

Normalement une bulle de notification devrait apparaitre.
Si, comme je le pense, ce n'est pas le cas, installe notify-osd ou supprime les lignes de notification du script.

sudo apt-get install notify-osd

@toniopepe : Mise à part avec youtube, les scripts fonctionnent normalement. Je ne sais pas si cette régression touche aussi Lucid
Par contre, lors de mon passage à Precise, j'ai dut remplacer $8 par $9 de la ligne

VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/Flash" | awk '{print $8}')

comme expliqué dans le 1er message. Peut être était-ce aussi ton cas ?

Hors ligne

#168 Le 03/05/2012, à 15:28

toniopepe

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

oui pour youtube c'est la même chose sur lucid.
une autre question, le fait d'être sous unity ou gnome-shell ça n'a pas d'importance?

Hors ligne

#169 Le 03/05/2012, à 15:43

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

non, l'interface que tu utilises n'a pas d'importance. Dans mon cas, j'utilise la session cairo-dock. Cela change juste ta manière de créer un lanceur dans le panel/dock/etc.

Hors ligne

#170 Le 03/05/2012, à 15:56

titan77

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

salut,
moi aussi sur squeeze youtube fonctionnait de temp en temp.et j'avais besoin de recupérer le videos.je viens de trouver comment le faire fonctionner,il faut changer la resolution de la video,dès que je change la resolution je peut recuperer la video.bisarre mais ça fonctionne.

#171 Le 06/05/2012, à 14:49

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Ah bah tiens ! Vraiment trés étrange… mais tu as raison titan77, ta technique fonctionne systématiquement avec moi !
Donc, cela ne dois pas venir du script, mais de la manière dont youtube gère flash et ses vidéos

Hors ligne

#172 Le 06/05/2012, à 22:50

titan77

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

salut,
pour le html5 ça ne fonctionne plus.maintenant c'est un fichier en mode binaire et on ne peut plus l'ouvrir.
j'ai essayé de réencoder mais mencoder et ffmpeg ne reconnaisse pas le fichier.
j'ai tenté de faire un page web avec une balise video html5 et le fichier pour voir si je pouvais le lire dans firefox,mais sa à freezé et ma ram c'est rempli ainsi que la swap.obligé de fermer la session pour pouvoir arreter le processus.

#173 Le 06/05/2012, à 22:58

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Hmmm, donc à terme, on ne pourra plus récupérer les vidéos streamées aussi simplement que maintenant. Enfin on n'y est pas encore. Peut être que des solutions verront le jours entre temps. Et puis c'est malheureux, mais flash n'est pas encore mort ;-)

Hors ligne

#174 Le 15/01/2013, à 03:07

pouchette

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

lylambda : Merci 100 milliards de fois pour ton script ! (play-flash) Tu me sauves la vie !!

Les dernieres versions d'Ubuntu ont bcp de soucis avec les cartes graphique (amd/ati c'est l'enfer) et surtout l'acceleration gpu. J'ai réglé le pb pour la video "normale", ce qui a déjà été assez compliqué. Je suis sous Ubuntu 12.04 et je ne pouvais meme pas streamer du tout car flash délire tant sur Chromium que Firefox (pas d'acceleration) cpu monte à 100% en 10 mn !!! (même avec le pepper flash de Chrome) et après 10 mn images qui saccadent et plus de ressources cpu, à la limite du crash... J'ai bcp bcp bcp cherché de solutions, jusqu'à ce qu'enfin je tombe sur ce post magique ! Tu as dit que FlashVideoReplacer donne pas grand chose, j'avais voulu tester pensant que ce serait mon ultime chance, et il n'est déjà plus soutenu ! Ton script est vraiment à ce jour notre seule et unique solution ! A voir ce que donnera le html5.. je crains le pire.. En tout cas c'est vraiment de la merde ce flash, j'ai passé je ne sais combien d'heures à chercher des solutions.

Ton script marche à merveille, en tout cas sur les streams classiques - grâce notamment à cette petite rectification :

VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/Flash" | awk '{print $9}')

tu as vraiment pensé à tout !

Merci aussi pour la petite astuce de l’extension AppLauncher vraiment géniale !
(même creer un launcher sur ubuntu 12.04 c'est compliqué !)
de toute façon c'est tellement pratique d'avoir ce petit launcher à portée de clic directement dans le browser !

Vraiment merci merci merci !!!  Love2.gif

Je n'ai pas encore testé sur des sites plus complexes genre M6-Replay ou Arte, est-ce qu'il y a aussi des solutions pour eux ?

Bisous.gif

Dernière modification par pouchette (Le 15/01/2013, à 03:30)


*o* Ubuntu Addict ! *o*

Hors ligne

#175 Le 15/01/2013, à 19:26

lylambda

Re : [Astuce] Lire et copier les vidéos flash directement du navigateur

Ça fait plaisir de voir que les scripts sont toujours utiles. Un peu moins de constater que les choses ne s'arrangent pas pour la vidéo sur internet : adoption lente du html5, flash pour Linux plus développé par adobe, problème pour certains GPU/driver, …
De mon coté, j'ai plutôt de la chance. Le chipset graphique intégré à mon CPU (Intel HD Graphics 4000 de l'I5) fonctionne très bien sur un 12.04.

En ce qui concerne FlashVideoReplacer, c'est dommage qu'il ne soit plus maintenu. Cette extension était prometteuse. Je suppose que c'était trop de travail pour le dev ou que cela ne plaisait pas aux lobby du média en ligne wink .

Au sujet de ta question pour les sites de replay, je te conseil d'aller voir sur cette page de la doc. Par exemple, pour Arte, Quarte permet de récupérer ses émissions de manière simplissime.

Puisque le nouveau format de date semble systématique sur les distrib récentes, je vais mettre awk '{print $9}') par défaut dans les scripts.
Niveau fonctionnement des scripts, dois-tu aussi changer la résolution des vidéos Youtube pour les détecter ? j'aimerais bien comprendre ce phénomène hmm

En tout cas, merci pour ton retour  smile

Hors ligne

Haut de page ↑