web-dev-qa-db-fra.com

Comment puis-je accéder aux fichiers Flash à partir de sites Web en streaming?

Dans Maverick, il était possible de télécharger des vidéos Flash de sites tels que YouTube, Vimeo, etc. en copiant le fichier flashxx** dans le répertoire /tmp vers un autre emplacement avant de fermer la fenêtre. Mais dans Firefox 4 dans Natty, cela ne fonctionne plus. Pourquoi?

30
avi

Une mise à jour du plug-in flash a changé l'emplacement de /tmp dans le répertoire de cache de Firefox (par exemple, ~/.mozilla/firefox/bq95m4w1.default/Cache). Malheureusement, le fichier flash en cache n’est pas aussi facile à trouver qu’avant, mais c’est possible.

La commande suivante répertorie tous les fichiers flash dans votre cache Firefox.

find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash

Sur les nouvelles versions d'ubuntu, essayez

find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash
26
Woozy

Vous pouvez utiliser plusieurs addons Firefox pour extraire les fichiers FLV de nombreux sites Web tels que Youtube.

Je montrerai ci-dessous comment faire cela MANUELLEMENT avec la dernière version du plugin Flash.

  1. Visitez la vidéo YouTube et attendez qu'elle soit complètement téléchargée.
  2. Ensuite, lancez la commande depuis la ligne de commande

    $ lsof -n | grep Flash

    qui montre les fichiers (même mémoire fichiers!), et filtre ceux qui ont Flash dans leur nom.

  3. Vous obtenez quelque chose comme

    plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted).

    Maintenant, il existe un /tmp/FlashXXVkHEM6 mais il a été supprimé.

  4. Sous Linux, si un fichier est supprimé, il n’est supprimé que lorsque tous les programmes qui l’avaient précédemment ouvert sont fermés. En d’autres termes, le plug-in Flash utilise une astuce pour masquer le fichier/tmp/FlashXXVkHEM6. Il le crée et immédiatement deletes it. Mais comme le plugin Flash continue de fonctionner, il peut apparemment toujours l'utiliser.

  5. À partir de la ligne ci-dessus, nous notons le nombre 2461, qui correspond à l'ID de processus. Dans votre cas, ce sera probablement différent. Ensuite, lancez

    $ cd /proc/2461/fd

    et enfin exécuter

    $ ls -l

    Cela vous montrera les fichiers de mémoire, et plus particulièrement

    lrwx------ 1 user user 64 2011-09-16 10:23 17 -> /tmp/FlashXXVkHEM6 (deleted)

    Le nombre '17' (dans mon cas) est le nom du fichier que vous pouvez utiliser pour accéder au supprimé /tmp/FlashXXVkHEM6. Par conséquent, lancez simplement

    $ cp 17 /tmp/myyoutubevideo.flv

    et vous restaurez la vidéo Youtube!

C'est tout! Vous avez récupéré manuellement la vidéo Youtube!

28
user4124

Si vous naviguez dans votre dossier/proc, vous verrez un ensemble de dossiers tous nommés numériquement, y compris un dossier qui correspond au numéro indiqué dans le deuxième champ.

Accédez maintenant à ce dossier, puis à son sous-dossier "fd". Dans ce dossier, vous verrez toute une sélection de nombres. Celles-ci concernent les descripteurs de fichier eux-mêmes.

Exécutez ls -l dans ce dossier et vous verrez que chacun de ces numéros est lié à des canaux, des sockets ou des fichiers.

Dans ce champ, le numéro du quatrième champ sera symboliquement lié au fichier/tmp/Flash * trouvé précédemment.

Pour vérifier qu'il s'agit du bon fichier, vous pouvez l'exécuter via mplayer ou vlc (mplayer filedescriptornumber/vlc filedescriptornumber). Si vous ne parvenez pas à trouver le nom du fichier, essayez ls -l | grep Flash.

