web-dev-qa-db-ja.com

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

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

30
avi

フラッシュプラグインの更新により、場所が/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
26
Woozy

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

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

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

    $ lsof -n | grep Flash

    ファイル(memory files!)を表示し、名前にFlashを含むものにフィルターをかけます。

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

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

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

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

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

28
user4124

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

7
squallbayu

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

  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

5
dumb906

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

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

ただし、それは合法ではない可能性があるため、現地の法律を確認してください...

4
LassePoulsen

ビデオをダウンロードするには flashgot を使用する必要があります。

3
RolandiXor

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

3
Sepero

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

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

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

2
janos

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

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

1
Vito

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

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

1
loevborg

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

1
user297921

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

1
user20043

質問に直接答えていませんが、同じ問題に遭遇し、いくつかの検索が見つかりました Clipgrab これははるかに使いやすいです。

1
Cas

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

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

お役に立てれば! (HTH)

1
jayfro

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

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

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

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

最も簡単な方法は、Firefox用の「CacheViewer Continued 0.8」アドオンを使用することです

ctrl + shift + cを押して開いてからshow allを押して、jpeg、flvのような特定のキャッシュを検索できます......アイテムを左クリックすると、保存、保存のオプションが表示されますフラッシュビデオの場合は.flv、jpegの場合は.jpeg、またはその逆のような必要な拡張子を付けることにより、 enter image description here

アドオンのリンク https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api

0
gunjan parashar

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

0
mattibuntu

それはまだ可能です。

VLCですべてのFlashビデオを開く/再生する方法に関するこの投稿 からシェルスクリプトを使用できます。

すべてのビデオをコピーするには、スクリプトの最後の行vlccpに置き換え、同じ行の最後に宛先ディレクトリを指定する必要があります。

0
James

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

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

buntuでyoutube動画をダウンロードするにはClipGrab

0
arunskrish