Maverickには、ウィンドウを閉じる前flashxx**
に/tmp
ディレクトリ内のファイルを別の場所にコピーして、YouTube、VimeoなどのサイトからFlashビデオをダウンロードするオプションがありました。しかし、NattyのFirefox 4では、これはもう機能しません。どうして?
Maverickには、ウィンドウを閉じる前flashxx**
に/tmp
ディレクトリ内のファイルを別の場所にコピーして、YouTube、VimeoなどのサイトからFlashビデオをダウンロードするオプションがありました。しかし、NattyのFirefox 4では、これはもう機能しません。どうして?
回答:
Flashプラグインの更新により、場所/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
file ~/.mozilla/firefox/*.default/Cache/* | grep Flash
?キャッシュディレクトリにはサブディレクトリがないようですfind
。これにより、の使用を正当化できます。
Youtubeなどの多くのWebサイトからFLVファイルを抽出するために、いくつかのFirefoxアドオンを使用できます。
Flashプラグインの最新バージョンでこれを手動で行う方法を以下に示します。
次に、コマンドラインからコマンドを実行します
$ lsof -n | grep Flash
ファイル(メモリファイルさえも!)を表示Flash
し、名前に含まれるファイルにフィルターをかけます。
あなたは次のようなものを得ます
plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)
。
現在、ありますが、/tmp/FlashXXVkHEM6
削除されています。
Linuxでは、ファイルが削除された場合、実際にファイルが開かれたすべてのプログラムが閉じられたときにのみ実際に消えます。つまり、Flashプラグインはトリックを使用して/ tmp / FlashXXVkHEM6ファイルを非表示にします。それを作成し、すぐにdeletes
それを。しかし、Flashプラグインは実行を継続するため、明らかにそれを使用できます。
上記の行から、2461
プロセスIDである番号に注意してください。あなたの場合、おそらく異なるでしょう。次に、実行します
$ cd /proc/2461/fd
そして最後に実行する
$ ls -l
これにより、メモリファイル、特に
lrwx------ 1 user user 64 2011-09-16 10:23 17 -> /tmp/FlashXXVkHEM6 (deleted)
番号「17」(私の場合)は、削除された にアクセスするために使用できるファイル名です/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によるものではなく、フラッシュアップデートによるものです...
httpストリームをキャッチするか、ムービーファイルを取得するwireshark
などのツールを使用youtube-dl
できます。
しかし、それは合法ではないかもしれないので、地元の法律を確認してください...
動画をダウンロードするにはflashgotを使用する必要があります。
Ubuntu 12.04(正確) -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ビデオのファイル記述子を出力します。
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ビデオを記録します。非常にシンプルで使いやすい。
このスクリプトはそれを行います:
#!/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
Mozillaは場所を頻繁に変更しているようです。さらに、バッファの名前はビデオと同じではないため、ヒープから現在のバッファを見つけることも困難です。したがって、キャッシュされたファイルを保存することは一貫した解決策ではありません。デスクトッププログラムをインストールしても問題ない場合は、ClipGrabが最適なツールです。あなたはできる
最も簡単な方法は、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
それはまだ可能です。
VLCですべてのFlashビデオを開く/再生する方法については、この投稿のシェルスクリプトを使用できます。
あなたが持っているビデオのすべてをコピーするには、スクリプトの最後の行に置き換えることvlc
によってcp
、同じ行の最後に先のディレクトリを提供しています。