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) *** mise à jour 12/10/2014 ***

#176 Le 02/02/2013, à 00:02

pouchette

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

Qu'est ce que tu entends par changer la résolution des videos youtube pour les détecter ?

En ce qui concerne flash dans Firefox ou Chromium pas de pb pour Youbube il les lit sans pb, mais si ta question concerne le fait de faire jouer des videos youtube dans un lecteur externe (par le biais du script) pas encore essayé. Je vais tester pour voir ce qu'il en est.

Et je vais aller voir les sites pour Arte et autres.

Sinon Firefox a une petite extension tres sympa pour enregistrer les videos Youtube en plusieurs formats et en mp3 ;-)

https://addons.mozilla.org/fr/firefox/a … ownloader/

Sinon bonne idée de mettre awk '{print $9}') par défaut dans les scripts

Ah, une question.. Y a un truc que je n'ai pas compris :

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

Si on veut utiliser le script pour 2 browsers différents (firefox et chromium) que mettre dans BROWSER = ??

voili voili je te tiens au courant pour youtube :-)

Dernière modification par pouchette (Le 02/02/2013, à 00:10)


*o* Ubuntu Addict ! *o*

Hors ligne

#177 Le 02/02/2013, à 02:26

pouchette

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

Apparté : ça y est pour Ubuntu 12.04 ont apporté plein de mises à jour et un tout nouvo tout bo kernet, et enfin on peut streamer, ont résolu un certain nbr de pb pour lecture flash et video, mais bon flash bouffe qd mm trop de cpu :-p

