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.

#26 Le 17/02/2011, à 18:03

lylambda

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

@ spad35 : Le concept d'Uzbl est pas mal du tout, je ne connaissais pas.
Par contre, possible qu'il n'utilise pas flash mais un plugin libre équivalent genre gnash. Si c'est le cas, il faut sans doute revoir le script en conséquence pour déterminer le PID correspondant (ex : remplacer "grep flash" par "grep gnash").
Quand tu visionne une vidéos sur Youtube (ou autre) avec Uzbl, que te dit un clic droit sur le plugin ?

@ ottakar : Comme toi, je n'ai pas trouver la ressource vidéo utilisé par le player d'Arte. Ce ne semble pas être un flux continu comme une télé en live, puisqu'on peut mettre en pause et revenir en arrière. Il y a donc stockage quelque part… mais où ? Pas dans le cache de Firefox en tout cas.

Hors ligne

#27 Le 18/02/2011, à 15:40

spad35

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

@lylambda

au temps pour moi.Il fallait chercher uzbl-core et pas uzbl (quel idiot!)

Après modification du script ça fonctionne parfaitement.J'ai ajouté un raccourci clavier dans la conf d'uzbl.Pour ceux que ça  intéresse:

# Open Flash in external player
@cbind  v  = spawn @scripts_dir/Flash-in-mplayer.sh

@ottakar
J'ai vu dans ton post des entrées vers .xsession.errors.J'ai fait l'essai sur player Arte et dans mon .xsession.errors j'ai:

** Message: console message: http://static1.dmcdn.net/js/gen/widget/pack/mandatory.js.v195fb07685573230 @1: 15:09:49 - (from site) - Reload Middle in 180sc (forced by OAS)

Bon j'suis pas sur que ça fasse avancer le chmilblick hmm

Sinon pour Arte il y a arte+7recorder qui est très bien dans les dépots

Hors ligne

#28 Le 20/02/2011, à 11:14

matovitch

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

Bonjour à tous ! smile

Merci pour ce script très pratique. Pour ce que cela intéresse je l'ai un peu modifié pour pouvoir regarder et enregistrer la vidéo en même temps.
Je pense que c'est très mal fait (c'est la première fois que j'utilise un script). Avis aux "pros". wink

#!/bin/bash
#########################################################################################################
# Description: Permet de regarder une video flash dans vlc plutôt que dans le navigateur                #
# et de l'enregistrer                                                                                   #
# Dépendances: grep; zenity; awk; vlc;                                                                  #
# Auteurs: Baz00; Adapté par Edouard ( http://www.inouire.net/ );                                       #
#          Amélioré par Mathieu147; Retouché par lylambda; Modifié par matovitch                        #
# Version: 0.5                                                                                          #
# Licence: gpl                                                                                          #
# http://wavemaker.free.fr/index.php/post/Script-Bash-pour-ouvrir-les-vidéos-Flash-dans-VLC             #
#########################################################################################################

