Làm cách nào tôi có thể truy cập các tệp Flash từ các trang web phát trực tuyến?


30

Trong Maverick, có một tùy chọn để tải xuống video Flash từ các trang web như YouTube, Vimeo, v.v. bằng cách sao chép flashxx**tệp trong /tmpthư mục sang vị trí khác trước khi đóng cửa sổ. Nhưng trong Firefox 4 trong Natty, điều này không còn hoạt động nữa. Tại sao?


Nếu bạn chỉ muốn tải xuống video, tôi khuyên dùng Clipgrab: clipgrab.de/en . Họ có một PPA: launchpad.net/~clipgrab-team
Martin Thoma

Câu trả lời:


26

Một bản cập nhật cho plugin flash đã thay đổi vị trí từ /tmpthư mục bộ đệm của Firefox (ví dụ ~/.mozilla/firefox/bq95m4w1.default/Cache). Thật không may, tập tin flash lưu trữ không dễ tìm thấy như trước đây, nhưng nó có thể.

Lệnh sau liệt kê tất cả các tệp flash trong bộ đệm Firefox của bạn.

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

Trên các phiên bản mới hơn của Ubuntu thử

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

1
Tại sao không file ~/.mozilla/firefox/*.default/Cache/* | grep Flash? Thư mục bộ đệm dường như không có thư mục con, điều đó có thể biện minh cho việc sử dụng find.
enzotib

không hoạt động. có lẽ đã làm việc trước đây
dumb906

Tệp FLV vẫn còn trong / tmp, tuy nhiên bạn cần một thủ thuật đặc biệt để truy cập nó.
user4124

Xem câu trả lời của tôi dưới đây để nói về việc khôi phục tệp FLV bằng cách sử dụng hệ thống tập tin / Proc. Tuy nhiên, bạn có thể sử dụng một trong các addon Firefox để thực hiện cùng một tác vụ.
user4124

28

Bạn có thể sử dụng một số addon Firefox để trích xuất các tệp FLV từ nhiều trang web như Youtube.

Dưới đây tôi sẽ chỉ cho bạn cách thực hiện điều này với phiên bản mới nhất của plugin Flash.

  1. Truy cập video YouTube và chờ đợi để tải xuống đầy đủ.
  2. Sau đó, chạy từ dòng lệnh lệnh

    $ lsof -n | grep Flash

    trong đó hiển thị các tệp (ngay cả các tệp bộ nhớ !) và các bộ lọc cho những tệp có Flashtên của chúng.

  3. Bạn nhận được một cái gì đó như

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

    Bây giờ, có một /tmp/FlashXXVkHEM6nhưng nó đã bị xóa.

  4. Trong Linux, nếu một tệp bị xóa, nó thực sự chỉ biến mất khi tất cả các chương trình đã mở trước đó được đóng lại. Đó là, plugin Flash đang sử dụng một mẹo để ẩn tệp / tmp / FlashXXVkHEM6. Nó tạo ra nó và ngay lập tức deletesnó. Nhưng vì plugin Flash tiếp tục chạy, nên rõ ràng nó vẫn có thể sử dụng nó.

  5. Từ dòng trên, chúng tôi lưu ý số 2461, đó là ID quá trình. Trong trường hợp của bạn, nó có thể sẽ khác nhau. Sau đó chạy

    $ cd /proc/2461/fd

    và cuối cùng thực thi

    $ ls -l

    Điều này sẽ cho bạn thấy các tập tin bộ nhớ, và đặc biệt

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

    Số '17' (trong trường hợp của tôi) là tên tệp bạn có thể sử dụng để truy cập đã xóa /tmp/FlashXXVkHEM6 . Do đó, chỉ cần chạy

    $ cp 17 /tmp/myyoutubevideo.flv

    và bạn khôi phục Video Youtube!

Đó là nó! Bạn đã tự phục hồi video Youtube!


7

Nếu bạn điều hướng đến thư mục / Proc của mình, bạn sẽ thấy một loạt các thư mục được đặt tên bằng số, bao gồm một thư mục khớp với số trong trường thứ hai.

Bây giờ điều hướng đến thư mục này, sau đó thư mục con của nó Fdd. Trong thư mục này, bạn sẽ thấy toàn bộ lựa chọn số. Chúng liên quan đến bản mô tả tập tin.

Chạy ls -ltrong thư mục này và bạn sẽ thấy rằng mỗi số này được liên kết với đường ống, ổ cắm hoặc tệp.

Trong phạm vi này, số từ trường thứ tư sẽ được liên kết tượng trưng với tệp / tmp / Flash * mà chúng tôi tìm thấy trước đó.

Để kiểm tra xem đây có phải là tệp phù hợp hay không, bạn có thể chạy nó thông qua mplayer hoặc vlc ( mplayer filedescriptornumber/ vlc filedescriptornumber). Nếu bạn gặp khó khăn khi tìm tên tệp, hãy thử ls -l | grep Flash.

Để dễ dàng thử lệnh này trong bảng điều khiển:

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

Đầu ra sẽ giống như thế này:

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

Điều đó sẽ liệt kê tất cả các luồng flash đã tải xuống của bạn. Ví dụ, có 2 video flash từ trình duyệt firefox 4 của tôi. Nếu bạn muốn sao chép nó, chỉ cần sử dụng lệnh này:

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

Nguồn: http://n00bsys0p.wordpress.com/2011/02/10/how-to-doad-flash-10-2-video-streams-in-linux/


5

Kịch bản nhỏ này sẽ lưu các tập tin flash đã tải xuống của bạn vào một thư mục tùy chỉnh.

  1. tạo thư mục nơi bạn muốn lưu tệp, ví dụ ~ / Video / flvs

    mkdir ~/Videos/flvs
    
  2. mở gedit và sao chép và dán tập lệnh này.

    #!/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. lưu tệp dưới dạng saveflashall.sh, sau đó thêm quyền thực thi vào tệp

    chmod +x saveflashall.sh
    
  4. sau đó chạy nó

    ./saveflashall.sh
    

sau đó nó sẽ mở các tập tin trong thư mục đầu tiên được tạo ở trên. Được tùy chỉnh để bao gồm tất cả các tệp (làm việc cho mpeg và mp4) thay vì chỉ flvs.

Tín dụng truy cập vào http://desdecode.blogspot.com/2011/04/saving-watched-online-ideo-linux.html


Tôi đã thử điều này..một số video mà tôi đã xem từ lâu đã có trong thư mục này nhưng những video tôi đã xem ngay bây giờ thì không. Tại sao?
avi

4

Theo như tôi biết thì đây không phải là do firefox hay natty, mà là một bản cập nhật flash ...

Bạn có thể bắt luồng http bằng wiresharkhoặc sử dụng một công cụ như youtube-dlđể lấy tệp phim.

Nhưng hãy nhớ rằng nó có thể không hợp pháp, vì vậy hãy kiểm tra luật pháp địa phương của bạn ...


Thủ thuật gọn gàng với wireshark, nhưng tôi đoán điều này có thể mệt mỏi, vì các video có kích thước khá lớn (hơn 10MB), trong khi các gói đi kèm với một phần nhỏ của dữ liệu đó :)
Rafał Cieślak


3

Ubuntu 12.04 (Chính xác) - Hướng dẫn về Firefox 11 Phiên bản sửa đổi của tập lệnh bash của chlumma1.

Với trình soạn thảo văn bản, lưu mã bên dưới vào tệp có tên "getvids.sh". Di chuyển nó đến vị trí bạn muốn lưu video. Nhấp chuột phải vào tệp, đi đến Thuộc tính, Thay đổi Quyền thành "Cho phép thực thi dưới dạng chương trình".

Tất cả những gì bạn phải làm là nhấp vào tập lệnh, chọn "Chạy trong Terminal" và nó sẽ lưu tất cả các tệp video vào thư mục đó. Để lưu toàn bộ video, nó phải được tải xong trong trình duyệt của bạn. Nó sẽ lưu video từ hầu hết mọi trang web, bao gồm youtube, vimeo, dailymotion, metacafe, liveleak, facebook . Chỉ cần xóa bất kỳ tập tin video bạn không muốn.

(Nếu video bạn muốn không được lưu, thì trang web có thể đang sử dụng định dạng luồng độc quyền không thể lưu bởi bất kỳ chương trình truy xuất bộ đệm nào. Ví dụ: Hulu, netflix, một số video youtube?) Ngoài ra, trình phát VLC là một tuyệt vời để xem video 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

Những người biết một chút về thiết bị đầu cuối có thể chỉnh sửa hai biến đầu tiên và đạt được một chút chức năng bổ sung. Ngoài ra, để xem các tệp trực tiếp, bạn có thể nhập tệp này vào một thiết bị đầu cuối để tìm ra vị trí của chúngfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done

Tái bút Ngoài ra, công việc tuyệt vời chlumma1, nhưng bỏ qua các vòng lặp kiểu lập trình C một chút;)


2

Các phiên bản gần đây của plugin flash ẩn tệp tạm thời bằng cách đánh dấu nó đã bị xóa. Thực tế, luồng video được tải xuống "tập tin đã xóa". Tuy nhiên, ngay cả khi một tệp bị xóa, nếu tệp được mở bởi một quy trình thì bạn có thể tìm thấy mô tả tệp của nó và do đó nội dung tệp.

Kịch bản đơn giản này in ra các mô tả tệp của các video Flash đã mở:

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

Và, có lẽ bạn muốn tạo một tệp thông thường từ bộ mô tả tệp, ví dụ:

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

Nếu không, bộ mô tả tệp không thuận tiện lắm (hãy nhớ, đó là một tệp đã bị xóa!)

Phương pháp sẽ hoạt động bất kể trình duyệt của bạn.


1

Này, vấn đề này đã tồn tại trong 10.10. Vì vậy, để giải quyết nó hãy thử điều này:

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.

[trích dẫn từ trang web này: được đăng bởi chetancrasta Xem bài viết ]

Tôi hy vọng điều này sẽ giúp bạn. Hãy cho tôi biết nếu điều này sẽ làm việc.


Tôi nghĩ rằng bạn đã hiểu nhầm câu hỏi. Poster gốc đã cài đặt Flash Player và hoạt động. Anh ta chỉ tự hỏi nơi Flash lưu trữ các tập tin tạm thời của nó.
Jeremy Bícha

Ya. Đúng. Nhưng tôi nghĩ rằng anh ấy đang tự hỏi, nơi các tập tin flash đã biến mất. Với phiên bản trình phát flash adobe mới, chúng được lưu trữ như @Woozy đã được đề cập. @Woozy cũng đề cập rằng "tệp flash được lưu trong bộ nhớ cache không dễ tìm thấy như trước". Vì vậy, nếu bạn muốn tập tin flash tìm lại "dễ dàng", bạn có thể hạ cấp trình phát flash của mình. Do đó, các tệp flash sẽ được lưu trữ trong / tmp một lần nữa ... Tôi hy vọng bạn hiểu quan điểm của tôi bây giờ!? Hoặc là tôi sai ?
Vito

1

Đối với một phương pháp thường được áp dụng hoạt động với chrome hoặc firefox, hãy thử chương trình nhỏ này được gọi là flashcache . Nó sao chép các video flash hiện đang được phát lại vào thư mục hiện tại.

Bản vá của tôi thêm tùy chọn -plàm cho tập lệnh phát lại video bằng cách sử dụng mplayerthay vì tạo các bản sao của tệp.


1

Mặc dù không trả lời trực tiếp câu hỏi, tôi đã gặp vấn đề tương tự và sau khi tìm kiếm, Clipgrab dễ sử dụng hơn nhiều.


1

Bạn có thể thử lệnh này trong một thiết bị đầu cuối

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

1

theo liên kết này ( ~/.mozilla/firefox/ewzggcll.default/Cache)

Trừ khi tôi thực sự bối rối (đừng nghĩ vậy), "ewzggcll" sẽ không có trong máy của bạn. Những gì bạn sẽ tìm thấy có một bộ sưu tập các chữ cái ngẫu nhiên (và có thể là số?) Rất có thể là duy nhất cho cài đặt Linux và Firefox của bạn. Tuy nhiên, bộ sưu tập ngẫu nhiên trông kỳ quặc này rất quan trọng, bởi vì nó rất cần thiết để lấy bộ đệm [s].

Hi vọng điêu nay co ich! (HTH)


1

Tôi sử dụng SMplayer YouTube. Nó đi kèm với Smplayer mà bạn cài đặt trong trung tâm phần mềm Ubuntu. Nó ghi video youtube. rất đơn giản và dễ để sử dụng.


Tôi có thể xác nhận rằng CÔNG TRÌNH này. Ubuntu 14.04. Tôi không thể tin rằng mình đã lãng phí thời gian để thử tất cả các câu trả lời ở đây và mọi nơi khác trên internet mà KHÔNG CÓ THÀNH CÔNG cho đến khi tôi đến đây ... Chỉ cần tìm kiếm SMPlayer trong trung tâm phần mềm, cài đặt nó, dán địa chỉ yt và lưu video, trong định dạng và kích thước của sự lựa chọn của tôi ...: D
PFROLIM


1

Kịch bản này sẽ làm điều đó:

#!/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 dường như thay đổi vị trí quá thường xuyên. Hơn nữa, tên của bộ đệm không giống với video, vì vậy việc tìm ra cái đúng từ heap cũng khó khăn. Vì vậy, lưu tập tin lưu trữ không phải là một giải pháp nhất quán. Nếu cài đặt chương trình máy tính để bàn là ổn, ClipGrab là công cụ tốt nhất hiện có. Bạn có thể

  1. Tìm kiếm video.
  2. Chọn chất lượng video youtube để tải xuống.
  3. Chọn định dạng của video để tải xuống.
  4. Bạn chỉ có thể cung cấp một URL video youtube và nó sẽ tải xuống tệp.

ClipGrab để tải xuống video youtube trong Ubuntu .


0

Bạn cũng có thể sử dụng keepvid.com cho nhiều trang web phát video. Nó không yêu cầu java phải có trên máy của bạn. Sau khi cài đặt, chỉ cần dán vào liên kết url và lưu nó ở nhiều định dạng bao gồm mp4 hoặc WebM


0

Phương pháp đơn giản nhất là sử dụng addon "CacheViewer Continued 0.8" cho firefox

Sau khi cài đặt, nhấn ctrl + shift + c để mở và sau đó nhấn hiển thị tất cả, sau đó bạn có thể tìm kiếm một bộ đệm cụ thể như jpeg, flv bất cứ điều gì ...... nhấp chuột trái vào mục sẽ cung cấp cho bạn tùy chọn để lưu, lưu nó bằng cách cung cấp phần mở rộng cần thiết như .flv cho flash video và .jpeg cho jpeg và ngược lại nhập mô tả hình ảnh ở đây

liên kết cho addon https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.