Bon je viens de tester Youtube avec Play-Flash et en effet je confirme, faut changer la résolution (n'importe laquelle) sinon pas de détection de video.

Bizarre..

Suis nulle en script (connais pas les codes) mais peut-être est-ce un probleme de detection du processus flash -ou son No- (puisque je lis dans le script que c'est la façon dont une vidéo est détectée), et peut etre qu'en modifiant la resolution dans youtube alors du coup ça fait une bidouille dans les processus flash et que hop il apparaît, juste parce qu'on a modifié un truc qui était par défaut, qqch de genre en tout cas peut être !
Bref je réfléchis, mais suis sûre que c'est résolvable.

A Suivre..


*o* Ubuntu Addict ! *o*

Hors ligne

#178 Le 02/02/2013, à 12:52

lylambda

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

Si on veut utiliser le script pour 2 browsers différents (firefox et chromium) que mettre dans BROWSER = ??

Les scripts sont fait pour travailler avec un seul navigateur, dont le nom doit être y être spécifié.
J'avais tenter de mettre en place une détection automatique, mais cela n'a pas été probant. Quoique tu me donnes des idées : en passant par top et une liste, ce devrait être possible. Je vais y réfléchir.
Si tu veux utiliser un des scripts avec 2 navigateurs ouverts en même temps, il faut pour l'instant que tu utilises 2 versions chacun dévolu à un navigateur.
EDIT : Dans ton cas (firefox et/ou chromium), cela importe peu. Le script utilise le même code pour l'un comme pour l'autre. Il sera effectif, que tu utilises BROWSER=firefox ou BROWSER=chromium-browser pour chacun de ces navigateurs. Idem avec Iceweasel.

Merci pour ton retour sur les vidéos youtube smile ! Ce serait donc lié au nouveau kernel ?

Dernière modification par lylambda (Le 02/02/2013, à 13:50)

Hors ligne

#179 Le 02/02/2013, à 14:32

kleim

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

Bonjour,

Pour la copie de vidéos, j'utilise l'extension DownloadHelper. L'avantage c'est qu'on peut la coupler avec un accélérateur de téléchargement comme DownThemAll! et éviter le bridage de Free big_smile


Asus G51VX , LDLC Vulcain SM1-1-H25, BeagleBoard-xM sous Arch Linux.
Un ordinateur sans Windows, c'est comme un gâteau au chocolat sans moutarde.

Hors ligne

#180 Le 04/02/2013, à 20:12

lylambda

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

@kleim : C'est sûr que pour Firefox, DownloadHelper est idéal pour récupérer les vidéos flash. Pour les autres, il y a Master… euh le script Copy-Flash ;-)

@Tous : Concernant la détection automatique des variables (navigateur, lecteur vidéo et dossier de téléchargement), c'est apparement tout à fait faisable.
Mais j'ai trouvé 2 manières différentes de faire :

A- D'une part, je peux chercher ce qui est indiqué par défaut dans le système. Ainsi "${HOME}/.local/share/applications/mimeinfo.cache", me permettra de déterminer votre navigateur par défaut et de chercher les vidéos dans son flash-player. Plus besoin de l'indiquer, le script déterminera tout seul si vous utilisez Midori ou Firefox, pour s'adapter en conséquence. Par contre, si vous fonctionnez avec 2 navigateurs en parallèle, le script ne fonctionnera que pour l'un d'eux (celui par défaut).

B- D'autre part, je peux aussi faire en sorte que les scripts regardent si il existe un flash-player lancé pour chaque navigateur conteneur. L'avantage est qu'ils fonctionneront peu importe le navigateur, ou même si il y en a plusieurs en simultané. En contrepartie, je dois spécifier les navigateurs possibles pour les intégrer selon leurs comportements vis-à-vis de flash.
Pour l'instant ce devrait être fiable avec les navigateurs Firefox, Iceweasel et Chromium (comportement 1) et Midori, Arora et uzbl-core (comportement 2). Pour les autres (Konqueror, Rekonq,etc.) il faudrait que des testeurs se manifestent.

Bref, comme je ne compte pas maintenir 3 variante d'un même script, quelle voie privilégier ? La A, la B ou la Z (comme auparavant, spécifier les variables vous-même) ? Si vous voulez tester, voici Play-Flash modifié selon la méthode A et B. Votre retour est le bienvenu (en spécifiant votre navigateur et votre lecteur).
Merci !

Play-Flash 2.A

#!/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 2.A                                                                               #
# Licence: gpl                                                                                          #
# http://forum.ubuntu-fr.org/viewtopic.php?id=424080                                                    #
#########################################################################################################

###########Variables#############
## /!\ À remplacer si besoin.

# Lecteur vidéo par défaut.
PLAYER=$(cat ${HOME}/.local/share/applications/mimeinfo.cache | grep video/x-flv | cut -d= -f2 | cut -d. -f1)

# Navigateur à utiliser.
BROWSER=$(cat ${HOME}/.local/share/applications/mimeinfo.cache | grep x-scheme-handler/https | cut -d= -f2 | cut -d. -f1)

##
#################################

# 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 $9}')
        # 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

Play-Flash 2.B

#!/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 2.B                                                                               #
# Licence: gpl                                                                                          #
# http://forum.ubuntu-fr.org/viewtopic.php?id=424080                                                    #
#########################################################################################################

###########Variables#############
###
# Lecteur vidéo par défaut.
PLAYER=$(cat ${HOME}/.local/share/applications/mimeinfo.cache | grep video/x-flv | cut -d= -f2 | cut -d. -f1)

# N° du processus du Flash-player avec les navigateurs Firefox, Iceweasel et Chromium.
NPROCESS_1=$(ps aux | grep flashplayer.so | grep -v "grep" | awk '{print $2}')

# N° du processus du Flash-player avec les autres navigateurs. /!\ liste non-exaustive.
NPROCESS_2=$(pgrep 'midori|arora|uzbl-core|konqueror|rekonq')
###
#################################

###########Fonctions#############
###
# Fonction parcourant un processus pour trouver une vidéo.
FIND_VID () {
	# Liste les fichiers vidéos
	VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/Flash" | awk '{print $9}')
	# 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
}
###
#################################

# Si on a au moins un processus avec Firefox, Iceweasel ou Chromium, on le parcours jusqu'à trouver une vidéo.
if [[ "${NPROCESS_1}" ]]; then
NPROCESS=${NPROCESS_1}
	for PROC in ${NPROCESS};
	do
	FIND_VID ${PROC}
	done;

# Si on a pas de processus, on cherche dans celui d'un autre navigateur.
elif [[ "${NPROCESS_2}" ]]; then
NPROCESS=${NPROCESS_2}
	for PROC in ${NPROCESS};
	do
	FIND_VID ${PROC}
	done;

# Si on ne trouve aucun processus, on l'indique et on quitte.
else notify-send -i error "Play-Flash" "\nErreur : aucun processus Flash trouvé"
exit 1
fi

# si on a pas de vidéo, on l'indique et 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

Hors ligne

#181 Le 04/02/2013, à 20:59

pouchette

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

(lylambda) Réponses à question d'avant :

Je sais bien qu'il faut specifier le browser dans le script puisque je l'utilise (le script) !!!  tongue tongue

mais ma question était bien si je souhaite utiliser le script pour les 2 ffox et Chromium (mais pas simultanément) sans avoir à modifier le choix du browser dans le script.
Le script utilise peut etre le même code pour l'un comme pour l'autre mais je suppose qu'il s'exécute uniquement pour (depuis) le browser spécifié ?

[entre temps je vois que tu y as déjà réfléchi !!!]

Sinon, pour les vidéos youtube, comme je le disais, si on veut utiliser le script pour les visualiser dans lecteur externe : oui il faut en effet modif la résolution dans youtube (n'importe quelle résolution) et là, la vidéo est détectée et le script fonctionne.
Mais la video sur youtube qui est par défaut en mode 'auto' pour résolution, le script ne la détecte pas d'emblée.

Donc si pour des anciennes versions d'ubuntu y a pas ce pb alors c une question de version/kernel.

[apparté]
En tout cas lors de la sortie de la 12.04 rien ne marchait question vidéo, l'enfer ! pas d'accélération materielle, cpu à 100% et encore pire avec flash en stream.
Les pilotes de carte constructeur dispo dans les dépôts officiels pour les derniers ubuntu fonctionnent tres mal, il faut aller chercher les derniers sur leur site, les packager etc.. installer des pilotes xvga pour accélération et j'en passe etc..

Là ils ont amélioré xorg x11 et tout un tas de gestions de périf, et ça va bcp mieux.
Si ce n'est que j'avais deja tout bidouillé et donc trouvé des solutions de contournement ]

Now (apres mises à jours + nouvo kernel) flash consomme moins de cpu mais c pas encore ça, donc là encore le script reste une bénédiction malgré les améliorations !!

Je vais me faire une joie de tester tes dernières modif !

Pour moi la 2B est plus avantageuse, mais ça veut dire quoi " comportement 1 / 2 " ??

Dernière modification par pouchette (Le 04/02/2013, à 21:23)


*o* Ubuntu Addict ! *o*

Hors ligne

#182 Le 04/02/2013, à 21:19

pouchette

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

Sinon, concernant Youtube video non détectées sauf si changement de résolution

j'ai remarqué des petites choses

1) avec ffox, sur une page de video Youtube, on a accès clic droit sur la vidéo, à un menu dont "info sur la vidéo"
ce qui n'est pas le cas d'une vidéo genre putlucker (où l'on a accès qu'aux param flash)
> donc chez youtube pas le mm systeme d'incrustation de vidéo dans la page ce qui semble etre la source du pb (voir aussi 'info sur la page' et 'code source de la page').

2) voici une remarque tt à fait interessante dans les processus (pas avec top mais depuis moniteur systèm)