PLAYER="vlc"
# Nom du player à utiliser.
NPROCESS=$(ps aux | grep flash | grep -v "grep" | awk '{print $2}')
# Numéro du processus Flash 
FICHIER=$(cd /proc/$NPROCESS/fd && ls -la  | grep Flash | awk '{print $8}' && cd)
# Liste les fichiers vidéos
NBRE_FICHIER=$(echo $FICHIER | wc -w)
# Compte le nombre de fichier vidéos.
PROCESSPID=$(pgrep $PLAYER)
# Recupère le PID du processus du player.

    if [ "$PROCESSPID" != "" ]; then
        # Si un ou plusieurs processus existe alors on le(s) tue.
        kill $PROCESSPID && echo "Stop $PLAYER (PID: $PROCESSPID)"
    fi

    if [ "$NBRE_FICHIER" == "0" ]; then
              zenity --info --title="Erreur" --text="Aucune vidéo trouvée."
        exit 0;
        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 du film à lancer' --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 choisi
            exit 0;
        fi
            LIRE=$video_a_regarder
    else
        LIRE=$FICHIER
    fi

    $PLAYER /proc/$NPROCESS/fd/$LIRE
            sleep 1
    TEST=$(stat -L /proc/$NPROCESS/fd/$LIRE|grep Access|cut -d ":" -f 4)
    MEM="0"
    
    while [ $TEST != $MEM ]
    do
        sleep 1
        MEM=$TEST
        TEST=$(stat -L /proc/$NPROCESS/fd/$LIRE|grep Access|cut -d ":" -f 4)
        echo $TEST $MEM
    done

    NOM_BIDON=$(stat -c '%N' /proc/$NPROCESS/fd/$FICHIER | awk '{print $3}'| cut -d"/" -f3)
    cp /proc/$NPROCESS/fd/$LIRE ~/Vidéos/; mv ~/Vidéos/$LIRE ~/Vidéos/$NOM_BIDON

    zenity --question --title="Sauvegarde" --text="La vidéo s'est sauvegardée correctement.Souhaitez-vous la conserver ? "
    if [ $? = "0" ]
    then
       NOM=$(zenity --entry --title="Titre de la vidéo" --entry-text="")
        if [ $? = "0" ]
        then
            mv  ~/Vidéos/$NOM_BIDON  ~/Vidéos/$NOM
        else
            zenity --info --title="Information" --text="La vidéo est toujours sauvegardée sous le nom : $NOM_BIDON"
        fi
    else
        rm -f ~/Vidéos/$NOM_BIDON
        zenity --info --title="Supression" --text="La vidéo a été supprimée."
    fi

exit 0

Si vous voulez conserver la vidéo, il vous faudra aller dans le répertoire pour changer de nom, car il n'y a pas 36000 numéros de processus (au moins ça limite l'encombrement).
Sinon vous pouvez aussi rajouter $RANDOM à la fin (et j'admirerai votre foi big_smile) ou vous pouvez adapter...

Normalement ça doit marcher à peu près partout.

Dernière modification par matovitch (Le 22/02/2011, à 23:24)

Hors ligne

#29 Le 20/02/2011, à 15:32

lylambda

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

@ spad35 : Par curiosité, où indiques-tu "uzbl-core" ? À la place de "flash" ? Si c'est le cas, cela veut dire que c'est uzbl lui-même qui lit la vidéo flash, sans passer par un plugin proprio ?

@ ottakar : Sur cette page web, se trouve une vidéo incrustée venant du site d'Arte (celle actuellement en homepage). Et là (ho, magie de l'informatique !), le script est capable de la lancer dans vlc. Il y a sans doute une piste à suivre.

@ matovitch : J'avais déjà bricolé un script copiant uniquement les vidéos. Si ça peut-être utile, je l'ai mis à dispo ici. Par contre, je ne suis pas plus pro que toi… je bricole le bash depuis une ou deux semaines ;-) .
En tout cas, pour que la vidéo ne soit pas copiée en ayant pour nom le numéros de processus, tu peux remplacer

cp /proc/$NPROCESS/fd/$LIRE $PWD/Vidéos/

par

renommer=$(stat -c '%N' /proc/$NPROCESS/fd/$FICHIER | awk '{print $3}'| cut -d"/" -f3)
cp /proc/$NPROCESS/fd/$LIRE $PWD/Vidéos/; mv $PWD/Vidéos/$LIRE $PWD/Vidéos/$renommer

La variable "$renommer" va prendre le nom de type "FlashXXX" sous laquelle la vidéo est mise en cache et mv renommera tout simplement ce que tu auras copié précédemment.
Sinon, question de débutant, la variable $PWD est équivalente à ~ (= /home/[USER] ) ?

Dernière modification par lylambda (Le 20/02/2011, à 15:37)

Hors ligne

