Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#126 Le 16/01/2012, à 18:11

grandtoubab

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

Salut,
NOK sur pluzz exemple
http://www.pluzz.fr/chabada.html

@ubuntu-desktop:~/Linux$ ./Play-Flash-0-8
+ PLAYER=mplayer
+ BROWSER=firefox
+ [[ firefox == firefox ]]
++ ps aux
++ grep flash
++ grep -v grep
++ awk '{print $2}'
+ NPROCESS=12351
++ cd /proc/12351/fd
++ ls -la
++ grep /tmp/Flash
++ awk '{print $8}'
++ cd
+ FICHIER=
++ echo
++ wc -w
+ NBRE_FICHIER=0
++ pgrep mplayer
+ PROCESSPID=
+ '[' '' '!=' '' ']'
+ '[' 0 == 0 ']'
+ notify-send -i error Play-Flash '\nErreur : aucune vidéo trouvée'
+ exit 0

pourtant

@ubuntu-desktop:~/Linux$ cd /proc/12351/fd

@ubuntu-desktop:/proc/12351/fd$ ls
0  1  10  11  12  13  14  15  16  17  18  19  2  20  3  4  5  6  7  8  9

Dernière modification par grandtoubab (Le 16/01/2012, à 18:14)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#127 Le 17/01/2012, à 02:10

titan77

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

salut,
@lylambda
je vient de revoir une bonne partie du code de copy flash.
amélioration et j'ai regroupé la partie qui test la taille et la copie en une seule au lieu de 2 parties pour une vidéo et pour plusieurs.

j'ai mis une fonction debug,pour tester,on appel le script avec le parametre debug, "./copyflash debug",on a une boite de dialogue qui permet de tester plusieurs parametre pour grep "flash ,plugin-container chrome, ect". sinon sans le parametre c'est comme avant.
si il y a plusieurs processus il y a une boucle qui les test et qui stop quand elle a trouvé une video.j'ai testé avec chromium qui a plusieurs processus et sa fonctionne.
pour debugger au cas ou j'ai mis des echo sur les variables.
pour éviter de surcharger le topic,une fois que tu auras prix le code pour y jeter un oeil j'éditerais pour l'enlever.
je suis parti dans l'idée de racourcir et j'ai alongé de moitié.


#!/bin/bash
#########################################################################################################
# Description: Permet de sauvegarder les videos flash en cours dans le navigateur.                      #
# Dépendances: grep; zenity; awk; notify-osd                                                            #
# Auteurs: lylambda; bece (amélioration); titan77 (corrections)                                         #
# Version: Copy-Flash 0.6 modifié titan77                                                                             #
# Licence: gpl                                                                                          #
# http://forum.ubuntu-fr.org/viewtopic.php?id=424080                                                    #
#########################################################################################################

function DEBUG_TEST(){
#####################choix du navigateur############################

##testé et qui fonctionne
#firefox ,Iceweasel,Epiphany,chromium,standard

        BROWSER=$(zenity \
        --list \
        --radiolist \
        --height=230 \
        --title="copie de video" \
        --text="Choisissez votre navigateur " \
        --column="choix" --column="" --column="Navigateur" \
        --hide-column=2 \
        TRUE "plugin-container" "Firefox" \
        FALSE "plugin-container" "Iceweasel" \
        FALSE "epiphany-browser" "Epiphany" \
        FALSE "chrome" "chrome" \
        FALSE "chromium" "chromium" \    
        FALSE "flash" "standard")

if [ ! "${BROWSER}" ]; then
    exit 0
else
    echo "${BROWSER}"
    NPROCESS=$(ps aux | grep "${BROWSER}" | grep -v "grep" | awk '{print $2}')
fi
}

# Dossier de copie
COPY_FOLDER="${HOME}/Bureau"
## /!\ À remplacer si besoin
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
#Utiliser /tmp comme dossier de copie alternatif si celui indiqué n'existe pas
## si lancé avec le parametre "debug" on lance la fonction debug 
if [[ "$1" ]] | [[ $1 == "debug" ]]; then
    ## lance fonction debug
    DEBUG_TEST