ici : propriétés de plugin container ffox AVANT changement de résolution :

proc-plug-yu-avt.png

>> FD 22 n'apparaît pas : processus flash non détecté

ici :  propriétés de plugin container ffox APRES changement de résolution :

proc-plug-yu-reso.png

FD 22 apparaît, flash détecté /tmp/flash

... si ça peut faire avancer le shmilblik youtube  roll

Dernière modification par pouchette (Le 04/02/2013, à 21:28)


*o* Ubuntu Addict ! *o*

Hors ligne

#183 Le 04/02/2013, à 22:21

lylambda

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

Pour moi la 2B est plus avantageuse, mais ça veut dire quoi " comportement 1 / 2 " ?

En gros, concernant la gestion de flash, il y a 2 types de navigateurs qui utilise chacun une méthode. D'un coté firefox et ses dérivés, ainsi que chromium qui ouvre un processus flash à part ; de l'autre, tout les autres (pour ceux qui ont été déjà testé) intègrent flash dans leur propre processus.
Du coup, le script version 1 doit connaître le navigateur pour savoir quel comportement utiliser pour trouver la/les vidéos.
Dans ton cas d'utilisation couplée firefox+chromium ça marcherait à tout les coup en ne spécifiant que l'un d'eux en variable (car même comportement), mais pas si tu faisais firefox+midori (comportement différent).

La 2.B règle ce problème en testant les deux comportements successivement, pour peu que le navigateur soit listé. Pour l'instant cela marche avec chromium, firefox (et dérivés), Midori, Arora et uzbl-core. J'ai aussi intégré Konqueror et Rekonq sans garantie de succès (pas testé).
Ce script a aussi l'avantage d'utiliser le lecteur vidéo par défaut sans avoir besoin de le spécifier.