#30 Le 20/02/2011, à 16:06

matovitch

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

Merci pour la modification, je l'essaie tout de suite.
Sinon, je pense que le script marche que pour vlc à cause du test effectué dans la boucle while. (ça doit marcher partout)
Pour ton script, je l'avais regardé, mais il faut attendre que la vidéo soit chargée.
Je vais essayer d'améliorer tout ça en regardant la taille du fichier par exemple...c'est fait : cf mon message précédent.

ps : pour $PWD c'est bien ça. wink

Merci à spa35 pour les infos ! smile

Dernière modification par matovitch (Le 21/02/2011, à 19:17)

Hors ligne

#31 Le 20/02/2011, à 18:28

spad35

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

@lylambda : le processus firefox affiche cette entrée :

5536  2.2  5.2 227700 46892 ?        Sl   17:24   0:44 /usr/lib/firefox-3.6.13/plugin-container 
/usr/lib/adobe-flashplugin/libflashplayer.so 4961 plugin true

Mais les autres navigateurs ne l'affichent pas évidement - exemples -:

patrick@msiS271:/proc/2583/fd$ ps aux | grep arora
patrick   4497 23.8 18.6 559524 166676 ?       Sl   17:01   0:15 arora
patrick   4573  0.0  0.0   4016   740 pts/0    S+   17:02   0:00 grep arora
patrick@msiS271:/proc/2583/fd$ ps aux | grep epiphany
patrick   4596 19.4  9.0 373732 81492 ?        Sl   17:03   0:13 epiphany-browser
patrick   4706  0.0  0.0   4016   740 pts/0    S+   17:04   0:00 grep epiphany

Donc impossible de faire un « ps aux | grep flash » Il faut remplacer flash par le nom du navigateur qu'on utilise
Après flash est bien utilisé (ce serait trop beau ! )
On retrouve bien le fichier "Flashxxxxxxx (deleted)" dans /proc/[PID]/fd/

pour info : $PWD affiche le répertoire courant

patrick@msiS271:/proc/4957/fd$ pwd
/proc/4957/fd

Hors ligne

#32 Le 21/02/2011, à 08:10

Mathieu147

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

Si ça peut vous aider à trouver une vidéo, cette commande:

find / -not -path '/sys*' -not -path '/dev*' -mmin -5

permet de trouver tous les fichiers modifiés depuis 5 minutes (en excluant les répertoires /sys et /dev).

Donc en allant sur un site lancer la vidéo, puis en lançant cette commande, à mon avis il devrait y avoir moyen de retrouver la vidéo dans le tas.

EDIT: je viens d'essayer cette commande sur un Mac OS X, et ça fonctionne, mais ça ne m'a pas listé la vidéo…

Dernière modification par Mathieu147 (Le 21/02/2011, à 08:37)


Pffff…

Hors ligne

#33 Le 21/02/2011, à 15:02

lylambda

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

@ matovitch :

Sinon, je pense que le script marche que pour vlc à cause du test effectué dans la boucle while.

C'est pour ça qu'il y a la variable "PLAYER", il te suffit de remplacer vlc par la commande de ton choix.

Sinon, deux petites questions :
- Quel est l'intérêt de remplacer "~" par "/home/$USERNAME" (ou "$PWD" dans certain cas) ?
- Ta boucle "while [ $TEST != $MEM ]", c'est bien pour demander au script d'attendre la fin de la mise en tampon de la vidéo ? /me Va vite l'intégrer à son propre script de copie ;-) .


@ spad35 : Merci pour les infos ! $PWD pourra m'être bien utile à l'avenir.
Sinon j'utilisais "grep flash" au lieu de "grep firefox" pour limiter le nombre de retours inutiles. Je pensais bêtement que l'utilisation de flash dans n'importe quel navigateur faisait forcement apparaitre une ligne du type