else
    # Nom du navigateur à utiliser
    ## /!\ À remplacer si besoin
    BROWSER="firefox"

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

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

    #si on a pas de video on ferme
    if [[ "${NBRE_FICHIER}" == "0" ]]; then
        notify-send -i error "Copy-Flash" "\nErreur : aucune vidéo trouvée"
        # Notification d'erreur. Utilisez la ligne suivante en cas de préférence pour les fenêtres zenity
        ## zenity --info --title="Erreur" --text="Aucune vidéo trouvée."
    else
        #si on a qu'une video on met dans la variable et on passe au test de taille
        if [[ "${NBRE_FICHIER}" == "1" ]]; then
            video_a_copier=${FICHIER}
        else
            ## si plusieurs videos on ouvre une liste pour en choisir une
            to_print=""
            for poet in ${FICHIER};do
                date=$(stat -Lc '%y' /proc/${PROC}/fd/${poet} | awk -F \. '{print $1}');
                nom=$(stat -c '%N' /proc/${PROC}/fd/${poet} | awk '{print $3}'| cut -d"/" -f3);
                to_print="${to_print} \"\" \"${poet}\" \"${nom}\" \"${date}\""; 
            done
            echo ${to_print}
            # Choix de la vidéo à copier si plusieurs en parallèle
            video_a_copier=$(echo ${to_print} | xargs zenity --title='Choix du film à copier' --list --text="" --column="  " --column="N°" --column="Nom" --column="Date" --radiolist --width=500 --height=300  --separator=' ');
            if [ -z "${video_a_copier}" ]; then #bouton annuler ou aucune video choisie
                exit 0;
            fi
        fi
        
        #on a notre vidéo alors on test si elle est fini de télécharger
        echo "video a copier: ${video_a_copier}"
            # Attente durant la mise en cache et notifications 
                taille_1=$(stat -Lc '%s' "/proc/${PROC}/fd/${video_a_copier}")
                sleep 2
                taille_2=$(stat -Lc '%s' "/proc/${PROC}/fd/${video_a_copier}")            
            #boucle toujours vrai
            while true
            do
                #test la taille
                taille_1=$(stat -Lc '%s' "/proc/${PROC}/fd/${video_a_copier}")
                # attente 3 secondes mini car bug ,le telechargement s'est arreté quelque seconde et la video a été copiée en plein milieu
                sleep 3
                taille_2=$(stat -Lc '%s' "/proc/${PROC}/fd/${video_a_copier}")
                echo "taille1 :$taille_1"            
                echo "taille2 :$taille_2"
            # si on ne peut plus tester la taille alors on ferme car plus de vidéo
            if [[ ! "$taille_1" ]] ||  [[ ! "$taille_2" ]];then
                echo "plus de video"
                exit 1           
                break
            fi
            # si la taille1 et 2 sont identique on break et on télécharge la video qui est complete
            if test "${taille_1}" -eq "${taille_2}";then
                    break
            fi
                # Attente durant la mise en cache et notifications 
                let taille_mo=(${taille_2}/10**6)
                notify-send -i clock "Copy-Flash" "\nAttente de la fin de mise en cache : ${taille_mo} Mo"
                sleep 7
            done
        # la video est télécharger,on essai de la rennomer
        renommer=$(stat -c '%N' "/proc/${PROC}/fd/${video_a_copier}" | awk '{print $3}'| cut -d"/" -f3)
        echo "video renommer:${renommer} :"
        # si pas pu renommer on laisse le nom d'origine
        if [ ! ${renommer} ];then
            renommer=${video_a_copier}
        else
            # sinon on renomme
            renommer=${renommer};
        fi
        
        # Copie de la vidéo directement renommée
        cp /proc/${PROC}/fd/${video_a_copier} ${COPY_FOLDER}/${renommer}
        let taille_mo=(${taille_2}/10**6)
        notify-send -i folder-download "Copy-Flash" "\nCopie de la vidéo ${renommer} (${taille_mo} Mo) \n${COPY_FOLDER}"
    fi
echo "fini"
exit 0

Dernière modification par titan77 (Le 26/01/2012, à 16:25)

#128 Le 18/01/2012, à 00:00

pipocas

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

lylambda a écrit :

D'après les retours de pipocas, cela nécessite que j'ajoute une exception (comme pour Firefox). J'attendais plus de précisions pour l'ajouter.

Voilà donc mon retour (désolé pour mon retard)
Je lance une vidéo sur Youtube et pour la commande suivante:

ps aux | grep flash | grep -v "grep"

Avec Firefox j'ai cela:

pipocas     9204  3.7  1.2 256780 51176 ?        Sl   23:55   0:01 /usr/lib/firefox-9.0.1/plugin-container /usr/lib/flashplugin-installer/libflashplayer.so -greomni /usr/lib/firefox-9.0.1/omni.jar 8909 true plugin

Avec chrome cela:

pipocas     9294 10.8  1.2 280104 52844 ?        Sl   23:59   0:00 /opt/google/chrome/chrome --type=plugin --plugin-path=/opt/google/chrome/libgcflashplayer.so --lang=fr --channel=8941.0xbac71320.1047364600

J'espère que c'est de ce dont tu avais besoin sinon dis moi ce que tu veux exactement.

Dernière modification par pipocas (Le 18/01/2012, à 00:11)

Hors ligne

#129 Le 18/01/2012, à 02:13

lylambda

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

@ grandtoubab :

