Maverickには、ウィンドウを閉じる前にflashxx**
ディレクトリの/tmp
ファイルを別の場所にコピーすることにより、YouTube、VimeoなどのサイトからFlashビデオをダウンロードするオプションがありました。しかし、NattyのFirefox 4では、これはもう機能しません。どうして?
フラッシュプラグインの更新により、場所が/tmp
からFirefoxキャッシュディレクトリに変更されました(例:~/.mozilla/firefox/bq95m4w1.default/Cache
)。残念ながら、キャッシュされたフラッシュファイルは以前ほど簡単に見つけることはできませんが、可能です。
次のコマンドは、Firefoxキャッシュ内のすべてのフラッシュファイルを一覧表示します。
find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
Ubuntuの新しいバージョンで試してください
find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
Youtubeなどの多くのWebサイトからFLVファイルを抽出するために、いくつかのFirefoxアドオンを使用できます。
Flashプラグインの最新バージョンでこれを手動で行う方法を以下に示します。
次に、コマンドラインからコマンドを実行します
$ lsof -n | grep Flash
ファイル(memory files!)を表示し、名前にFlash
を含むものにフィルターをかけます。
あなたは次のようなものを得ます
plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)
。
現在、/tmp/FlashXXVkHEM6
がありますが、削除されています。
Linuxでは、ファイルが削除された場合、実際にファイルが開かれたすべてのプログラムが閉じられたときにのみ実際に消えます。つまり、Flashプラグインはトリックを使用して/ tmp/FlashXXVkHEM6ファイルを非表示にします。それを作成し、すぐにdeletes
it。しかし、Flashプラグインは実行を継続するため、明らかにそれを使用できます。
上記の行から、プロセスIDである番号2461
に注意してください。あなたの場合、おそらく異なるでしょう。次に、実行します
$ cd /proc/2461/fd
そして最後に実行する
$ ls -l
これにより、メモリファイル、特に
lrwx------ 1 user user 64 2011-09-16 10:23 17 -> /tmp/FlashXXVkHEM6 (deleted)
番号「17」(私の場合)は、deleted/tmp/FlashXXVkHEM6
にアクセスするために使用できるファイル名です。したがって、単に実行する
$ cp 17 /tmp/myyoutubevideo.flv
youtube Videoを復元します!
それでおしまい! Youtubeビデオを手動で回復しました!
/ procフォルダーに移動すると、2番目のフィールドの番号と一致するフォルダーを含む、すべて数字の名前が付いた一連のフォルダーが表示されます。
次に、このフォルダーに移動し、次にそのサブフォルダー「fd」に移動します。このフォルダには、数字の選択全体が表示されます。これらはファイル記述子自体に関連しています。
このフォルダーでls -l
を実行すると、これらの各番号がパイプ、ソケット、またはファイルにリンクされていることがわかります。
この中で、4番目のフィールドの数値は、以前に見つけた/ tmp/Flash *ファイルにシンボリックリンクされます。
これが正しいファイルであることをテストするために、mplayerまたはvlc(mplayer filedescriptornumber
/vlc filedescriptornumber
)で実行できます。ファイル名が見つからない場合は、ls -l | grep Flash
を試してください。
簡単な方法として、コンソールで次のコマンドを試してください。
stat -c %N /proc/*/fd/* 2>&1|awk -F[\`\'] '/Flash/{print$2}'
出力は次のようになります。
/proc/4691/fd/17
/proc/4691/fd/18
ダウンロードしたすべてのフラッシュストリームが一覧表示されます。その例では、Firefox 4ブラウザーから2つのFlashビデオがあります。コピーする場合は、次のコマンドを使用します。
cp /proc/4691/fd/17 ~/Videos/Flash/sample.flv
ソース: http://n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/
この小さなスクリプトは、ダウンロードしたフラッシュファイルをカスタムディレクトリに保存します。
〜/ Videos/flvsなど、ファイルを保存するディレクトリを作成します
mkdir ~/Videos/flvs
geditを開き、このスクリプトをコピーして貼り付けます。
#!/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"&
ファイルをsaveflashall.shとして保存してから、実行可能権限をファイルに追加します
chmod +x saveflashall.sh
それを実行します。
./saveflashall.sh
次に、上記で作成した最初のフォルダー内のファイルを開きます。 flvのみではなく、すべてのファイル(mpegおよびmp4で機能する)を含めるようにカスタマイズされています。
クレジットは http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html
私が知る限り、これはfirefoxやnattyによるものではなく、フラッシュアップデートによるものです...
wireshark
でhttpストリームをキャッチするか、youtube-dl
などのツールを使用してムービーファイルを取得できます。
ただし、それは合法ではない可能性があるため、現地の法律を確認してください...
ビデオをダウンロードするには flashgot を使用する必要があります。
buntu 12.04(Precise)-Firefox 11の手順chlumma1のbashスクリプトの修正バージョン
テキストエディターで、以下のコードを「getvids.sh」という名前のファイルに保存します。ビデオを保存する場所に移動します。ファイルを右クリックして、[プロパティ]に移動し、アクセス許可を[プログラムとしての実行を許可]に変更します。
必要なのは、スクリプトをクリックして「ターミナルで実行」を選択するだけです。すべてのビデオファイルがそのディレクトリに保存されます。ビデオ全体を保存するには、ブラウザへの読み込みを終了する必要があります。 youtube、vimeo、dailymotion、metacafe、liveleak、facebookなど、ほとんどすべてのWebサイトから動画を保存します。不要なビデオファイルを削除するだけです。
(必要なビデオが保存されない場合、Webサイトはおそらくキャッシュ取得プログラムで保存できない独自のストリーム形式を使用しています。例:Hulu、netflix、一部のyoutubeビデオ?)また、VLCプレーヤーは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
端末について少し知っている人は、最初の2つの変数を編集して、少し余分な機能を実現できます。または、ファイルをライブで表示するには、ターミナルでこれを入力して、それらがどこにあるかを確認しますfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done
PS。また、優れた作業chlumma1ですが、Cプログラミングスタイルのループを少し中断します;)
Flashプラグインの最近のバージョンでは、一時ファイルを削除済みとしてマークすることで非表示にします。実際には、ビデオストリームは「削除されたファイル」にダウンロードされます。ただし、ファイルが削除された場合でも、ファイルがプロセスによって開かれている場合は、ファイル記述子とファイルの内容を見つけることができます。
この簡単なスクリプトは、開かれたFlashビデオのファイル記述子を出力します。
file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d:
そして、おそらく、ファイル記述子から通常のファイルを作成したいでしょう、例えば:
cp $(file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d: | head -n 1) video.avi
それ以外の場合、ファイル記述子はあまり便利ではありません(削除されたファイルであることを忘れないでください!)
メソッドはブラウザに関係なく機能するはずです。
ちょっと、この問題は10.10で既に存在していました。それを解決するためにこれを試してください:
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.
[このサイトから引用: 投稿者chetancrasta View Post ]
これがあなたのお役に立てば幸いです。これが機能するかどうかを教えてください。
chromeまたはfirefoxで動作する一般的に適用可能な方法については、この小さなプログラム flashcache を試してください。現在再生中のフラッシュビデオを現在のディレクトリにコピーします。
私のパッチ オプション-p
を追加します。これにより、スクリプトはファイルのコピーを作成する代わりにmplayer
を使用してビデオを再生します。
SMplayer YouTubeを使用しています。 ubuntuソフトウェアセンターにインストールするSmplayerが付属しています。 youtubeビデオを記録します。非常にシンプルで使いやすい。
minitube
、/tmp
にフラッシュファイルを保存するYouTubeクライアントを使用します
質問に直接答えていませんが、同じ問題に遭遇し、いくつかの検索が見つかりました Clipgrab これははるかに使いやすいです。
このリンクに従ってください(~/.mozilla/firefox/ewzggcll.default/Cache
)
本当に混乱しない限り(そうは思わないで)、その「ewzggcll」はあなたのマシンにはありません。あなたが見つけるものは、あなたのLinuxとFirefoxのインストールに固有である可能性が非常に高い文字のランダムなコレクション(そしておそらく数字?)です。それでも、この奇妙なランダムコレクションは、キャッシュに到達するために不可欠であるため重要です。
お役に立てれば! (HTH)
このスクリプトはそれを行います:
#!/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
ターミナルでこのコマンドを試すことができます
cp \`file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print$1}'` dirname/
最も簡単な方法は、Firefox用の「CacheViewer Continued 0.8」アドオンを使用することです
ctrl + shift + cを押して開いてからshow allを押して、jpeg、flvのような特定のキャッシュを検索できます......アイテムを左クリックすると、保存、保存のオプションが表示されますフラッシュビデオの場合は.flv、jpegの場合は.jpeg、またはその逆のような必要な拡張子を付けることにより、
アドオンのリンク https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api
多くのビデオストリーミングサイトでkeepvid.comを使用することもできます。ただし、Javaがマシン上にある必要があります。インストールしたら、URLリンクに貼り付けて、mp4やWebMなどのさまざまな形式で保存します。
それはまだ可能です。
VLCですべてのFlashビデオを開く/再生する方法に関するこの投稿 からシェルスクリプトを使用できます。
すべてのビデオをコピーするには、スクリプトの最後の行vlc
をcp
に置き換え、同じ行の最後に宛先ディレクトリを指定する必要があります。
Mozillaは場所を頻繁に変更するようです。さらに、バッファの名前はビデオと同じではないため、ヒープから現在のバッファを見つけることも困難です。したがって、キャッシュされたファイルを保存することは一貫した解決策ではありません。デスクトッププログラムをインストールしても大丈夫な場合は、ClipGrabが最適なツールです。あなたはできる