Pour plus de facilité, essayez cette commande dans la console:

stat -c %N /proc/*/fd/* 2>&1|awk -F[\`\'] '/Flash/{print$2}'

La sortie sera quelque chose comme ça:

/proc/4691/fd/17
/proc/4691/fd/18

Cela listera tous vos flux flash téléchargés. Pour cet exemple, il y a 2 vidéos flash de mon navigateur firefox 4. Si vous voulez le copier, utilisez simplement cette commande:

cp /proc/4691/fd/17 ~/Videos/Flash/sample.flv

Source: http://n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/

7
squallbayu

Ce petit script enregistre vos fichiers flash téléchargés dans un répertoire personnalisé.

  1. faites le répertoire où vous voulez que les fichiers soient sauvegardés par exemple ~/Videos/flvs

    mkdir ~/Videos/flvs
    
  2. ouvrez gedit, copiez et collez ce script.

    #!/bin/bash
    # flvcache script
    
    CACHE=~/.mozilla/firefox/*.default/Cache
    OUTPUTDIR=~/Videos/flvs
    MINFILESIZE=2M
    
    for f in `find $CACHE -size +$MINFILESIZE`
    do
        cp "$f" "$OUTPUTDIR/$o"
    done
    
    nautilus  "$OUTPUTDIR"&
    
  3. enregistrer le fichier en tant que saveflashall.sh, puis ajouter des autorisations exécutables au fichier

    chmod +x saveflashall.sh
    
  4. puis lancez-le.

    ./saveflashall.sh
    

il ouvrirait ensuite les fichiers du premier dossier créé ci-dessus. Personnalisé pour inclure tous les fichiers (travaillé pour mpeg et mp4) au lieu de flv seulement.

Les crédits vont à http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html

5
dumb906

Pour autant que je sache, ceci n'est pas dû à firefox ni à natty, mais à une mise à jour flash ...

Vous pouvez intercepter le flux http avec wireshark ou utiliser un outil tel que youtube-dl pour obtenir le fichier vidéo.

Mais rappelez-vous que cela pourrait ne pas être légal, alors vérifiez votre législation locale ...

4
LassePoulsen

Vous devez utiliser flashgot pour télécharger les vidéos.

3
RolandiXor

buntu 12.04 (Precise) - Instructions pour Firefox 11 Une version modifiée du script bash de chlumma1.

Avec un éditeur de texte, enregistrez le code ci-dessous dans un fichier nommé "getvids.sh". Déplacez-le à l'emplacement où vous souhaitez enregistrer les vidéos. Cliquez avec le bouton droit sur le fichier, allez dans Propriétés, Modifiez les autorisations en "Autoriser l'exécution en tant que programme".

Tout ce que vous avez à faire est de cliquer sur le script, de sélectionner "Exécuter dans un terminal" pour enregistrer tous les fichiers vidéo dans ce répertoire. Pour enregistrer la vidéo dans son intégralité, vous devez avoir terminé le chargement de votre navigateur. Il enregistre les vidéos de presque tous les sites Web, y compris youtube, vimeo, dailymotion, métacafé, liveleak, facebook. Supprimez simplement les fichiers vidéo que vous ne voulez pas.

(Si une vidéo que vous souhaitez ne soit pas enregistrée, le site Web utilise probablement un format de flux propriétaire qui ne peut être enregistré par aucun programme de récupération de cache. Exemples: Hulu, Netflix, certaines vidéos youtube?) En outre, le lecteur VLC est un idéal pour regarder des vidéos flash.

#!/usr/bin/env bash
# getvids.sh [save_folder]

SAVE_FOLDER="$HOME" # User editable

# If the below option is used, then this script should be run in a terminal.
#CPMOD="-i" # Uncomment to prevent file overwrites

PATERN="libflashplayer"
ALL_PID=`pgrep -f $PATERN`

if [ $? -eq 1 ]; then
  echo ERROR: Flashplayer not running
  exit 1
fi

if [ ! -z $1 ]; then
  echo "Setting save location: $1"
  SAVE_FOLDER="$1"
fi

if [ ! -d "$SAVE_FOLDER" ]; then
  echo "Save location doesn't exist: $SAVE_FOLDER"
  exit 1
fi

for PID in $ALL_PID; do
  declare -a OUTFILES=($(ls -lt1 /proc/$PID/fd | grep '/tmp/Flash' | sed 's/^.*\/tmp\///' | sed 's/\ .*$//'))
  declare -a FDS=($(ls -lt1 /proc/$PID/fd | grep '/tmp/Flash' | awk '{ print $9 }' ))
  for ((i=0; i<${#FDS[@]}; i++)); do
    saveas="$SAVE_FOLDER/${OUTFILES[i]}.flv"
    echo "Copying video ${FDS[i]} to $saveas"
    cp $CPMOD "/proc/$PID/fd/${FDS[i]}" "$saveas"
  done
done

Ceux qui connaissent un peu le terminal peuvent éditer les deux premières variables et obtenir un peu plus de fonctionnalités. Sinon, pour afficher les fichiers en direct, vous pouvez les saisir dans un terminal pour savoir où ils se trouvent for i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done

PS Aussi, excellent travail chlumma1, mais décale un peu le style de programmation C;)

3
Sepero

Les versions récentes du plugin flash cachent le fichier temporaire en le marquant comme supprimé. En pratique, le flux vidéo est téléchargé dans un "fichier supprimé". Cependant, même lorsqu'un fichier est supprimé, si le fichier est ouvert par un processus, vous pouvez trouver son descripteur de fichier et par conséquent son contenu.

Ce script simple imprime les descripteurs de fichier des vidéos Flash ouvertes:

file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d:

Et vous voudrez probablement créer un fichier normal à partir du descripteur de fichier, par exemple:

cp $(file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d: | head -n 1) video.avi

Sinon, le descripteur de fichier n'est pas très pratique (rappelez-vous, c'est un fichier supprimé!)

La méthode devrait fonctionner indépendamment de votre navigateur.

2
janos

Hé, ce problème existait déjà dans 10.10. Donc, pour le résoudre, essayez ceci:

None of the methods described by previous posters are as convenient as just copying the flash file from the tmp directory.

Therefore, what I did was downgrade my Flash to 10.1.102.64

The download link for older versions of flash is http://kb2.Adobe.com/cps/142/tn_14266.html

Download the (large) file named "Flash Player 10.1.102.64 and 9.0.289.0".
After downloading, extract the file named flashplayer10_1r102_64_linux.tar.gz

From this file extract libflashplayer.so and overwrite the file at /usr/lib/flashplugin-installer (you will need root privileges, try gksudo nautilus)

Restart Firefox and your flash videos will land up in the /tmp directory as before! This won't work for Google Chrome, it will continue to use the latest version of Flash.

Note: For the above steps to work, a version of Adobe Flash should have been previously installed.

[cité de ce site: posté par chetancrasta View Post ]

J'espère que cela t'aidera. Faites-moi savoir si ça va marcher.

1
Vito

Pour une méthode généralement applicable qui fonctionne avec chrome ou firefox, essayez ce petit programme appelé flashcache . Il copie les vidéos flash en cours de lecture dans le répertoire en cours.

Mon patch ajoute l'option -p qui permet au script de lire les vidéos en utilisant mplayer au lieu de faire des copies des fichiers.

1
loevborg

J'utilise SMplayer YouTube. Il est livré avec Smplayer que vous installez dans Ubuntu Software Center. Il enregistre des vidéos youtube. très simple et facile à utiliser.

1
user297921

J'utilise minitube, un client youtube qui stocke des fichiers flash sur /tmp

1
user20043

Bien que ne répondant pas directement à la question, je suis tombé sur le même problème et, après quelques recherches, trouvé Clipgrab qui est beaucoup plus facile à utiliser .

1
Cas

suivez ce lien (~/.mozilla/firefox/ewzggcll.default/Cache)

À moins que je ne sois vraiment confus (ne le crois pas), cet "ewzggcll" ne sera pas dans votre machine. Vous constaterez qu'il existe une collection aléatoire de lettres (et éventuellement de chiffres?) Très probablement uniques à votre installation Linux et Firefox. Néanmoins, cette collection aléatoire d'apparence étrange est importante, car elle est essentielle pour accéder à la cache [s].

J'espère que cela t'aides! (HTH)

1
jayfro

Ce script fera cela:

#!/bin/bash
PATERN="libflashplayer"
ALL_PID=`pgrep -f $PATERN`

if [ $? -eq 1 ]
then
echo ERROR: Flashplayer not runnig
exit 1
 fi


 for PID in $ALL_PID
 do

OUTFILES=`ls -lt1 /proc/$PID/fd | grep '/tmp' | sed 's/^.*\/tmp\///' | sed 's/\ .*$//'`
INFD=`ls -lt1 /proc/$PID/fd | grep '/tmp' | cut -f 9 -d \ `


# nazev souboru do pole
i=0;
for out in $OUTFILES
do
    i=`expr $i + 1`
    NAMEFILE[$i]=$out

done

# nazev file desktiptoru do pole
i=0;
for out in $INFD
do
    i=`expr $i + 1`
    NAMEFD[$i]=$out
done



# ulozeni video dat
i=0;
for outfd in $OUTFILES
do
    i=`expr $i + 1`
    #echo ${NAMEFILE[$i]} ${NAMEFD[$i]}

    cat /proc/$PID/fd/${NAMEFD[$i]} > ${NAMEFILE[$i]}.flv
done

done
1
chlumma1

Vous pouvez essayer cette commande dans un terminal

cp \`file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print$1}'` dirname/
1
Susman

la méthode la plus simple consiste à utiliser le module complémentaire "CacheViewer Continued 0.8" pour firefox.

après avoir installé, appuyez sur ctrl + Maj + c pour ouvrir, puis appuyez sur Tout afficher, vous pourrez ensuite rechercher un cache particulier comme jpeg, FLV n'importe quoi ...... un clic gauche sur l'élément vous donnera l'option de sauvegarder, sauvegarder en donnant l'extension requise comme .flv pour la vidéo flash et .jpeg pour le jpeg et inversement enter image description here

lien pour l'addon https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api

0
gunjan parashar

Vous pouvez également utiliser keepvid.com pour de nombreux sites de streaming vidéo. Cependant, Java doit être installé sur vos machines. Une fois installé, il vous suffit de coller le lien URL et de l’enregistrer dans divers formats, y compris mp4 ou WebM.

0
mattibuntu

C'est encore possible.

Vous pouvez utiliser le script Shell de cet article explique comment ouvrir/lire toutes les vidéos Flash avec VLC .

Pour copier toutes les vidéos, vous devez remplacer dans la dernière ligne du script vlcpar cpet fournir un répertoire de destination à la fin de la même ligne.

0
James

Mozilla semble changer d’emplacement trop souvent. En outre, le nom de la mémoire tampon n’est pas le même que celui de la vidéo, il est donc également difficile de trouver le fichier correspondant dans le tas. Donc, enregistrer le fichier en cache n’est pas une solution cohérente. Si l'installation d'un programme de bureau est correcte, ClipGrab est le meilleur outil qui existe. Vous pouvez

  1. Rechercher des vidéos.
  2. Sélectionnez la qualité de la vidéo youtube à télécharger.
  3. Sélectionnez le format de la vidéo à télécharger.
  4. Vous pouvez simplement donner une URL de vidéo youtube et le fichier sera téléchargé.

ClipGrab pour télécharger des vidéos youtube dans Ubunt .

0
arunskrish