Je ne suis pas sûr se bien comprendre où tu veux en venir.
-> Le script t'indique qu'il ne trouve pas de vidéos avec pluzz, mais un ls dans le numéros de process de flash t'indique que cela n'est pas vide ?
Si c'est le cas, tu peux vérifier si l'un des éléments est une vidéo avec (remplace $NPROCESS avec celui que tu trouves) :

cd /proc/$NPROCESS/fd && ls -la

Les lignes similaires à la suivante suivante sont des vidéos flash, pas le reste (à priori):

l-wx------ 1 user user 64 2012-01-18 01:22 17 -> /tmp/FlashXXytpyBM (deleted)

C'est la procédure que suit le script.
-> Ça n'a rien à voir avec ce que j'ai compris ?
Dans ce cas, je vais avoir besoins de plus de précisions ^_^

____________________________________________________

@titan77 :

Génial ! Je l'ai lu rapidement et je suis sûr qu'il y a plein de chose à prendre pour améliorer le script :-)

j'ai regroupé la partie qui test la taille et la copie en une seule au lieu de 2 parties pour une vidéo et pour plusieurs.

C'est super ! À utiliser pour l'autre script aussi.

si il y a plusieurs processus il y a une boucle qui les test et qui stop quand elle a trouvé une video.

Par contre, j'espère pouvoir éviter la boucle en empéchant la sélection de multiple processus. Mais si c'est impossible, ton code est parfait !

Mon script est relativement fonctionnel pour ce qu'on lui demande…mais un vrais programmeur me lyncherait pour avoir écrit un truc pareil ;-) . Du coup, ton aide est plus que bienvenu !

pour éviter de surcharger le topic,une fois que tu auras prix le code pour y jeter un oeil j'éditerais pour l'enlever.

Ce serait vraiment dommage. Ce sujet est fait pour ça. Donc au contraire, n'hésites pas envoyer du code. Il va juste falloir que je suive le rythme et le niveau :-p .

je suis parti dans l'idée de racourcir et j'ai alongé de moitié.

Apparemment, c'est un classique dans la programmation ^^
D'ailleurs, si possible, j'ajouterais bien aussi ton code pour les vidéos html5.

____________________________________________________________________________

@pipocas :

Merci beaucoup, c'est bien ce que je souhaitais smile
De toute évidence, "flashplayer.so" est la chaine commune à ces 2 navigateurs (qui remplacerais donc "flash" potentiellement pas assez précis). À priori, je pourrais donc écrire une exception commune.

Par contre ce qui me surprend, c'est qu'avec Firefox, tu n'as qu'une ligne de retour et donc un seul numéros de processus détecté.
Le script de base (sans la boucle de bog333) devrait alors fonctionner sans problème. C'est à dire sans le bug des faux numéros de processus flash.

Si ce n'est pas le cas, pourrais-tu me donner les lignes correspondantes à ces numéros ?
Par exemple si le script de debug te donne :

2/ NPROCESS : 1849
1856
1858
1889
1897
1902

S'il te plait, donne moi les retours des commandes suivantes ([X] remplacé par chacun des numéros précédent) :

ps aux | grep [X] | grep -v "grep"

désolé pour mon retard

Pas de problème, on a tous une vie. D'ailleurs désolé de te faire utiliser autant ton terminal ! wink

Hors ligne

#130 Le 18/01/2012, à 19:29

grandtoubab

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

lylambda a écrit :

@ grandtoubab :

Je ne suis pas sûr se bien comprendre où tu veux en venir.
-> Le script t'indique qu'il ne trouve pas de vidéos avec pluzz, mais un ls dans le numéros de process de flash t'indique que cela n'est pas vide ?

Oui ça ne récupère pas le fichier mais j'ai trouvé un concurrent qui le fait . big_smile
http://code.google.com/p/tvdownloader/wiki/pluzzdl

http://forum.ubuntu-fr.org/viewtopic.ph … 1#p7858821


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#131 Le 18/01/2012, à 22:07

pipocas

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

lylambda a écrit :

Pas de problème, on a tous une vie. D'ailleurs désolé de te faire utiliser autant ton terminal ! wink

Tu parles...j'installais archlinux. lol (Ce qui doit répondre à ta deuxième phrase.)

Ya quand même des trucs curieux!

Sur un reboot tout frais, sans avoir lancer aucun des navigateurs, je lance play-fash 0.8 debug (sans la boucle). J'ai ceci en retour dans le fichier créé:

1/ PLAYER : vlc ; BROWSER : firefox
2/ NPROCESS : 2410
2418
2419
2421
3/ FICHIER : 
4/ NBRE_FICHIER : 0
5/ Pas de fichier détecté : pas de lecture

J'ai la notif "aucune vidéo trouvée"

Il est à noter que si je relance le script, les NPROCESS changent. Inutile donc de lancer la commande de vérif je pense.(?)