/usr/lib/[NAVIGATEUR]/plugin-container /usr/lib/adobe-flashplugin/libflashplayer.so

Ça limite le script à firefox par défaut, ou il faut comme toi mettre un peu la main à la pâte.


@ Mathieu147 : Au lieu de find / -not -path '/sys*' -not -path '/dev*', utiliser find /proc limiterais beaucoup plus le nombre de sortie, non ? En tout cas, passer par find me semple plus lourd qu'utiliser ps aux dans ce cas particulier.

Dernière modification par lylambda (Le 21/02/2011, à 15:04)

Hors ligne

#34 Le 21/02/2011, à 15:05

Mathieu147

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

lylambda a écrit :

@ Mathieu147 : Au lieu de find / -not -path '/sys*' -not -path '/dev*', utiliser find /proc limiterais beaucoup plus le nombre de sortie, non ? En tout cas, passer par find me semple plus lourd qu'utiliser ps aux dans ce cas particulier.

Je proposais cette commande pour retrouver où Flash enregistre les vidéos en cas de mise à jour future.


Pffff…

Hors ligne

#35 Le 21/02/2011, à 15:20

lylambda

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

Effectivement ! Cumulé avec une commande du genre

file -i * | grep video

pour lister les fichiers avec un type mime vidéo, cela peut faciliter les recherches.

Par contre si je ne me trompe pas, passer par /proc permet de pallier ces futures mise à jour, puisque on ne cherche plus les vidéos dans le dossier de cache (/tmp auparavant, .mozilla/firefox/XXX.default/Cache maintenant), mais en utilisant directement le processus flash.

Hors ligne

#36 Le 21/02/2011, à 19:03

matovitch

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

lylambda a écrit :

Sinon, deux petites questions :
- Quel est l'intérêt de remplacer "~" par "/home/$USERNAME" (ou "$PWD" dans certain cas) ?
- Ta boucle "while [ $TEST != $MEM ]", c'est bien pour demander au script d'attendre la fin de la mise en tampon de la vidéo ? /me Va vite l'intégrer à son propre script de copie ;-) .

