ストリーミングWebサイトからFlashファイルにアクセスするにはどうすればよいですか?


30

Maverickには、ウィンドウを閉じる前flashxx**/tmpディレクトリ内のファイルを別の場所にコピーして、YouTube、VimeoなどのサイトからFlashビデオをダウンロードするオプションがありました。しかし、NattyのFirefox 4では、これはもう機能しません。どうして?


ビデオをダウンロードしたいだけなら、Clipgrab:clipgrab.de/enをお勧めします。PPAがあります:launchpad.net/~clipgrab-team
Martin Thoma

回答:


26

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

1
どうしてfile ~/.mozilla/firefox/*.default/Cache/* | grep Flash?キャッシュディレクトリにはサブディレクトリがないようですfind。これにより、の使用を正当化できます。
-enzotib

動作しません。おそらく前に働いた。
dumb906

FLVファイルはまだ/ tmpにありますが、アクセスするには特別なトリックが必要です。
user4124

/ procファイルシステムを使用してFLVファイルを復元する方法についての以下の返信を参照してください。それでも、Firefoxアドオンの1つを使用して同じタスクを実行できます。
user4124

28

Youtubeなどの多くのWebサイトからFLVファイルを抽出するために、いくつかのFirefoxアドオンを使用できます。

Flashプラグインの最新バージョンでこれを手動で行う方法を以下に示します。

  1. YouTubeビデオにアクセスして、完全にダウンロードされるのを待ちます。
  2. 次に、コマンドラインからコマンドを実行します

    $ lsof -n | grep Flash

    ファイル(メモリファイルさえも!)を表示Flashし、名前に含まれるファイルにフィルターをかけます。

  3. あなたは次のようなものを得ます

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

    現在、ありますが、/tmp/FlashXXVkHEM6削除されています。

  4. Linuxでは、ファイルが削除された場合、実際にファイルが開かれたすべてのプログラムが閉じられたときにのみ実際に消えます。つまり、Flashプラグインはトリックを使用して/ tmp / FlashXXVkHEM6ファイルを非表示にします。それを作成し、すぐにdeletesそれを。しかし、Flashプラグインは実行を継続するため、明らかにそれを使用できます。

  5. 上記の行から、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ビデオを手動で回復しました!


7

/ 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/


5

この小さなスクリプトは、ダウンロードしたフラッシュファイルをカスタムディレクトリに保存します。

  1. 〜/ Videos / flvsなど、ファイルを保存するディレクトリを作成します

    mkdir ~/Videos/flvs
    
  2. 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"&
    
  3. ファイルをsaveflashall.shとして保存し、実行可能権限をファイルに追加します

    chmod +x saveflashall.sh
    
  4. それを実行します。

    ./saveflashall.sh
    

次に、上記で作成した最初のフォルダー内のファイルを開きます。flvのみではなく、すべてのファイル(mpegおよびmp4で機能する)を含めるようにカスタマイズされています。

クレジットはhttp://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.htmlに行きます


私はこれを試しました。長い間見てきたいくつかのビデオは現在このフォルダにありますが、今見たビデオはそうではありません。どうして?
avi

4

私が知る限り、これはfirefoxやnattyによるものではなく、フラッシュアップデートによるものです...

httpストリームをキャッチするか、ムービーファイルを取得するwiresharkなどのツールを使用youtube-dlできます。

しかし、それは合法ではないかもしれないので、地元の法律を確認してください...


ニートwiresharkのとトリックが、私は、パッケージはそのデータの小片が付属していながら動画は、(10メガバイト以上)、サイズが非常に大きいと、これは、疲れるかもしれ推測:)
ラファウCieślak


3

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プログラミングスタイルのループを少し中断します;)


2

フラッシュプラグインの最近のバージョンでは、一時ファイルを削除済みとしてマークして非表示にします。実際には、ビデオストリームは「削除されたファイル」にダウンロードされます。ただし、ファイルが削除された場合でも、ファイルがプロセスによって開かれている場合は、ファイル記述子とファイルの内容を見つけることができます。

この簡単なスクリプトは、開かれた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

それ以外の場合、ファイル記述子はあまり便利ではありません(削除されたファイルであることを忘れないでください!)

このメソッドは、ブラウザに関係なく機能するはずです。


1

ちょっと、この問題は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 ]

これがあなたのお役に立てば幸いです。これが機能するかどうかを教えてください。


あなたは質問を誤解したと思います。元のポスターには既にFlash Playerがインストールされ、動作しています。彼は、Flashが一時ファイルをどこに保存するのか疑問に思っています。
ジェレミービチャ

Y A。右。しかし、私は彼が不思議に思っていると思います、どこでフラッシュファイルがなくなったのか。新しいAdobe Flash Playerバージョンでは、すでに説明した@Woozyのように保存されます。@Woozyは、「キャッシュされたフラッシュファイルは以前ほど簡単に見つけることができない」とも述べました。そのため、フラッシュファイルをもう一度「簡単に」見つけたい場合は、フラッシュプレーヤーをダウングレードできます。その結果、フラッシュファイルは再び/ tmpに保存されます...今、私のポイントを理解してください!?それとも間違っていますか?
ヴィート

1

chromeまたはfirefoxで動作する一般的に適用可能な方法については、flashcacheと呼ばれるこの小さなプログラムを試してください。現在再生中のフラッシュビデオを現在のディレクトリにコピーします。

私のパッチは、ファイルのコピーを作成-pするmplayer代わりに、スクリプトを使用してビデオを再生するオプションを追加します。


1

質問に直接答えていませんが、私は同じ問題にぶつかりました。そして、いくつかの検索の後、使いやすいClipgrabを見つけました。


1

ターミナルでこのコマンドを試すことができます

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

1

このリンクに従ってください(~/.mozilla/firefox/ewzggcll.default/Cache

私が本当に混乱しない限り(そうは思わない)、その「ewzggcll」はあなたのマシンにはありません。あなたが見つけるものは、あなたのLinuxとFirefoxのインストールに固有である可能性が非常に高い文字のランダムなコレクション(そしておそらく数字?)です。それでも、この奇妙なランダムコレクションは重要です。キャッシュを取得するために不可欠だからです。

お役に立てれば!(HTH)


1

SMplayer YouTubeを使用しています。ubuntuソフトウェアセンターにインストールするSmplayerが付属しています。youtubeビデオを記録します。非常にシンプルで使いやすい。


これが動作することを確認できます。Ubuntu 14.04。ここまで来て、インターネット上ですべての答えを無事に試して時間を無駄にしたとは信じられません。私が選んだ形式とサイズで...:D
PFROLIM

1

minitubeフラッシュファイルを保存するYouTubeクライアントを使用します/tmp


1

このスクリプトはそれを行います:

#!/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

0

Mozillaは場所を頻繁に変更しているようです。さらに、バッファの名前はビデオと同じではないため、ヒープから現在のバッファを見つけることも困難です。したがって、キャッシュされたファイルを保存することは一貫した解決策ではありません。デスクトッププログラムをインストールしても問題ない場合は、ClipGrabが最適なツールです。あなたはできる

  1. ビデオを検索します。
  2. ダウンロードするYouTubeビデオの品質を選択します。
  3. ダウンロードするビデオの形式を選択します。
  4. youtube動画のURLを指定するだけで、ファイルがダウンロードされます。

ClipGrabを使用して、UbuntuでYouTubeビデオをダウンロードします


0

多くのビデオストリーミングサイトでkeepvid.comを使用することもできます。ただし、Javaがマシン上にある必要があります。インストールしたら、URLリンクに貼り付けて、mp4やWebMなどのさまざまな形式で保存します。


0

最も簡単な方法は、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



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.