Ensuite je lance firefox sur youtube et relance le script. J'obtiens ceci:

1/ PLAYER : vlc ; BROWSER : firefox
2/ NPROCESS : 2485
2749
2755
2756
2757
3/ FICHIER : 
4/ NBRE_FICHIER : 0
5/ Pas de fichier détecté : pas de lecture

Pour

ps aux | grep 2485 | grep -v "grep"

j'ai ceci:

pipocas     2485  1.7  1.2 257804 50436 ?        Sl   21:52   0:08 /usr/lib/firefox-9.0.1/plugin-container /usr/lib/flashplugin-installer/libflashplayer.so -greomni /usr/lib/firefox-9.0.1/omni.jar 2440 true plugin

Aucun retour pour aucun des NPROCESS suivants.

Hors ligne

#132 Le 19/01/2012, à 02:03

lylambda

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

grandtoubab a écrit :

Oui ça ne récupère pas le fichier mais j'ai trouvé un concurrent qui le fait .

C'est normal, puisque Pluzz utilise apparemment du "vrais" streaming (vu mes soucis avec ce site, je ne peux pas confirmer roll). Le script ne peux pas récupérer des ressources vidéos qui ne sont pas téléchargées en entier par le flashplayer (et donc présente en local dans nos ordis).
Par contre, ce "concurrent" le peut car il va directement chercher la vidéo sur le site. Pratique mais spécialisé pour un site particulier.
En tout cas, je ne le connaissais pas : c'est cool je vais enfin pouvoir regarder "Plus belle la vie" ! Ou pas big_smile.

pipocas a écrit :

Tu parles...j'installais archlinux. lol (Ce qui doit répondre à ta deuxième phrase.)

D'accord, je retire ce que j'ai dit à propos du terminal  et de ta vie tongue (Tu me fais du "pousse au troll", là !).

Par rapport à tes retours, je suis vraiment perplexe hmm . Pour résumer :
1/ Tu as des faux n° de processus flash sans raison apparente (aucun plugin flash lancé).
2/ Impossible d'avoir des retours sur eux. Ils ne réagissent pas au grep comportant leur numéros.

En fait cela me parait clair… ton pc est hanté par des NPROCESS fantômes, des polterprocess quoi yikes !
Il va falloir appeler un devxorciste lol

Plus sérieusement, du coup je ne vois pas trop comment t'en débarrasser. Avec au moins une ligne de retour sur eux, j'aurais pu définir un grep les esquivant ou un grep -v pour les expulser. Peut être en retouchant mon script de debug ou celui de titan77… Je vais y réfléchir.

Sinon, la boucle testant les différents NPROCESS va devenir indispensable. Mais là titan77 m'a mâché tout le travail. Faire une nouvelle version du script plus propre et qui fonctionne aussi chez les "hantés" comme toi ne devrait pas être trop dure smile .

Hors ligne

#133 Le 19/01/2012, à 14:45

titan77

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

lylambda a écrit :

@titan77 :

Génial ! Je l'ai lu rapidement et je suis sûr qu'il y a plein de chose à prendre pour améliorer le script :-)

j'ai regroupé la partie qui test la taille et la copie en une seule au lieu de 2 parties pour une vidéo et pour plusieurs.

C'est super ! À utiliser pour l'autre script aussi.

pour éviter de surcharger le topic,une fois que tu auras prix le code pour y jeter un oeil j'éditerais pour l'enlever.

Ce serait vraiment dommage. Ce sujet est fait pour ça. Donc au contraire, n'hésites pas envoyer du code. Il va juste falloir que je suive le rythme et le niveau :-p .
D'ailleurs, si possible, j'ajouterais bien aussi ton code pour les vidéos html5.

salut,
je voulais éditer et enlever le code car comme c'est toi qui gère les version dans un seul post,c'est pour éviter d'avoir des script un peu partout.
j'ai mis "version 0.7" pour différencier aux cas ou quelqu'un la prendrait de mon post.si je le laisse et que quelqu'un prend le miens aux lieu de la version que tu mets en 1ere page,ce serait le bazar pour déboguer.
puis comme c'est ton script,c'est donc toi qui gère les versions,mois je te propose et tu prend se qui t'interresse.c'est pour ça que je preferait l'enlever après.

pour le html5 ,j'essaierais de faire un bout de code.

#134 Le 21/01/2012, à 14:52

lylambda

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

@ titan77 :
Ça se défend. D'un autre coté, tu as été clair dans ton message accompagnant ta version révisée du script.
Maintenant, je l'ai récupéré donc si tu préfère l'enlever il n'y a pas de souci. En terme d'historique, je préférerais que tu le laisses, mais c'est un simple avis smile . Bref, à toi de voir !