Aucun intérêt,c'est juste que je n'y connais rien. big_smile (ça y est c'est modifié)
Pour la boucle c'est pas tout à fait ça, en fait je regarde le temps ou le lecteur a accédé au fichier, si ça bouge le lecteur lit encore, donc je continue à observer, sinon je sors de la boucle et je copie.
Au départ je voulais seulement regarder la taille du fichier, mais du moment où le lecteur lit le fichier, on ne peut plus accéder à cette donnée.

Dernière modification par matovitch (Le 21/02/2011, à 21:42)

Hors ligne

#37 Le 22/02/2011, à 19:58

lylambda

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

C'est bien vu smile !

Je pense que je vais m'en inspirer dans mon script de copie en ajoutant une boucle qui vérifie si la taille de la vidéo augmente ou non, puis de lancer la copie lorsque la taille reste identique. Par contre, ce type de boucle ne risque pas d'être CPUvore ?

De même, ajouter un message zenity lorsque la vidéos est copiée avec succès pourrait être un plus.

Dernière modification par lylambda (Le 22/02/2011, à 19:59)

Hors ligne

#38 Le 22/02/2011, à 21:22

matovitch

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

lylambda a écrit :

Je pense que je vais m'en inspirer dans mon script de copie en ajoutant une boucle qui vérifie si la taille de la vidéo augmente ou non, puis de lancer la copie lorsque la taille reste identique. Par contre, ce type de boucle ne risque pas d'être CPUvore ?

Si, c'est pour ça que je met sleep1...apparemment avec ça il reste toujours à 0% CPU.

ps :Pour le message c'est modifié (et même un peu plus).

Dernière modification par matovitch (Le 22/02/2011, à 23:26)

Hors ligne

#39 Le 23/02/2011, à 17:20

spad35

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

Dans l'idée de la reconnaissances des navigateurs j'ai pensé a rajouter en début du script :

#!/bin/bash

BROWSER=flash
#a remplacer par votre navigateur en cas de notification « navigateur inconnu »

    if  [[ -n $(pgrep firefox) ]]
 then
    NPROCESS=$(ps aux | grep $BROWSER | grep -v "grep" | awk '{print $2}')

    elif [[ -n $(pgrep midori) ]]
then
    NPROCESS=$(pgrep midori)
    
    elif [[ -n $(pgrep arora) ]]
then
    NPROCESS=$(pgrep arora)
else
    notify-send -t 1500  ::ERREUR:: "navigateur inconnu"

fi

PLAYER=mplayer
FICHIER=$(cd /proc/$NPROCESS/fd && ls -la  | grep Flash | awk '{print $8}' && cd)
# Liste les fichiers vidéos
NBRE_FICHIER=$(echo $FICHIER | wc -w)
# Compte le nombre de fichier vidéos.
PROCESSPID=$(pgrep $PLAYER)
# Recupère le PID du processus du player.

Là, j'ai mis arora et midori pour essai mais on pourrait mettre les navigateurs les plus utilisés et dans les autre cas il suffit de remplacer "BROWSER=flash" par le navigateur de son choix.

Et peut-être faire plus simple pour le choix que if...then...elif... ?

Hors ligne

#40 Le 24/02/2011, à 16:08

lylambda

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

@ spad35 : Vis à vis de ton code, si je comprends bien, tu regardes navigateur par navigateur si il y a un retour avec pgrep ?
Si c'est firefox, alors tu lances "ma" commande, sinon tu utilise ce que tu as obtenus avec pgrep ?

Dans ce cas, puisque pgrep renvois le bon n° de processus avec tout les navigateurs sauf firefox (À confirmer. firefox en renvois deux : firefox-bin et libflashplayer.so qui nous intéresse), autant déterminer le navigateur par défaut et utiliser pgrep sauf quand on obtient firefox.

if [[ -n $(cat ~/.local/share/applications/defaults.list | grep application/xhtml+xml | awk -F . '{print $1}' | cut -d"=" -f2) ]]; then
    BROWSER=$(cat ~/.local/share/applications/defaults.list | grep application/xhtml+xml | awk -F . '{print $1}' | cut -d"=" -f2)
else
    BROWSER=$(cat /etc/gnome/defaults.list | grep application/xhtml+xml | awk -F . '{print $1}' | cut -d"=" -f2)
fi
# Détermine le navigateur par défaut
if [[ $BROWSER=firefox ]]; then
    NPROCESS=$(ps aux | grep flash | grep -v "grep" | awk '{print $2}')
else
    NPROCESS=$(pgrep $BROWSER)
fi
# Indique comment déterminer le n° de processus selon le navigateur

Ce code à l'avantage de fonctionner quelque soit le navigateur, en déterminant celui par défaut, sans faire de liste exhaustive.
Par contre, il suppose que pgrep renvois le bon retour pour tout les navigateurs excepté firefox. Si une autre exception devient connue, il suffira de l'ajouter au script.
De plus, le navigateur par défaut est déterminé à l'aide des fichiers defaults.list (par ordre de priorité, celui présent dans le dossier perso avant /etc), mais un "locate" m'indique qu'il en existe deux autres dont je ne connais pas l'ordre de priorité par rapport aux précédent (/usr/share/applications/defaults.list et /usr/share/gnome/applications/defaults.list). Quelqu'un saurait ?

De la même manière, on peu déterminer le lecteur vidéo utilisé :

if [ -f ~/mailcap ]; then
    PLAYER=$(cat ~/mailcap | grep video/mpeg4 | grep DISPLAY | awk '{print $2}')
else)
    PLAYER=$(cat /etc/mailcap | grep video/mpeg4 | grep DISPLAY | awk '{print $2}')