Pour Youtube, le changement de résolution dans le flash-player donne l’accès à la vidéos flash. Sinon elle reste invisible (comme tu l'as remarqué de manière graphique).
Cela se voit plus facilement avec la commande suivante (valable pour firefox et chromium) :

ls -la "/proc/$(ps aux | grep flashplayer.so | grep -v "grep" | awk '{print $2}')/fd"

On observe l'apparition d'une ligne similaire à la suivante après le changement de résolution :

lrwx------ 1 lylambda lylambda 64 févr.  4 21:47 26 -> /tmp/FlashXXqGAqBN (deleted)

Le problème, c'est que je ne vois pas comment changer la résolution, ou tout autre manip, via le script pour faire apparaître cette ligne.  hmm

Enfin, il t'est déjà utile à toi comme à d'autre et c'est l’essentiel smile

Dernière modification par lylambda (Le 04/02/2013, à 22:24)

Hors ligne

#184 Le 07/02/2013, à 20:45

grandtoubab

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

Bonjour,
En effet cela dépends du site, certains ne "planquent" pas la video dans fd/tmp/flash....mais où alors? mystère

j'ai essayé d'adapter le script avec chromium-browser utilisant flashpepper

1ere modif le plugin s'appelle libpepflashplayer.so
NPROCESS=$(ps aux | grep libpepflashplayer.so | grep -v "grep" | awk '{print $2}')

ce qui me donne une liste ce qui provoque peut-etre l'erreur pour vlc

@ubuntu-desktop:~$ ps aux | grep libpepflashplayer.so | grep -v "grep" | awk '{print $2}'
30566
30570
30571
30572
30576
30638
30666
30677
30684
30772
32735
32766

2eme modif les flash sont planqués dans /var/tmp
VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/var/tmp/" | awk '{print $9}')
ensuite cela m'affiche une liste
1360265968.png

je choisi le n°112 mais le passage dans VLC ne se fait pas

++ flashnom=
++ notify-send -i vlc Play-Flash '\nLecture de la vidéo  dans vlc'
++ vlc /proc/30566 30570 30571 30572 30576 30638 30666 30677 30684 30772 31665 31741/fd/112
VLC media player 2.0.5 Twoflower (revision 2.0.5-0-g1661b7d)
[0x9770908] main libvlc: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface.

j'ai atteinds mes limites en code, je ne sais pas modifier yikes

Voici la structure de la listesi je tape la commande  ls -la /proc/30566/fd

rwx------ 1 toto root 64 févr.  7 19:28 112 -> /var/tmp/etilqs_2NoDGcamV1O2YjY (deleted)

Dernière modification par grandtoubab (Le 07/02/2013, à 20:56)


Linux tout seul sur le disque dur  Acer Aspire T650 :=))
RAM: 1,7 Gio, CPU: Intel® Pentium(R) 4 CPU 3.06GHz × 2. Carte graphique Gallium 0.4 on ATI RC410 (Radeon Xpress200)
Partition 1: Debian Jessie & Gnome Version 3.12, Kernel  3.16.3-031603-generic
Partition 2: Ubuntu Trusty 14.04 & Unity

Hors ligne

#185 Le 07/02/2013, à 21:49

lylambda

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

@ grandtoubab :
La 1ère modif me semble pas utile puisque "grep flashplayer.so" te renverra la même chose que "grep libpepflashplayer.so".
Par contre le nombre de processus relevé me semble trop élevé. Pour en savoir plus, il faudrait un retour sur la commande sans la partie avec awk.

Ensuite, tu trouves aussi beaucoup de vidéos, ce qui laisse supposé que cela n'en est pas. "etilqs_2NoDGcamV1O2YjY" est vraiment une vidéo ? Que te donne ls -la "/proc/XXXX}/fd" ?

Hors ligne

#186 Le 08/02/2013, à 13:37

grandtoubab

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

lylambda a écrit :

@ grandtoubab :
La 1ère modif me semble pas utile puisque "grep flashplayer.so" te renverra la même chose que "grep libpepflashplayer.so".
Par contre le nombre de processus relevé me semble trop élevé. Pour en savoir plus, il faudrait un retour sur la commande sans la partie avec awk.

Ensuite, tu trouves aussi beaucoup de vidéos, ce qui laisse supposé que cela n'en est pas. "etilqs_2NoDGcamV1O2YjY" est vraiment une vidéo ? Que te donne ls -la "/proc/XXXX}/fd" ?