@ pipocas :
J'ai modifié rapidement mon script de debug pour tenter d'obtenir plus d'informations sur tes NPROCESS fantômes. Si tu veux bien le tester (avec firefox et 0, 1 puis 2 vidéos) puis me donner le contenu de différents "Debug_Play-Flash" (dans ton Home), cela me serait très utile.
Si rien d'utile n'en sort, on laisse tombé. Je m'attellerais alors à une refonte des scripts en y incluant la boucle de bog333 via le code de titan77.

#!/bin/bash
#########################################################################################################
# Description: Permet de regarder une video flash dans le lecteur plutôt que dans le navigateur-Debug.  #
# Dépendances: grep; zenity; awk; notify-osd; lecteur vidéo; navigateur internet                        #
# Auteurs: Baz00; Adapté par Edouard ( http://www.inouire.net/ );                                       #
# Amélioré par Mathieu147; Refonte par lylambda; titan77 (corrections)                                  #
# Version: Play-Flash_Debug3 0.8                                                                        #
# Licence: gpl                                                                                          #
# http://forum.ubuntu-fr.org/viewtopic.php?id=424080                                                    #
# http://wavemaker.free.fr/index.php/post/Script-Bash-pour-ouvrir-les-vidéos-Flash-dans-VLC             #
#########################################################################################################

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

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

NPROCESS_DET=$(ps aux | grep flash | grep -v "grep")
# Détails des numéros du processus flash
FICHIER=$(cd /proc/$NPROCESS/fd && ls -la  | grep /tmp/Flash | awk '{print $8}' && cd)
# Liste les fichiers vidéos
FICHIER_DET=$(cd /proc/$NPROCESS/fd && ls -la  | grep /tmp/Flash && cd)
# Détails de la liste des fichiers vidéos
NBRE_FICHIER=$(echo $FICHIER | wc -w)
# Compte le nombre de fichiers vidéos
PROCESSPID=$(pgrep $PLAYER)
# Recupère le PID du processus du lecteur
DEBUG="1/ PLAYER : $PLAYER ; BROWSER : $BROWSER
2/ NPROCESS : $NPROCESS
3/ NPROCESS_DET : $NPROCESS_DET
4/ FICHIER : $FICHIER
5/ FICHIER_DET : $FICHIER_DET
6/ NBRE_FICHIER : $NBRE_FICHIER"

    if [ "$PROCESSPID" != "" ]; then
        kill $PROCESSPID
            # Si un ou plusieurs processus de lecteur existe(nt) alors on le(s) tue
    fi


    if [ "$NBRE_FICHIER" == "0" ]; then
        notify-send -i error "Play-Flash" "\nErreur : aucune vidéo trouvée"
DEBUG="$DEBUG
7/ Pas de fichier détecté : pas de lecture" && echo "$DEBUG" > $HOME/Debug_Play-Flash
        # Notification d'erreur. Utilisez la ligne suivante en cas de préférence pour les fenêtres zenity
              ## zenity --info --title="Erreur" --text="Aucune vidéo trouvée."

    elif [ "$NBRE_FICHIER" != "1" ]; then
        to_print=""
        for poet in $FICHIER;
            do date=$(stat -Lc '%y' /proc/$NPROCESS/fd/$poet | awk -F \. '{print $1}');
                        nom=$(stat -c '%N' /proc/$NPROCESS/fd/$poet | awk '{print $3}'| cut -d"/" -f3);
            to_print="$to_print \"\" \"$poet\" \"$nom\" \"$date\""; 
        done;
        video_a_regarder=$(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=' ')
        if [ -z "$video_a_regarder" ]; then #bouton annuler ou aucune video choisie
            exit 0;
        fi
        # Choix de la vidéo à visionner si plusieurs en parallèle
        flashnom=$(stat -c '%N' /proc/$NPROCESS/fd/$video_a_regarder | awk '{print $3}'| cut -d"/" -f3)
        notify-send -i $PLAYER  "Play-Flash" "\nLecture de la vidéo $flashnom dans $PLAYER" &
        # Notification de lecture
        $PLAYER /proc/$NPROCESS/fd/$video_a_regarder
DEBUG="$DEBUG
7/ $NBRE_FICHIER fichiers détectés : choix fait ($video_a_regarder), lecture de la vidéo $flashnom dans $PLAYER" && echo "$DEBUG" > $HOME/Debug_Play-Flash
        # Lancement de la lecture

    else
        flashnom=$(stat -c '%N' /proc/$NPROCESS/fd/$FICHIER | awk '{print $3}'| cut -d"/" -f3)
        notify-send -i $PLAYER "Play-Flash" "\nLecture de la vidéo $flashnom dans $PLAYER" &
        $PLAYER /proc/$NPROCESS/fd/$FICHIER