fi
# Détermine le lecteur par défaut

Ici, j'utilise le fichier mailcap qui précise quel application est utilisé selon le type mime (video/mpeg4 dans notre cas). En effet, defaults.list m'indique que c'est Totem mon lecteur par défaut, alors que dans les faits, il est désinstallé et c'est VLC qui le remplace.

Ces deux codes pourraient rendre le script utilisable tel quel par tout le monde smile. J'éditerais le script du 1er message après vos différents avis sur la question.

D'un autre coté, j'ai aussi inclus des notifications (via notify-send) affichant des informations, comme :

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"

Cela donne ça :
Notify-OSD

À ce sujet spad35, tu utilise l'option  "-t 1500". Chez toi, ca réduit réellement la notification OSD à 1,5 seconde ? D'après la doc, Notify-OSD n'a pas encore implémenté cette option.


Enfin, @ matovitch : Effectivement le sleep évite les montée de CPU. Du coup, mon script de copie attend maintenant la fin du téléchargement tout en m'indiquant via les notifications, la taille en cours de ce qui est téléchargé, puis l'initiation de la copie.

taille_1=$(stat -Lc '%s' /proc/$NPROCESS/fd/$video_a_copier)
sleep 1
taille_2=$(stat -Lc '%s' /proc/$NPROCESS/fd/$video_a_copier)
while test $taille_1 -ne $taille_2
do
      taille_mo=$(($taille_2/10**6))
      notify-send -i clock "Copy-Flash" "\nAttente de la fin du téléchargement : $taille_mo Mo" &
      taille_1=$(stat -Lc '%s' /proc/$NPROCESS/fd/$video_a_copier)
      sleep 10
      taille_2=$(stat -Lc '%s' /proc/$NPROCESS/fd/$video_a_copier)
if test $taille_1 -eq $taille_2
then
break
fi

J'y ai aussi inclus le code pour déterminer le navigateur.
Si ça intéresse quelqu'un, le script de copie est récupérable ici.

Dernière modification par lylambda (Le 24/02/2011, à 16:34)

Hors ligne

#41 Le 24/02/2011, à 18:34

spad35

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

lylambda a écrit :

autant déterminer le navigateur par défaut et utiliser pgrep sauf quand on obtient firefox.

L'idée est intéressante mais il y a encore, je pense, des petits soucis ( attention j'essaye d'être constructif, hein,c'est pas juste pour chipoter  smile )

① personnellement, et je pense ne pas être le seul, j'aime utiliser plusieurs navigateurs. Par exemple je me sert de firefox pour les achats en ligne ou pour gérer mon compte bancaire car il me semble bien sécurisé et j'adore uzbl pour sa rapidité et sa navigation «tout-clavier».

② le fichier "~/.local/share/applications/defaults.list" n'existe pas chez moi et puis
"/etc/gnome/defaults.list " implique qu'on utilise Gnome. Quid des utilisateurs de XFCE ou de KDE  etc. ?

③ le fichier mailcap indique que j'utilise VLC ; tien, quelle drôle d'idée je ne l'utilise jamais chez moi VLC est tout buggué

notify-send c'est bien, ça économise un clic pour fermer la fenêtre de zénithy par contre comment affiche tu l'icône sans indiquer le chemin complet ?
Quand à l'option "-t 1500" ça ne marche pas chez moi pourtant c'est dans le "man". J'avais mis ça sur le compte des bizarreries suite aux mises à niveau

Hors ligne

#42 Le 24/02/2011, à 18:41

syruss2009

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

Salut à tous. Je lis les vidéos sans soucis avec vlc mais j'aimerais savoir s'il est possible d'enregistrer le fichier .flv sur mon disque merci.


Jeune linuxien gabonais
UBUNTU Lucid Lynx
Gateway LT20 Netbook/ Double cœur Intel® Atom™ processor N280-Intel® Atom™ processor N270 - 1 GB of DDR2 -160 GB hard disk drive