@ubuntu-desktop:~$ ps aux | grep libpepflashplayer.so | grep -v "grep"
g      27172  7.0  4.5 478928 81944 ?        SLl  13:18   1:05 /usr/lib/chromium-browser/chromium-browser --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138
g      27176  0.0  0.2 109580  5188 ?        S    13:18   0:00 /usr/lib/chromium-browser/chromium-browser --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138
g      27177  0.0  0.0   2252   316 ?        S    13:18   0:00 /usr/lib/chromium-browser/chromium-browser-sandbox /usr/lib/chromium-browser/chromium-browser --type=zygote --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138
g      27178  0.0  0.6 133700 12372 ?        S    13:18   0:00 /usr/lib/chromium-browser/chromium-browser --type=zygote --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138
g      27182  0.0  0.2 141896  4640 ?        S    13:18   0:00 /usr/lib/chromium-browser/chromium-browser --type=zygote --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138
g      27238  1.4  3.4 222772 61572 ?        Sl   13:18   0:13 /usr/lib/chromium-browser/chromium-browser --type=renderer --lang=fr --force-fieldtrials=ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/3/OneClickSignIn/BlueOnWhite/Prefetch/ContentPrefetchPrefetchOn/Prerender/PrerenderControl/SBInterstitial/V2/SpdyCwnd/cwnd16/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_99/UMA-Uniformity-Trial-10-Percent/group_09/UMA-Uniformity-Trial-20-Percent/group_04/UMA-Uniformity-Trial-5-Percent/group_01/UMA-Uniformity-Trial-50-Percent/default/WarmSocketImpact/warmest_socket/ --extension-process --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138 --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=27172.2.1217723718
g      27273  0.0  1.3 179572 24232 ?        Sl   13:18   0:00 /usr/lib/chromium-browser/chromium-browser --type=renderer --lang=fr --force-fieldtrials=ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/3/OneClickSignIn/BlueOnWhite/Prefetch/ContentPrefetchPrefetchOn/Prerender/PrerenderControl/SBInterstitial/V2/SpdyCwnd/cwnd16/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_99/UMA-Uniformity-Trial-10-Percent/group_09/UMA-Uniformity-Trial-20-Percent/group_04/UMA-Uniformity-Trial-5-Percent/group_01/UMA-Uniformity-Trial-50-Percent/default/WarmSocketImpact/warmest_socket/ --extension-process --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138 --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=27172.3.727786460
g      27280  0.3  2.0 189936 36524 ?        Sl   13:18   0:03 /usr/lib/chromium-browser/chromium-browser --type=renderer --lang=fr --force-fieldtrials=CacheSensitivityAnalysis/No/ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/3/OneClickSignIn/BlueOnWhite/Prefetch/ContentPrefetchPrefetchOn/Prerender/PrerenderControl/SBInterstitial/V2/SpdyCwnd/cwnd16/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_99/UMA-Uniformity-Trial-10-Percent/group_09/UMA-Uniformity-Trial-20-Percent/group_04/UMA-Uniformity-Trial-5-Percent/group_01/UMA-Uniformity-Trial-50-Percent/default/WarmSocketImpact/warmest_socket/ --extension-process --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138 --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=27172.4.896497203
g      27291  0.0  1.2 179572 23172 ?        Sl   13:18   0:00 /usr/lib/chromium-browser/chromium-browser --type=renderer --lang=fr --force-fieldtrials=CacheSensitivityAnalysis/No/ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/3/OneClickSignIn/BlueOnWhite/Prefetch/ContentPrefetchPrefetchOn/Prerender/PrerenderControl/SBInterstitial/V2/SpdyCwnd/cwnd16/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_99/UMA-Uniformity-Trial-10-Percent/group_09/UMA-Uniformity-Trial-20-Percent/group_04/UMA-Uniformity-Trial-5-Percent/group_01/UMA-Uniformity-Trial-50-Percent/default/WarmSocketImpact/warmest_socket/ --extension-process --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138 --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=27172.5.90485364
g      27352  2.0  2.6 202448 46888 ?        Sl   13:18   0:19 /usr/lib/chromium-browser/chromium-browser --type=renderer --lang=fr --force-fieldtrials=CacheSensitivityAnalysis/No/ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/3/OneClickSignIn/BlueOnWhite/Prefetch/ContentPrefetchPrefetchOn/Prerender/PrerenderControl/SBInterstitial/V2/SpdyCwnd/cwnd16/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_99/UMA-Uniformity-Trial-10-Percent/group_09/UMA-Uniformity-Trial-20-Percent/group_04/UMA-Uniformity-Trial-5-Percent/group_01/UMA-Uniformity-Trial-50-Percent/default/WarmSocketImpact/warmest_socket/ --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138 --disable-webgl --disable-pepper-3d-for-untrusted-use --disable-gl-multisampling --disable-accelerated-compositing --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=27172.7.1126151897
g      27410  4.7  3.7 226300 67820 ?        SNl  13:20   0:37 /usr/lib/chromium-browser/chromium-browser --type=renderer --lang=fr --force-fieldtrials=CacheSensitivityAnalysis/No/ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/3/OneClickSignIn/BlueOnWhite/Prefetch/ContentPrefetchPrefetchOn/Prerender/PrerenderControl/SBInterstitial/V2/SpdyCwnd/cwnd16/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_99/UMA-Uniformity-Trial-10-Percent/group_09/UMA-Uniformity-Trial-20-Percent/group_04/UMA-Uniformity-Trial-5-Percent/group_01/UMA-Uniformity-Trial-50-Percent/default/WarmSocketImpact/warmest_socket/ --ppapi-flash-path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=11.5.31.138 --disable-webgl --disable-pepper-3d-for-untrusted-use --disable-gl-multisampling --disable-accelerated-compositing --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=27172.13.1314288759

j'ai considéré que ces noms "tartignoles" sont des videos mais probable que tu as raison ça doit pas en etre en tout cas c'est vraiment deleter de /var/tmp

@ubuntu-desktop:~$ ls -la /proc/27172/fd | grep tmp
lrwx------ 1 g root 64 févr.  8 13:18 115 -> /var/tmp/etilqs_KQLLOAc5KdU0mzz (deleted)
lrwx------ 1 g root 64 févr.  8 13:18 124 -> /var/tmp/etilqs_5uiuLHQBSLqj1Sq (deleted)
lrwx------ 1 g root 64 févr.  8 13:19 138 -> /var/tmp/etilqs_OpJ3FNgB220JdG0 (deleted)
lrwx------ 1 g root 64 févr.  8 13:18 45 -> /var/tmp/etilqs_XVv1iieRnkMtyx0 (deleted)
lrwx------ 1 g root 64 févr.  8 13:18 46 -> /var/tmp/etilqs_Eq2LaXJKLVm4sgw (deleted)
lrwx------ 1 g root 64 févr.  8 13:18 47 -> /var/tmp/etilqs_xc0mLcJwcvgYeWg (deleted)
lrwx------ 1 g root 64 févr.  8 13:18 49 -> /var/tmp/etilqs_HDZfFZDxzmzUBzl (deleted)
lrwx------ 1 g root 64 févr.  8 13:18 50 -> /var/tmp/etilqs_IsWPtj0yKHnwyLg (deleted)
lrwx------ 1 g root 64 févr.  8 13:18 51 -> /var/tmp/etilqs_QvBCwe9Ngs8N19I (deleted)
@ubuntu-desktop:~$ ls /var/tmp
@ubuntu-desktop:~$

Dernière modification par grandtoubab (Le 08/02/2013, à 13:38)


Linux tout seul sur le disque dur  Acer Aspire T650 :=))
RAM: 1,7 Gio, CPU: Intel® Pentium(R) 4 CPU 3.06GHz × 2. Carte graphique Gallium 0.4 on ATI RC410 (Radeon Xpress200)
Partition 1: Debian Jessie & Gnome Version 3.12, Kernel  3.16.3-031603-generic
Partition 2: Ubuntu Trusty 14.04 & Unity

Hors ligne

#187 Le 08/02/2013, à 14:10

lylambda

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

Pour le premier retour, il y a trop de processus flash relevé. Et on a pas vraiment de moyen de savoir si l'un d'eux est le bon… En tout cas, aucune ligne n'est parfaitement semblable à la bonne obtenu avec le flash classique et firefox.

lylambda  4013  5.6  1.4 758688 120352 ?       Sl   13:44   0:29 /usr/lib/firefox/plugin-container /usr/lib/flashplugin-installer/libflashplayer.so -greomni /usr/lib/firefox/omni.ja 3119 true plugin

En supposant que l'un de ces processus soit le bon, le script est capable de se débrouiller en les testant tous. Mais bon, ce n'est pas l'idéal et il faudrait les tester tous pour être sûr, voir vérifier dans tout "ps aux" et remplacer "grep flashplayer.so" par autre chose. Passons.

As-tu testé seulement le 1er processus (27172), ou est-ce le seul à te renvoyer un contenu intéressant ? En tout cas, si

vlc /proc/XXX/fd/YYY

ne lance pas de vidéo (avec XXX = N° processus flash = 27172 dans l'exemple ; YYY = N° processus vidéo = 115 ou 124 ou etc dans l'exemple), alors soit aucun n'est une vidéo, soit c'est crypté en plusieurs fragments.

Il faudrait tester avec un le navigateur tout juste lancé sans onglets, puis avec juste une vidéo, pour voir les lignes qui apparaissent et adapter le script en conséquence.
Dans tout les cas, il semble évident que ton plugin flash n'a pas le même comportement que celui par défaut. Du coup, le script n'est pas adapté.

Hors ligne

#188 Le 26/02/2013, à 23:24

p4kp4k

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

Salut,

j'ai testé les scripts 1.0 et 2A et 2B, ça ne semble pas fonctionner avec Rutube.
En fait j'ai rien trouvé qui marche (d'habitude je le faisais avec ps aux | grep flash à la main).
les plugins de firefox, Clipgrab, youtube-dl
Si quelqu'un a une idée pour retrouver la trace de la vidéo je suis preneur smile
Sur les scripts 2A et 2B j'ai toujours l'erreur suivante :

cat: /home/paco/.local/share/applications/mimeinfo.cache: Aucun fichier ou dossier de ce type

(Xubuntu 12.04)

Dernière modification par p4kp4k (Le 26/02/2013, à 23:24)

Hors ligne

#189 Le 27/02/2013, à 15:37

lylambda

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

Pour Rutube, je confirme. Si cela ne marche avec aucun scripts ou pluguin, c'est que les vidéos sont probablement protégées hmm
Je te recommande de faire une analyse de la page, pour retrouver le flux vidéo initial.

Pour l'erreur, c'est ballot… Apparemment Xubuntu n'utilise pas les même fichiers de logiciels par défaut que Ubuntu :-(
Si c'est le cas pour ces 2 distrib sœurs, ça doit être encore plus différents lorsque le "lien de parenté" s'éloigne…
Je vais sans doute en rester à la bonne vieille version manuelle du script, la 1.0
Et puis, de toute façon, les version 2 n'ont pas vraiment intéressé la clientèle tongue