DEBUG="$DEBUG
7/ 1 fichier détecté : lecture de la vidéo $flashnom dans $PLAYER" && echo "$DEBUG" > $HOME/Debug_Play-Flash
        # Notification et lecture directe si une seule vidéo est présente 
    fi

exit 0

Hors ligne

#135 Le 25/01/2012, à 23:06

pipocas

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

Voilà les retours pour
0:

1/ PLAYER : vlc ; BROWSER : firefox
2/ NPROCESS : 3410
3411
3/ NPROCESS_DET : pipocas     3410  0.0  0.0   5392  1328 ?        S    22:57   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
pipocas     3416  0.0  0.0   5392   508 ?        S    22:57   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
4/ FICHIER : 
5/ FICHIER_DET : 
6/ NBRE_FICHIER : 0
7/ Pas de fichier détecté : pas de lecture

1:

1/ PLAYER : vlc ; BROWSER : firefox
2/ NPROCESS : 3469
3489
3490
3/ NPROCESS_DET : pipocas     3469  7.8  1.2 259852 52576 ?        Sl   22:58   0:00 /usr/lib/firefox-9.0.1/plugin-container /usr/lib/flashplugin-installer/libflashplayer.so -greomni /usr/lib/firefox-9.0.1/omni.jar 3435 true plugin
pipocas     3489  0.0  0.0   5392  1324 ?        S    22:59   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
pipocas     3495  0.0  0.0   5392   504 ?        S    22:59   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
4/ FICHIER : 
5/ FICHIER_DET : 
6/ NBRE_FICHIER : 0
7/ Pas de fichier détecté : pas de lecture

2 (2videos youtube):

1/ PLAYER : vlc ; BROWSER : firefox
2/ NPROCESS : 3469
3554
3555
3/ NPROCESS_DET : pipocas     3469  4.9  1.8 320480 76436 ?        Sl   22:58   0:02 /usr/lib/firefox-9.0.1/plugin-container /usr/lib/flashplugin-installer/libflashplayer.so -greomni /usr/lib/firefox-9.0.1/omni.jar 3435 true plugin
pipocas     3554  0.0  0.0   5392  1328 ?        S    22:59   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
pipocas     3560  0.0  0.0   5392   508 ?        S    22:59   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
4/ FICHIER : 
5/ FICHIER_DET : 
6/ NBRE_FICHIER : 0
7/ Pas de fichier détecté : pas de lecture

3 (2videos youtube +1 dailymotion):

1/ PLAYER : vlc ; BROWSER : firefox
2/ NPROCESS : 3469
3593
3594
3/ NPROCESS_DET : pipocas     3469  5.3  2.9 418948 120636 ?       Sl   22:58   0:12 /usr/lib/firefox-9.0.1/plugin-container /usr/lib/flashplugin-installer/libflashplayer.so -greomni /usr/lib/firefox-9.0.1/omni.jar 3435 true plugin
pipocas     3593  0.0  0.0   5392  1328 ?        S    23:02   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
pipocas     3599  0.0  0.0   5392   508 ?        S    23:02   0:00 /bin/bash /home/pipocas/playflashdebug2.sh
4/ FICHIER : 
5/ FICHIER_DET : 
6/ NBRE_FICHIER : 0
7/ Pas de fichier détecté : pas de lecture

Tu auras deviné que playflashdebug2.sh c'est ton script. (D'ailleurs avant il y avait plus de process parce que je le lançais dans un terminal). Voilà pour l'explication des process poltergeists.

Sinon un seul process réel quelque soit le nb de vidéos lancées et ceci indépendamment du site.

Hors ligne

#136 Le 26/01/2012, à 00:15

lylambda

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

Haa ! Enfin le mystère se résout smile

Mes scripts se nommant "Play-Flash" (avec une majuscule), il est donc normal que je ne reproduise pas le bug. Je n'avais pas du tout pensé à la possibilité d'un simple renommage roll

Du coup, comme on le pensais, je pense pouvoir te faire esquiver les process fantômes en utilisant "grep flashplayer.so" au lieu de "grep flash". Si tout se passe bien, cela permettra l'intégration de Chrome tout en évitant une boucle supplémentaire.

Comme on dit, il n'y plus qu'à !

Dernière modification par lylambda (Le 26/01/2012, à 00:15)

Hors ligne

#137 Le 26/01/2012, à 02:15

fxms

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