Hors ligne

#43 Le 25/02/2011, à 11:45

Poun64

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

Salut smile

syruss2009 a écrit :

Salut à tous. Je lis les vidéos sans soucis avec vlc mais j'aimerais savoir s'il est possible d'enregistrer le fichier .flv sur mon disque merci.

Ya une discussion sur le sujet, ici : http://forum.ubuntu-fr.org/viewtopic.php?id=442455
Regarde si tu y trouves ton bonheur...

tongue


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 10 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#44 Le 25/02/2011, à 12:50

syruss2009

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

Poun64 a écrit :

Salut smile

Ya une discussion sur le sujet, ici : http://forum.ubuntu-fr.org/viewtopic.php?id=442455
Regarde si tu y trouves ton bonheur...

tongue

ça marche nickel merci


Jeune linuxien gabonais
UBUNTU Lucid Lynx
Gateway LT20 Netbook/ Double cœur Intel® Atom™ processor N280-Intel® Atom™ processor N270 - 1 GB of DDR2 -160 GB hard disk drive

Hors ligne

#45 Le 25/02/2011, à 15:50

lylambda

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

@ syruss2009 : J'ai aussi mis un lien vers un script de copie à la fin de mon message précédent, le même que tu trouveras au bout de la discussion indiquée par Poun64.