Hors ligne

#190 Le 27/02/2013, à 19:36

p4kp4k

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

Ok, ca marche pour les scripts 2.0
merci pour l'idée, il y avait effectivement l'adresse du flux dans le code source de la page,
je vais voir si je peux l'ouvrir avec VLC ou trouver un truc pour le capter.

Hors ligne

#191 Le 13/05/2013, à 19:07

Gacko

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

Bizarre, bizarre, étant passé à Ubuntu 12.04 j'ai installé la dernière version de copy-flash et maintenant il faut attendre que la vidéo soit complètement téléchargée pour lancer le script sinon on n'a qu'une partie d'enregistrée...


Xubuntu 14.04 sur bon vieux Intel dual core à 3GHz avec 3Go de ram + Windows 7 en dual boot.
Pas geek, ni Bac + 15 en informatique je rêve du truc qui n'existera jamais, un OS simple, simple, simple et fiable !

Hors ligne

#192 Le 14/05/2013, à 23:18

le-peyo

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

Holà;

Le PlayFlash marche bien mais pas le CopyFlash, il me donne ça en console

/home/peyo/Bureau/copy flash.sh: line 57: notify-send : commande introuvable
stat: impossible d'évaluer «/proc/6533/fd/->»: Aucun fichier ou dossier de ce type
/home/peyo/Bureau/copy flash.sh: line 62: notify-send : commande introuvable
stat: impossible d'évaluer «/proc/6533/fd/->»: Aucun fichier ou dossier de ce type

Je suis sur une 10.04 alors ça vient peut-être de là...

Un grand merci.

À plus.


Packard Bell EasyNote TR 85
Ubuntu 10.04 LTS
Voyager 12.04 LTS 32bits 64bits

Hors ligne

#193 Le 15/05/2013, à 10:25

Gacko

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

Regarde le premier post, comme tu es sur la 10.04 il est nécessaire de modifier une ligne dans le script et c'est peut être de là que vient ton problème.

5. Dans certain cas (version Ubuntu antérieur à 12.04), une gestion spécifique du format de la date rend les scripts inopérants. Il est alors nécessaire de changer la ligne

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

par

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


Xubuntu 14.04 sur bon vieux Intel dual core à 3GHz avec 3Go de ram + Windows 7 en dual boot.
Pas geek, ni Bac + 15 en informatique je rêve du truc qui n'existera jamais, un OS simple, simple, simple et fiable !

Hors ligne

#194 Le 15/05/2013, à 11:52

le-peyo

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

Holà, je viens de m'en rendre compte,

MERCI BEAUCOUP !

smile


Packard Bell EasyNote TR 85
Ubuntu 10.04 LTS
Voyager 12.04 LTS 32bits 64bits

Hors ligne

#195 Le 16/05/2013, à 15:12

lylambda

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

Bizarre, bizarre, étant passé à Ubuntu 12.04 j'ai installé la dernière version de copy-flash et maintenant il faut attendre que la vidéo soit complètement téléchargée pour lancer le script sinon on n'a qu'une partie d'enregistrée...

Bizare, comme tu dis… La boucle de vérification devrait empécher la copie tant que la mise en cache n'est pas terminée. Je vérifierais sur ma partition avec la 12.04, mais il ne me semble pas avoir ce problême.
As-tu bien la version 1.1 du script (cf 1er post) ? Si oui, essais peut être d'augmenter le temps d'attente dans la boucle en remplaçant "sleep 3" par "sleep 6".

Regarde le premier post, comme tu es sur la 10.04 il est nécessaire de modifier une ligne dans le script et c'est peut être de là que vient ton problème.

Rien à ajouter, tu as tout dit, Gacko smile

Hors ligne

#196 Le 19/05/2013, à 12:08

le-peyo

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

Holà,

bon le copy-flash marche mais pas très bien... Au premier lancement le script m'affiche le "notify" et attend le chargement du cache (normal, quoi !) mais aux coups suivants il ne copie que ce qui a été chargé temporairement par le lecteur flash (il faut attendre la fin du téléchargement avant de lancer la copie) et le notify ne s'affiche plus... sad  sauf en rajoutant l'option "notify-send -u critical" ; mais là l'affichage dure longtemps...
Il ne me trouve qu'une seule vidéo à la fois et de me demande jamais de choisir laquelle je veux, alors que le play-flash me le fait tout bien comme il faut...
Je n'ai pas l'option renommer qui apparaît non plus...
J'ai pas trouvé quoi faire n'étant pas programmeur moi-même (tout juste bidouilleur, et encore...)

Néanmoins ça marche quand même. smile

Dernière modification par le-peyo (Le 19/05/2013, à 12:12)