Au risque de rester simpliste ou de répéter ce qui a été dit (j'ai pas lu les 6 pages entièrement) pourquoi ne pas utiliser l'extension de Firefox "Video DownloadHelper" pour télécharger la vidéo puis la lire sur Totem ou VLC tout simplement? O_o

Hors ligne

#138 Le 26/01/2012, à 09:09

pipocas

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

fxms a écrit :

Au risque de rester simpliste ou de répéter ce qui a été dit (j'ai pas lu les 6 pages entièrement) pourquoi ne pas utiliser l'extension de Firefox "Video DownloadHelper" pour télécharger la vidéo puis la lire sur Totem ou VLC tout simplement? O_o

Parce que encore une fois, nous aussi on se répète, cette extension ne fonctionne que sur certain sites alors que le script fonctionne pour TOUS les sites.

Hors ligne

#139 Le 26/01/2012, à 16:35

titan77

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

lylambda a écrit :

@ titan77 :
Ça se défend. D'un autre coté, tu as été clair dans ton message accompagnant ta version révisée du script.
Maintenant, je l'ai récupéré donc si tu préfère l'enlever il n'y a pas de souci. En terme d'historique, je préférerais que tu le laisses, mais c'est un simple avis smile . Bref, à toi de voir !

salut,
ok je le laisse mais j'ai modifié la (version du script) pour qu'il n'y ai pas confusion quand ta 0.7 sortira.


@pipocas
à tout hasard tu peut essayer la version de ce post pour voir si sa fonctionne,voir si ce que j'ai fais est efficace ou pas.
en lançant avec le paramètre "debug" tu peut choisir plusieurs test.on ne sais jamais.

#140 Le 27/01/2012, à 12:54

lylambda

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

pipocas a écrit :

Parce que encore une fois, nous aussi on se répète, cette extension ne fonctionne que sur certain sites alors que le script fonctionne pour TOUS les sites.

Enfin presque tous wink . Cela fonctionnent pour la plupart, mais certains sites protègent leur streaming, ce qui bloque les scripts. Autre avantage des scripts, ils fonctionnent (en théorie) sur tout les navigateurs.
Je reformulerais le premier message pour en parler car ce type de retour est effectivement redondant.

titan77 a écrit :

ok je le laisse mais j'ai modifié la (version du script) pour qu'il n'y ai pas confusion quand ta 0.7 sortira.

Merci ! Pour la sortie, elle risque de tarder un peu, je suis un peu pris actuellement. J'essaierais de me dégager un créneau pour prendre le temps de d'intégrer tes modifs.

En attendant, comme tu l'as compris pipocas, tu peux avoir un script fonctionnel en n'utilisant pas le terme "flash" dans le nom du script lancé, ou en remplaçant "grep flash" par "grep flashplayer.so".

Hors ligne

#141 Le 29/01/2012, à 22:34

pipocas

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

titan77 a écrit :

@pipocas
à tout hasard tu peut essayer la version de ce post pour voir si sa fonctionne,voir si ce que j'ai fais est efficace ou pas.
en lançant avec le paramètre "debug" tu peut choisir plusieurs test.on ne sais jamais.

Non marche pas. sad
Comment tu fais pour le mode debug?


lylambda a écrit :

Enfin presque tous wink . Cela fonctionnent pour la plupart, mais certains sites protègent leur streaming, ce qui bloque les scripts.

et qui bloque aussi downloadhelper donc bon...

Hors ligne

#142 Le 30/01/2012, à 01:18

titan77

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

pipocas a écrit :

Non marche pas. sad
Comment tu fais pour le mode debug?
et qui bloque aussi downloadhelper donc bon...

salut,
dans le terminal "copyflash debug"

oui sans le mode debug c'est la meme recherche de processus que celui de lylambda.
avec debug sa fait une recherche sur ce que tu choisi dans la liste avec zenity.
avec firefox tu peut essayer "firefox" et "standard" et pour chrome, "standard" , "chrome" et "firefox".

"plugin-container" "Firefox" 
"plugin-container" "Iceweasel" 
 "epiphany-browser" "Epiphany" 
 "chrome" "chrome" 
"chromium" "chromium" 
 "flash" "standard"

#143 Le 30/01/2012, à 18:46

Matsjö

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

Bonsoir

Je passe par la juste pour un petit coucou.

Cela fait deux mois maintenant que j'ai passé mes babasses sur BodhiLinux, (Ubuntu 10.04 + E17 et Kernel 2.3) : http://wiki.bodhilinux.com/doku.php.

Les scripts, aussi bien pour la lecture que pour la copie, marchaient super bien, [La combinaison E17, Script, Vlc = gros sourire de mes Pc dont un Eee 1011 px. En effet, aucune chauffe et quasiment pas de ressource proc.
Tout pour plaire quoi. Wouii mais voila Y eu comme une mise a jour en semaine 3 2012.
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)

Ils ont dut changer la syntaxe, il y a 9 modules maintenant

par ex : lrwx------ 1 root root 64 Jan 30 22:51 1
                    1      2    3     4    5    6   7      8     9

Meme punnition pour les scripts de copie, mais ca se trouve a la ligne 33
Voila bonne video maintenant.

Et merci encore pour ces merveilleux scripts.

A+ wink

Dernière modification par Matsjö (Le 30/01/2012, à 22:55)


Important ... Je crois:
http://www.laquadrature.net/fr/acta
http://www.libraboot.org/
Because the best thing in life is Freedom

Hors ligne

#144 Le 31/01/2012, à 00:47

pipocas

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

@titan77: Ok ton script marche très bien avec debug. J'ai testé chrome et FF. Cependant dans le cas où je lance plusieurs vidéos, seule la dernière lancée est copiée.

Hors ligne

#145 Le 01/02/2012, à 22:06

titan77

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

pipocas a écrit :

@titan77: Ok ton script marche très bien avec debug. J'ai testé chrome et FF. Cependant dans le cas où je lance plusieurs vidéos, seule la dernière lancée est copiée.

salut,
étrange,il en trouve combien??
tu peut choisir une vidéo avec une fenetre zenity?
le principal c'est que ça fonctionne enfin.

#146 Le 02/02/2012, à 08:48

mydjey

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

Bonjour,

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.

++

Hors ligne

#147 Le 02/02/2012, à 13:26

caneton

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

play flash 8  marche pas avec RUTUBE ?

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


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

#148 Le 03/02/2012, à 21:15

yvou

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

Bonsoir,
je voudrais d'abord remercier Lylambda et tous ceux qui l'ont aidé à élaborer et améliorer ces scripts fort utiles.

J'ai atterri sur ce post en voulant enregistrer des vidéos du même site que celle-ci : http://www.mon-ludo.fr/heros/yakari/yak … a-la-tribu
Malheureusement, cela ne fonctionne pas (erreur : aucune vidéo trouvée) et le fichier Debug_Play-Flash donne ceci :

1/ PLAYER : vlc ; BROWSER : firefox
2/ NPROCESS : 1901
3/ NPROCESS_DET : yves      1901  1.9 10.9 385168 97748 ?        Rl   17:29   1:12 /usr/lib/firefox-9.0.1/plugin-container /usr/lib/adobe-flashplugin/libflashplayer.so -greomni /usr/lib/firefox-9.0.1/omni.jar 1700 true plugin
4/ FICHIER :
5/ FICHIER_DET :
6/ NBRE_FICHIER : 0
7/ Pas de fichier détecté : pas de lecture

Je précise également que Copy-Flash fonctionne parfaitement chez moi pour les vidéos de Youtube.com.

Quelle est selon vous la source de mon problème ?
Merci d'essayer de m'aider,
Yvou

Hors ligne

#149 Le 03/02/2012, à 23:10

titan77

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

salut,

@yvou

Je crois que tu peut oublier pour mon-ludo.fr .ça a l'air d'être du streaming,j'ai carrement écouter le reseau pour voir se que firefox envoyait et j'ai recuperé ceci,bon ça n'aide pas.sinon quand on navigue dans la vidéo et qu'on revient en arriere, il doit retélécharger le passage donc il ne garde rien en cache.mais je peut me trompé roll
sinon dommage qu'il manque le début de l'adresse de la video.on aurait pu trouvé une combine.et je n'ais pas trouvé non plus l'adresse dans le code source de la page.

...............getStreamLength.@..........cmp4:cappuccino/publication/geoloc/france-dom-tom/Autre/Autre/2012/S05/J3/277328_yakari_20110622.m.p4                 
  ...............play............cmp4:cappuccino/publication/geoloc/france-dom-tom/Autre/Autre/2012/S05/J3/277328_yakari_20110622.mp4


@caneton

caneton a écrit :

play flash 8  marche pas avec RUTUBE ?

je viens d'essayé avec copyflash  et sa fonctionne donc ça devrais fonctionner.

Dernière modification par titan77 (Le 03/02/2012, à 23:15)

#150 Le 04/02/2012, à 11:04

yvou

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

@titan77

Grâce à ton aide, j'ai pu télécharger cet épisode. En fait, j'ai pu le faire grâce à ton code et le logiciel rtmpdump. En m'inspirant d'une aide sur un autre forum, j'ai tapé ceci :
rtmpdump -r "rtmp://videozones-rtmp.francetv.fr/ondemand/mp4:cappuccino/publication/geoloc/france-dom-tom/Autre/Autre/2012/S05/J3/277328_yakari_20110622.mp4" -o Yakari.mp4
et ça a marché. C'est pourquoi il me reste à te demander comment tu as fait pour "écouter le réseau" et obtenir ce code :

...............getStreamLength.@..........cmp4:cappuccino/publication/geoloc/france-dom-tom/Autre/Autre/2012/S05/J3/277328_yakari_20110622.m.p4                 
  ...............play............cmp4:cappuccino/publication/geoloc/france-dom-tom/Autre/Autre/2012/S05/J3/277328_yakari_20110622.mp4


Je te remercie pour ton aide précieuse, et mes enfants aussi !
Bonne journée,
yvou

Hors ligne