#1 Le 19/10/2010, à 15:35
- lylambda
[Astuce] Lire et copier les vidéos flash directement du navigateur
EDIT 11/05/2014 : Mention des scripts de le-peyo pour les sites protégés
Quel Linuxien n'a jamais pesté contre les vidéos flash ? Parfois saccadées et provoquant généralement un emballement du CPU, visionner sur le net en deviendrais moins un plaisir qu'une corvée.
L'astuce de la plupart d'entre nous était de lancer la vidéo dans le lecteur flash, mettre immédiatement en pause, ouvrir le dossier "/tmp", chercher le fichier flv FlashXXX. La vidéo trouvée pouvait ensuite être ouverte dans notre lecteur vidéo ou sauvegardée dans un autre répertoire.
Cependant, depuis la version 10.2 de Flash (février 2011), les vidéos ne sont plus contenues dans "/tmp", mais morcelées dans un dossier "Cache" du navigateur. Ce qui rend impossible les méthodes précédentes.
Voici 2 scripts pour y remédier, adaptés à toutes les versions de Flash et tout les navigateurs :
- Play-Flash : Lance une vidéo (choisie dans une liste si plusieurs sont présentes) directement dans votre lecteur (VLC par défaut)
- Copy-Flash : Attend automatiquement la mise en cache, puis copie la ou les vidéos (sur le Bureau par défaut).
1. Copiez/Collez le script souhaité (présent en fin de message) dans un éditeur de texte (Gedit, etc.).
2. Modifiez les variables BROWSER et PLAYER ou COPY_FOLDER selon vos logiciels de navigation internet, de lecture vidéos ou votre dossier de copie.
3. Rendez le exécutable (par un chmod ou via ses propriétés).
Ensuite, en présence d'une vidéo flash, il vous suffira de l'activer directement de Nautilus (double clic et "lancer") ou mieux, via un lanceur placé dans le panel ou votre dock préféré.
Si vous souhaitez plutôt activer les scripts directement de Firefox, certaines extensions le permettent, notamment AppLauncher (toutes versions de FF). Installez l'extension choisie et spécifiez l'emplacement du script.
Des notifications ont été intégrées afin de prévenir du bon déroulement des scripts, ou des erreurs bloquant leurs fonctionnement.
Exemples :
Bon visionnage à tous !
Notes importantes :
1. Ces scripts fonctionnent pour la plupart des vidéos en ligne. Cependant certains sites protègent leur streaming, ce qui bloque leur fonctionnement. Pluzz ou Arte par exemple, mais aussi Youtube depuis début 2014, sont inopérants. Tournez-vous alors vers les scripts et programmes spécialisés sur ces sites en particulier ou utilisez les scripts spécifiques de le-peyo indiqués dans ce message.
2. Les scripts ont été testés sur la plupart des navigateurs libres : firefox, iceweasel, chromium-browser, midori, arora et uzbl-core. Toutefois, Si vous notez un problème avec ceux-ci ou un autre non présents dans la liste, tout retour serait apprécié.
3. Certaines extensions firefox font plus ou moins le même travail que les scripts, tel Video DownloadHelper pour la sauvegarde.
Les avantages des scripts :
- leur légèreté
- adaptables à tout les navigateurs et lecteurs vidéo d'une distribution gnu/linux
- spécifique à aucun site en particulier
4. 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}')
------------------------------------------------------------------------------------------------------------------------
- Play-Flash :
#!/bin/bash
#########################################################################################################
# Description: Permet de regarder une video flash dans le lecteur plutôt que dans le navigateur. #
# Dépendances: grep; zenity; awk; lecteur vidéo (vlc, etc.); navigateur internet (firefox, etc.) #
# Contributions: lylambda; titan77; #
# Version: Play-Flash 1.1 #
# Licence: gpl #
# [url]http://forum.ubuntu-fr.org/viewtopic.php?id=424080[/url] #
#########################################################################################################
# Nom du lecteur à utiliser.
## /!\ À remplacer si besoin.
PLAYER="vlc"
# Nom du navigateur à utiliser.
## /!\ À remplacer si besoin.
BROWSER="firefox"
# Numéro du processus flash si utilisation de firefox, iceweasel ou chromium.
if [[ ${BROWSER}=firefox || ${BROWSER}=iceweasel || ${BROWSER}=chromium-browser ]]; then
NPROCESS=$(ps aux | grep flashplayer.so | grep -v "grep" | awk '{print $2}')
# Commande générique.
##/!\ Testée avec midori, arora et uzbl-core. Erreur possible pour d'autres navigateurs.
else
NPROCESS=$(pgrep ${BROWSER})
fi
# Si on a au moins un processus on le parcours jusqu'à trouver une vidéo.
if [[ "${NPROCESS}" ]]; then
for PROC in ${NPROCESS};
do
# Liste les fichiers vidéos
VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/Flash" | awk '{print $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
- Copy-Flash :
#!/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" "\nErreur : ${COPY_FOLDER} introuvable\nCopie dans /tmp"
COPY_FOLDER=/tmp
fi
# Numéro du processus flash si utilisation de firefox, iceweasel ou chromium.
if [[ ${BROWSER}=firefox || ${BROWSER}=iceweasel || ${BROWSER}=chromium-browser ]]; then
NPROCESS=$(ps aux | grep flashplayer.so | grep -v "grep" | awk '{print $2}')
# Commande générique pour les autres navigateurs.
##/!\ Testée avec midori, arora et uzbl-core. Erreur possible pour d'autres navigateurs.
else
NPROCESS=$(pgrep ${BROWSER})
fi
# Si on a au moins un processus on le parcours jusqu'à trouver une vidéo.
if [[ "${NPROCESS}" ]]; then
for PROC in ${NPROCESS}; do
# Liste les fichiers vidéos
VIDEO=$(ls -la "/proc/${PROC}/fd" | grep "/tmp/Flash" | awk '{print $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 "Copy-Flash" "\nErreur : aucun processus trouvé"
exit 1
fi
# Si on a pas de vidéo on quitte.
if [ "${NBRE_VIDEO}" == "0" ]; then
notify-send -i error "Copy-Flash" "\nErreur : aucune vidéo trouvée"
# Pour chaque vidéo trouvée :
else
notify-send -i clock "Copy-Flash" "\n${NBRE_VIDEO} vidéo(s) détectée(s)"
for VID in ${VIDEO}; do
# Définir le nom de la vidéo.
renommer=$(stat -c '%N' "/proc/${PROC}/fd/${VID}" | awk '{print $3}'| cut -d"/" -f3)
# Message d'attente.
notify-send -i clock "Copy-Flash" "\nMise en cache de la vidéo ${renommer}"
# Boucle d'attente de mise en cache.
while true
do
#test de la taille (attente 3 secondes mini).
taille_1=$(stat -Lc '%s' "/proc/${PROC}/fd/${VID}")
sleep 3
taille_2=$(stat -Lc '%s' "/proc/${PROC}/fd/${VID}")
# si on ne peut plus tester la taille alors on ferme car plus de vidéo
if [[ ! "$taille_1" ]] || [[ ! "$taille_2" ]]; then
notify-send -i error "Copy-Flash" "\nErreur :\nvidéo ${renommer} perdue"
break
fi
# si la taille 1 et 2 sont identique, on télécharge la vidéo qui est complète
if test "${taille_1}" -eq "${taille_2}"; then
# Définir la taille en Mo de la vidéo.
taille_mo=$((${taille_2}/10**6))
# Copie de la vidéo et renommage à la volée.
notify-send -i folder-download "Copy-Flash" "\nCopie de la vidéo ${renommer} (${taille_mo} Mo) dans ${COPY_FOLDER}"
cp /proc/${NPROCESS}/fd/${VID} ${COPY_FOLDER}/${renommer}
break
fi
done
done
fi
exit 0
Dernière modification par lylambda (Le 11/05/2014, à 13:22)
Hors ligne
#2 Le 19/10/2010, à 15:46
- KRS
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Si jamais il existe aussi des extensions Firefox qui font ça, me rappelle plus du nom mais ça doit se trouver dans le catalogue.
Hors ligne
#3 Le 20/10/2010, à 22:32
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
En cherchant un peu je n'ai trouvé qu'une extension qui correspond à l'objectif de lire les videos flash dans un lecteur externe : FlashVideoReplacer.
D'après son intitulé, il ne fonctionne que pour 3 sites (Youtube Vimeo et Blip.tv) et qu'avec les plugins Quicktime ou Windows Media Player ... En creusant un peu, il est sencé être compatible avec certains plugins Linux.
Après tests, je n'arrive tout simplement pas à le faire fonctionner et je ne vois rien dans sa config qui permettrait de définir d'autre plugin que les 2 premiers cités.
Bref ce n'est pas probant chez moi, d'autant qu'il semble plus limité que le script de Baz. Par contre, si tu faisais référence à une autre extension je serais intéressé !
Hors ligne
#4 Le 20/10/2010, à 23:27
- machiavellian75
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Quel Linuxien n'a jamais pesté contre les vidéos flash ? Parfois saccadées et provoquant généralement un emballement du CPU, visionner sur le net en deviendrais moins un plaisir qu'une corvée.
L'astuce de la plupart d'entre nous est de lancer la vidéo dans le lecteur flash, mettre immédiatement en pause, ouvrir le dossier "/tmp", chercher le fichier flv FlashXXX et l'ouvrir via VLC (ou tout autre lecteur lisant ce format).Or Baz du blog Wavemaker a créé un script bash automatisant cette procédure. Je vous invite à lire son post pour en savoir plus (et le remercier !).
Deux scripts sont proposés selon les goûts:
- script de base
- script offrant le choix de la vidéos à lancer en cas de streaming parallèle (proposé par le lecteur Edouard)Téléchargez celui qui vous convient le mieux et rendez le exécutable (par un chmod ou via ses propriétés). Ensuite, en présence d'une vidéo flash, il vous suffira de l'activer directement de nautilus ou via un lien dans le panel ou votre dock préféré.
Si vous souhaitez plutôt lancer la vidéo directement de Firefox, une extension permet de lancer le script de son interface : External Application Buttons.
Installez l'extension puis, à l'aide du menu "Personaliser" (clic droit), placer le bouton à l'endroit désiré (barre d'outil, de menu, etc...) et enfin spécifiez l'emplacement du script (menu "Properties".Les vidéos flash pourront alors être lancés dans VLC (ou autre lecteurs) directement du navigateur !
Avis aux codeurs, sur cette base ne pourrait on pas imaginer une extension Firefox spécifique aux linuxiens ?
merci lylambda super astuce et l'extension marche pas trop mal
ubuntu maverick athlon x2 3800+ 2 giga de ram nvidia quadro fx 550
Hors ligne
#5 Le 21/10/2010, à 19:43
- axel55
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Je viens d'installé l'extension FlashVideoReplacer sur mon Xubuntu 10.04. J'ai testé avec une vidéo You Tube : Le lecteur Totem s'ouvre ( c'est le seul lecteur vidéo installé ) et remplace le lecteur d'Adobe. Il est possible de visionner en plein écran, le seul souci c'est qu'il faut patienter que la vidéo soit totalement chargé pour que la lecture débute.
Hors ligne
#6 Le 25/10/2010, à 14:10
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
merci lylambda super astuce et l'extension marche pas trop mal
ravi que cela t'ai été utile
Le lecteur Totem s'ouvre ( c'est le seul lecteur vidéo installé ) et remplace le lecteur d'Adobe
C'est une bonne nouvelle que cela fonctionne en partie avec le plugin de Totem ! Ce ne semble pas être le cas avec VLC (mon lecteur vidéo installé)
il faut patienter que la vidéo soit totalement chargé pour que la lecture débute.
Cette limitation n'est pas agréable, mais dépend peut être que de Totem. Ce lecteur sait-il streamer les flux vidéos ? Dans les commentaires du blog Wavemaker, je crois me souvenir pourtant que certains avaient réglé le script de Baz sur Totem et que cela fonctionnait sans attendre la fin du téléchargement comme avec VLC.
Essaye peut être avec le script pour prendre la solution que tu préfères.
Hors ligne
#7 Le 01/11/2010, à 17:55
- Xanatos00
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Salut,
très intéressant, cependant ce qui est embêtant c'est qu'il faut quand même garder le plugin flash et attendre que la vidéo soit complète dans le cache
je me demande s'il y a pas moyen via greasemonkey ou autre de lancer le chargement de la vidéo en tampon puis récupérer la méthode ci-dessus sans que sa lance automatiquement la lecture sur le site en question
ou tout simplement lire la vidéo en local avec totem sans flash sur firefox
/utopiste
Dernière modification par Xanatos00 (Le 01/11/2010, à 17:56)
Hors ligne
#8 Le 01/11/2010, à 22:57
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
ce qui est embêtant c'est qu'il faut quand même garder le plugin flash et attendre que la vidéo soit complète dans le cache
Devoir utiliser le plugin Flash pour initier le téléchargement, est effectivement ennuyeux. Par contre tu n'as pas besoin d'attendre que la vidéo soit complète (du moins avec VLC). Il suffit que le téléchargement soit plus rapide que la vitesse de lecture (ce qui est généralement le cas en ADSL).
En tout cas, j'aime ton utopie, d'où mon espoir d'une extension adaptée, un jour prochain .
Dernière modification par lylambda (Le 01/11/2010, à 22:58)
Hors ligne
#9 Le 02/11/2010, à 19:51
- ycDref
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Il existe minitube ou le greffon youtube pour totem a titre d'info.... légèrement moins tordu comme solution....
Hors ligne
#10 Le 02/11/2010, à 21:24
- Xanatos00
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
@ycDref : oui mais non, je cherche plus une solution globale aux vidéos en flash
je ne connais pas très bien la technologie, mais il me semble que c'est divisé en plusieurs parties (animations, vidéos, etc ...)
la c'est le format swf qui m'intéresse, admettons que je désire voir une vidéo en swf, pourquoi ne puis-je pas la télécharger en local sans obligatoirement la lire comme avec un pdf ? et après visionnage en local avec/sans conversion
Hors ligne
#11 Le 07/11/2010, à 23:31
- axel55
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
J'avais très rapidement testé le script de Baz après mes constats sur l'extension FlashVideoReplacer, et en effet contrairement à cette dernière, le script de Baz me permet de visualiser la vidéo avec Totem sans attendre que la vidéo soit totalement chargé. Désolé pour la réponse tardive.
Hors ligne
#12 Le 04/01/2011, à 08:35
- Mathieu147
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Si on remplace la ligne 19 du script:
if [ "$NBRE_FICHIER" != "1" ]; then
par ça:
if [ "$NBRE_FICHIER" == "0" ]; then
zenity --info --title="Erreur" --text="Aucune vidéo trouvée."
elif [ "$NBRE_FICHIER" != "1" ]; then
Alors on a un message d'erreur lorsqu'il n'y a aucune vidéo trouvée plutôt que d'avoir une fenêtre de choix vide.
Pffff…
Hors ligne
#13 Le 05/01/2011, à 20:05
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
C'est une modification très bien vu, merci Mathieu147 !
Hors ligne
#14 Le 10/02/2011, à 15:43
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
La récente mise à jour de Flash (10.2) rend l'ancien script inopérant. Si vous voulez continuer à utiliser votre lecteur personnel pour visionner les vidéos flash sur internet, remplacer le script par celui-ci . Pensez à le rendre à nouveau exécutable.
Ce qui a changé, c'est que les vidéos flash ne sont plus contenus dans le répertoire /tmp mais dans /tmp/Cache. De plus, elles ne sont plus nommées sous la forme FlashXXX mais par une suite de 11 caractères plus ou moins aléatoires.
Pour continuer à utiliser le script, il ne faut donc plus lister les fichiers commençant par "Fla" dans le dossier /tmp comme fesait le script auparavant.
Ma modification lance la recherche dans le dossier /tmp/Cache. Pour cela, facile, il suffisait de rajouter "/Cache".
Par contre, pour sélectionner uniquement les vidéos, j'ai remplacer la ligne FICHIER=$(ls '/tmp/' | grep 'Fla*') par FICHIER=$(cd /tmp/Cache && file -i * | grep video | cut -c1-11 && cd)
Cette commande n'est pas très belle, mais elle permet de sélectionner les fichiers vidéos grâce à leur type mime et donc de passer outre leur nom aléatoire.
Dernière modification par lylambda (Le 10/02/2011, à 15:51)
Hors ligne
#15 Le 11/02/2011, à 20:26
- Bat_aaaaahhh
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Salut !
Chez moi, les fichiers vidéos ne sont pas dans le /tmp/cache mais plutôt dans /proc/XXXX(pid de libflashplayer)/fd. (cf ce topic : http://forum.ubuntu-fr.org/viewtopic.php?id=442415)
Du coup ton script m'affiche toujours "aucune vidéo", normal.
De plus, les fichiers apparaissent encore sous leur ancien nom de format "FlashXXX" :
jordan@jordan-pc:/proc/1881/fd$ ls -la | grep Flash
lrwx------ 1 jordan jordan 64 2011-02-11 20:00 16 -> /tmp/FlashXXpVRynk (deleted)
Ayant peur de mettre les mains dans le cambouis, je n'ose pas toucher à ton script En regardant de loin, je suis tenté de dire qu'il suffit de récupérer le pid de libflashplayer, et d'appliquer l'ancien script non ?
Pour terminer, question subsidiaire : que fait l'attribut -la associé à la commande ls ? man ne m'a pas aidé plus que ça
PS-EDIT : En fait, dans /proc/xxxx/fd, c'est des raccourcis vers les fichiers temporaires qui sont dans le cache mais invisibles, surement parce qu'ils sont deleted. Quelqu'un sait comment afficher les fichiers deleted ?
Dernière modification par Bat_aaaaahhh (Le 11/02/2011, à 21:22)
Hors ligne
#16 Le 12/02/2011, à 00:52
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
La méthode de Kanor est aussi fonctionnel chez moi et doit être facilement scriptable puisqu'il suffit de quelques lignes de commande pour repérer le fichier vidéos à lire. À vu de nez, j'utiliserais "cut" pour extraire le n° de processus puis celui de fichier.
Par contre, es-tu sûr de ne pas avoir de vidéos flash avec un nom du genre "3A540F32d01" dans /tmp/Cache lorsque tu as une page firefox avec un streaming quelconque (dans nautilus, met toi en vue "En liste" et clique sur la colonne type) ? Ce serait bizarre qu'elles ne soient dans ce dossier que chez moi.
Pour "-la" de ls, voilà ce qu'indique un "ls --help" :
-l utiliser le format long d'affichage
-a, --all do not ignore entries starting with .
Donc, sauf erreur, ces options affichent toutes informations des fichiers contenus par le dossier visé par le ls (/proc/xxxx/fd), même ceux cachés (précédés par un point ".")
Hors ligne
#17 Le 13/02/2011, à 23:30
- ottakar
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Bon, ben mise à jour de ce WE pour ma 10.04 LTS et me voilà parmis vous: même soucis que Bat_aaaaahhh pour moi, c'est tout rangé dans
/proc/[PID]/fd/
je n'ai pas de
/tmp/Cache
Et, pareil, je ne sais pas non plus pondre de script, donc...
(Kill Flash)
Hors ligne
#18 Le 14/02/2011, à 01:19
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Mes vidéos se retrouve dans /tmp/Cache sans doute parce que j'ai tout simplement indiqué à Firefox de déplacer son cache dans /tmp… Celui-ci utilisant la ram, ça rend Firefox plus véloce, évite de gratter mon disque dure et, de toute évidence, me permet de récupérer des vidéos plus facilement !
Si ça vous intéresse, il suffit d'ajouter une ligne dans fstab et une clé dans Firefox. Je recopie :
Il existe plusieurs raisons pour vouloir déplacer le dossier temporaire en Ram, je vais en détailler quelques unes….
* gagner en temps de lecture (les dossiers telechargés de firefox)
* économiser le SSD qui a une durée d'écriture/lectureL'inconvénient majeur sera que les autres utilisateurs seront susceptibles de venir lire votre cache en Ram, cependant
* souvent les ordinateurs sont mono-utilisateur
* le /tmp en Ram est vidé à chaque extinction donc pas de rémanenceIl faut bien comprendre que la vitesse d'écriture est bien plus rapide dans la Ram que sur le disque dur, d'où l'interet de cette maneuvre
on y va en ROOT :
1.
Éditez le fichier /etc/fstab :
nano /etc/fstab
1.
Ajoutez :
tmpfs /tmp tmpfs mode=1777 0 0
2.
Dans Firefox tapez « about:config » dans la barre d'adresse
3.Éditez ou ajoutez la clé
browser.cache.disk.parent_directory
c'est une chaine de caractères, qui doit contenir désormais
/tmp
puis redémarrez
pour vérifier après le boot si cela fonctionne en root dans un terminal avec firefox d'ouvert :
lsof '/tmp'
avant :
lsof '/tmp'
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/lsd/.gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
seahorse- 2113 lsd cwd DIR 8,17 4096 16357 /tmpaprès :
lsof '/tmp'
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/lsd/.gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
seahorse- 2097 lsd cwd DIR 0,17 280 3950 /tmp
firefox-b 2444 lsd 43u REG 0,17 276 12097 /tmp/Cache/_CACHE_MAP_
firefox-b 2444 lsd 44u REG 0,17 72327 12098 /tmp/Cache/_CACHE_001_
firefox-b 2444 lsd 45u REG 0,17 74708 12099 /tmp/Cache/_CACHE_002_
firefox-b 2444 lsd 46u REG 0,17 72201 12100 /tmp/Cache/_CACHE_003_on voit donc bien que le cache de firefox est dans le /tmp
À l'occasion, j'essaierais tout de même d'adapter le script, mais je ne promet rien ^_^
Hors ligne
#19 Le 14/02/2011, à 12:21
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Finalement, ce n'était pas trop compliqué. Le script est maintenant utilisable par tout le monde sans modifications dans Firefox. Téléchargez le d'ici.
Ce qui a changé :
- Ajout d'une variable définissant le N° de processus de flash (sans prendre en compte le grep en cours) :
NPROCESS=$(ps aux | grep flash | grep -v "grep" | awk '{print $2}')
- Liste les fichiers vidéos par N° selon le N° de processus flash :
FICHIER=$(cd /proc/$NPROCESS/fd && ls -la | grep Flash | awk '{print $8}' && cd)
- Extraction de la date des fichiers vidéos sachant que l'information est contenu dans un lien (option -L pour stat) :
date=$(stat -Lc '%y' /proc/$NPROCESS/fd/$poet | awk -F \. '{print $1}')
- Extraction du nom des fichiers vidéos sachant que l'information est contenu dans un lien (séquence %N pour stat) :
nom=$(stat -c '%N' /proc/$NPROCESS/fd/$poet | awk '{print $3}'| cut -d"/" -f3)
- Zenity affiche maintenant les colonnes de sélection, "N°", "Nom" et "Date" :
to_print="$to_print \"\" \"$poet\" \"$nom\" \"$date\""
--column=" " --column="N°" --column="Nom" --column="Date"
- La lecture se lance directement dans les dossiers processus :
$PLAYER /proc/$NPROCESS/fd/$video_a_regarder
$PLAYER /proc/$NPROCESS/fd/$FICHIER
Dernière modification par lylambda (Le 14/02/2011, à 12:24)
Hors ligne
#20 Le 14/02/2011, à 13:57
- ottakar
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Oué! Tu chaumes pas mec!
Je regarde ça ce soir...
Hors ligne
#21 Le 14/02/2011, à 19:04
- ottakar
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Ça ne semble pas fonctionner.
Si je lance le script avec un page youtube ou www.zapiks.fr, rien ne se passe.
Si je le lance tout seul il m'annonce qu'il ne trouve pas de vidéo.
Hors ligne
#22 Le 15/02/2011, à 14:45
- lylambda
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Étrange, j'ai essayé le script sur 3 postes différents et il fonctionne parfaitement.
Je ne vois que 2 points qui pourrait le bloquer :
- Le script n'est pas exécutable.
Ce n'est apparemment pas le cas chez toi, puisqu'il te dit lorsqu'il n'y a pas de vidéos. Au cas où, vérifie en cliquant droit sur sur le script, menu "Propriétés", onglet "Permissions" et coche la case d'Exécution si ce n'est pas fait (que pour le propriétaire si tu en as plusieurs).
- Il te manque des dépendances.
Pour que le script fonctionne en l'état, tu dois avoir grep, zenity, awk et vlc d'installés. Si tu ne veux pas installer Vlc, tu peux utiliser un autre lecteur capable de lire les vidéos flv (Totem, MPlayer, …) en remplaçant la commande "vlc" à la ligne 12 PLAYER="vlc" (sans majuscule). Pour les 3 autres, vérifie dans Synaptic.
Hors ligne
#23 Le 15/02/2011, à 23:20
- ottakar
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Autant pour moi...
Ça fonctionne, j'étais juste trop impatient: pour mes premiers essais vlc a mis plusieurs secondes pour s'ouvrir.
Merci!
Hors ligne
#24 Le 16/02/2011, à 17:34
- spad35
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Salut
Super ce script, bravo!
Et bien plus classe que d'aller attendre la vidéo dans /tmp comme un vieux vautour. Ça fait un couple parfait avec mplayer, simple et sobre.
Du coup je me suis dit: parfait pour Uzbl ça, puisque il ne fonctionne uniquement qu'avec des scripts externes. Malheureusement avec webkit pas de libflashplayer.so ni rien qui touche de près ou de loin à Flashplayer (en tout cas j'ai pas trouvé)
Il me semble pourtant que les navigateurs utilisant webkit ont besoin du plugin flash?
Si une bonne âme a une idée de la façon d'adapter le script...Et encore bravo d'avoir mis tout ça en forme
Hors ligne
#25 Le 16/02/2011, à 21:37
- ottakar
Re : [Astuce] Lire et copier les vidéos flash directement du navigateur
Avec le player Arte ça ne fonctionne pas.
On retrouve bien un PID pour flash, mais dans /proc/[PID]/fd/ il n'ya pas de trace de fichier "Flashxxxxxxx (deleted)":
ottakar@depannox:/proc/2539/fd$ ls -hal
total 0
dr-x------ 2 ottakar ottakar 0 2011-02-16 20:54 .
dr-xr-xr-x 7 ottakar ottakar 0 2011-02-16 20:54 ..
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 0 -> /dev/null
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 1 -> /home/ottakar/.xsession-errors
l-wx------ 1 ottakar ottakar 64 2011-02-16 21:25 10 -> pipe:[16379]
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 11 -> pipe:[16380]
l-wx------ 1 ottakar ottakar 64 2011-02-16 21:25 12 -> pipe:[16380]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 13 -> socket:[16383]
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 14 -> /home/ottakar/.mozilla/firefox/ioupu3pt.default/cert8.db
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 15 -> /home/ottakar/.mozilla/firefox/ioupu3pt.default/key3.db
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 16 -> socket:[36399]
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 17 -> pipe:[36405]
l-wx------ 1 ottakar ottakar 64 2011-02-16 21:25 18 -> pipe:[36405]
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 19 -> pipe:[36406]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 2 -> /home/ottakar/.xsession-errors
l-wx------ 1 ottakar ottakar 64 2011-02-16 21:25 20 -> pipe:[36406]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 21 -> socket:[36411]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 3 -> socket:[16279]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 4 -> anon_inode:[eventpoll]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 42 -> socket:[16280]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 5 -> socket:[16376]
lrwx------ 1 ottakar ottakar 64 2011-02-16 21:25 6 -> socket:[16377]
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 7 -> pipe:[16378]
l-wx------ 1 ottakar ottakar 64 2011-02-16 21:25 8 -> pipe:[16378]
lr-x------ 1 ottakar ottakar 64 2011-02-16 21:25 9 -> pipe:[16379]
Pas de traces non plus dans le repertoire /proc du PID de Firefox...
Dans le doute j'ai enlevé la prise réseau à 8:10, la vidéo bloque en pause à 8:14, je rebranche, j'enlève la pause et la lecture reprend à 00:00... Donc j'imagine que c'est du "vrai" streaming?
On pourrait pas rediriger la sortie standard vers un fichier?
Hors ligne