Packard Bell EasyNote TR 85
Ubuntu 10.04 LTS
Voyager 12.04 LTS 32bits 64bits

Hors ligne

#197 Le 22/05/2013, à 23:33

lylambda

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

Je ne suis pas sûr d'avoir compris le bug.
- Cela fonctionne la première fois par session, puis le script bug ensuite ?
- Cela fonctionne au premier lancement, puis cela bug si le script est relancé alors qu'il est toujours en cours ?
Je n'ai pas encore eu l'occaz de revenir sur ma vieille session en 12.04, mais il faudra que je reteste les scripts quand ce sera le cas ^^

Il ne me trouve qu'une seule vidéo à la fois et de me demande jamais de choisir laquelle je veux

Ça c'est normal, la dernière version de Copy-flash (1.1) récupère toute les vidéos en cache, quelque soit leur nombre. Au contraire, Play-flash demande laquelle lire si il y en a plusieurs car le lecteur (vlc par défaut) ne peut pas en lire plusieurs à la fois.

Je n'ai pas l'option renommer qui apparaît non plus...

Il n'y a pas d'option "renommer", c'est le nom d'une variable dans le script pour récupérer le nom originel de la vidéos incluse dans le flashplayer (du type Flash1234). Sans ce renommage à la volée, les vidéos copiées auraient toutes pour nom leurs numéros de processus (16, 23, etc)… ce qui ne me semblait pas trés parlant et surtout risquait d'écraser une précédente copie puisque ces numéros sont souvent les mêmes d'une session à l'autre.

J'ai pas trouvé quoi faire n'étant pas programmeur moi-même (tout juste bidouilleur, et encore...)

Pour te rassurer, ces scripts ne sont rien de plus que du bidouillage autour de 2 ou 3 commandes clefs ;-). Et je n'ai rien d'un programmeur, j'aime juste bricoler tongue

Dernière modification par lylambda (Le 22/05/2013, à 23:36)

Hors ligne

#198 Le 29/05/2013, à 08:57

le-peyo

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

Holà,

pour être plus précis en effet :

Quand je lance le copy-flash, tout se déroule normalement : affichage du notify-send, attente d'avoir la vidéo complètement chargée avant de la copier sur mon disque dur, bref, tout va bien. Toujours lors de la même session d'Ubuntu, si je veux une deuxième vidéo je dois fermer l'onglet de la première sinon il me recopie toujours la même hmm Puis je relance le copy-flash et c'est là que ça change : le notify ne s'affiche plus et je dois attendre que la deuxième vidéo soit complètement chargée dans le flash player sinon il ne m'en copie qu'une partie...

Je pense qu'une commande ne doit pas être stoppée et doit continuer à s'éxecuter, mais si oui, laquelle ?

Après tout ce n'est pas très grave, il suffit que j'attende un peu, je lance la copie et ça marche quand même smile

Merci

P.S. Si besoin voici mon fichier copy-flash avec les deux ou trois modifs que j'y ai faites pour le personnaliser

#!/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.1                                                                               #
# Licence: gpl                                                                                          #
# [url]http://forum.ubuntu-fr.org/viewtopic.php?id=424080[/url]                                         #
#########################################################################################################

# 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" "\ ${NBRE_VIDEO} Erreur : ${COPY_FOLDER} introuvable\ ${NBRE_VIDEO} Copie 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" "${NBRE_VIDEO} Erreur : 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" " ${NBRE_VIDEO} Erreur : aucune vidéo trouvée"

# Pour chaque vidéo trouvée :
else
notify-send -i clock "Copy-Flash" " ${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" "${NBRE_VIDEO} Mise 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 6
    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" "${NBRE_VIDEO} Erreur : ${NBRE_VIDEO} vidé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" "${NBRE_VIDEO} Copie 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 le-peyo (Le 29/05/2013, à 09:01)


Packard Bell EasyNote TR 85
Ubuntu 10.04 LTS
Voyager 12.04 LTS 32bits 64bits

Hors ligne

#199 Le 23/10/2013, à 15:11

_Anna_

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

oh p....n trop merci lylambda smile Ca fait exactement ce que je voulais, sans installer encore plein d'extensions, de trucs et de machins. Fini le ventilo qui devient fou !!!
J'adore faire parti des linuxiens big_smile

(testé sur http://new.livestream.com avec ubuntu 12.04 sous xfce => nickel)

Hors ligne

#200 Le 30/10/2013, à 13:35

lylambda

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

Ah super ! C'est génial que ces scripts servent toujours smile

@ le-peyo : Réponse trééés tardive, mais on dirait qu'il manque un exit. Ce bug arrive aussi sur ma version ou que sur ta modif ?

Dernière modification par lylambda (Le 30/10/2013, à 13:36)

Hors ligne

Haut de page ↑