@ spad35 : Tu as tout à fait raison. Je reprends tes points :

  1. Effectivement, la détection auto ne prend pas du tout en compte le mode multi-navigateur. Le problème est que le script ne peut bien fonctionner qu'avec un seul retour pour NPROCESS. De la même manière, ta méthode risque de bloquer dans ce mode, vu que le script prendra le processus indiqué en 1er dans la liste : firefox>midori>arora. Donc si tu as firefox de lancé mais que tu as la vidéo dans arora, le script te diras "Pas de vidéo". Dans ce cas, je serais partisan de garder un script simple avec la variable BROWSER a régler directement en mode texte selon les utilisateurs.

  2. Si "~/.local/share/applications/defaults.list" n'existe pas ou est incomplet, l'OS se tourne vers le fichier système. Évidement "/etc/gnome/defaults.list" ne doit être présent que pour Gnome… peut être que "/usr/share/applications/defaults.list" est plus universel ? Si un KDEiste ou XFCEien passe par là smile.

  3. Arf, mailcap n'est donc pas le bon fichier pour déterminer le lecteur par défaut. Dans ce cas, je me demandes où est déterminé le lecteur par défaut selon le type de vidéo. As-tu d'autre fichier mailcap ("locate mailcap" : je n'en ai qu'un dans /etc) ? Sinon, que te disent tes différents defaults.list pour les mimes video/* ? Sinon, retour aussi à la configuration manuelle de PLAYER.

Au sujet de notify-send, soit tu indiques un chemin complet vers ton icône, soit tu met juste un nom et il chercheras une correspondance dans /usr/share/icons et les sous-dossiers du thème actif (ou ~/.icons si existant). Le man de notify-send est à propos dans anciennes notifications (bulles accolées au systray). Depuis l'arrivée de Notify-OSD, certaines options n'ont toujours pas été implémentées, notamment -t (durée) et -u (niveau d'urgence).
Infos trouvées ici.

Dernière modification par lylambda (Le 25/02/2011, à 15:51)

Hors ligne

#46 Le 02/03/2011, à 01:47

lylambda

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

Premier message édité avec :

- "Mise à jour" en  Play-Flash_0-6.sh qui affiche les notifications OSD et utilise le compromis suivant

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 et uzbl-core. Erreur possible pour d'autres navigateurs.
    fi

- Ajout de Copy-Flash_0-4.sh, un script qui copie la vidéos sur le Bureau (par défaut, variable COPY_FOLDER modifiable) une fois la mise en cache terminée.
Edit : Ajout de l'amélioration de bece, lançant la copie dans /tmp si le dossier de copie renseigné n'existe pas.

Dernière modification par lylambda (Le 07/03/2011, à 18:42)

Hors ligne

#47 Le 13/03/2011, à 20:10

snipe2004

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

Superbe script! Hyper utile smile Merci à tous pour votre travail là-dessus smile

si je puis me permettre une suggestion... Ce serait de permettre de sélectionner toutes les vidéos en un clic big_smile

Enfin voilà, mes connaissances étant aussi proches de 0 que possible je ne sais pas le faire moi-même; donc je lance l'idée si quelqu'un la trouve intéressante smile


ACER NITRO V 515-54-75T7
i7-9750H @ 2,6 GHz x 12 + GTX 1660 Ti/PCIe/SSE2 6 Go (GDDR6)
NVMe 1 Tb, IPS 144 Hz

Hors ligne

#48 Le 14/03/2011, à 15:49

vega_dagraeyt-wuon

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

pourquoi se prendre la tête à faire un script ?
le plugin firefox downloadhelper le fait déjà très bien

Hors ligne

#49 Le 14/03/2011, à 23:09

lylambda

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

vega_dagraeyt-wuon a écrit :

le plugin firefox downloadhelper le fait déjà très bien

Oui, mais que pour la copie et que avec Firefox. Le script de copie disponible ici est aussi utilisable avec des navigateurs alternatifs.
De plus, le script de lecture à l'origine de ce sujet, permet de lire la vidéos flash directement dans le lecteur, ce que downloadhelper ne sait pas faire (du moins, lors de mon dernier test qui date un peu).
D'ailleurs, des deux scripts, ce dernier a ma préférence car il ne met pas en question les licences liées à certaines vidéos puisqu'il ne permet pas la conservation de la vidéo. Après, outils…, usage…, tout ça, c'est affaire de chacun. En tout cas, je me suis amusé à travailler dessus et rien que ça rend ces scripts utiles pour moi  smile.
__________

snipe2004 a écrit :

si je puis me permettre une suggestion... Ce serait de permettre de sélectionner toutes les vidéos en un clic

Puisque ce serait inutile dans la cas du script de lecture, je suppose que tu parles spécifiquement d'une option à ajouter au script de copie ? J'y avais un peu pensé. À première vu, ce n'est pas simple pour moi (euphémisme tongue) à mettre en place. Mais j'ai quelques pistes qui ne demandent qu'à être développées (tout avis est le bienvenus !) :

- Remplacement de --radiolist par --checklist dans la fenêtre zenity pour permettre la sélection multiple (facile)
- Organisation des vidéos choisis après une sélection multiple grâce à --separator='\n' au lieu de --separator=' ' (facile)
- Traitement (vérification et copie) successif de chacune des vidéos (gloups…)
Je n'ai pas trouver de moyen de le faire pour toutes en même temps. L'alternative serait de donner une variable à chaque vidéos, puis de les lancer dans la boucle de traitement chacune à leur tour. C'est plutôt lourd comme procédure hmm.

Dernière modification par lylambda (Le 14/03/2011, à 23:13)

Hors ligne

#50 Le 14/03/2011, à 23:15

Poun64

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

Salut smile !

Si tu lis le 1er post du topic, tu vas tout comprendre.

Au lieu de lire directement les vidéos avec Adobe-flashplugin (qui prend la tête à nos vieux processeurs), l'idée est de les lire avec un logiciel extérieur au navigateur (moins gourmand en ressources).
La lecture se fait pendant le téléchargement avec le script proposé.

Autre solution : les enregistrer pour les lire ensuite.
Là OK, downloadhelper fait le boulot sous Firefox.

tongue

EDIT : Oups grillé par maître lylambda !
... que je salue bien bas neutral

Dernière modification par Poun64 (Le 14/03/2011, à 23:20)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 10 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne