ในไม่ฝักใฝ่ฝ่ายใดมีตัวเลือกในการดาวน์โหลดวิดีโอแฟลชจากเว็บไซต์เช่น YouTube, Vimeo ฯลฯ โดยการคัดลอกflashxx**
ไฟล์ใน/tmp
ไดเรกทอรีไปยังตำแหน่งอื่นก่อนที่จะปิดหน้าต่าง แต่ใน Firefox 4 ใน Natty สิ่งนี้ไม่ทำงานอีกต่อไป ทำไม?
ในไม่ฝักใฝ่ฝ่ายใดมีตัวเลือกในการดาวน์โหลดวิดีโอแฟลชจากเว็บไซต์เช่น YouTube, Vimeo ฯลฯ โดยการคัดลอกflashxx**
ไฟล์ใน/tmp
ไดเรกทอรีไปยังตำแหน่งอื่นก่อนที่จะปิดหน้าต่าง แต่ใน Firefox 4 ใน Natty สิ่งนี้ไม่ทำงานอีกต่อไป ทำไม?
คำตอบ:
การอัพเดตปลั๊กอินแฟลชเปลี่ยนตำแหน่งจาก/tmp
ไปเป็นไดเรกทอรีแคชของ Firefox (เช่น~/.mozilla/firefox/bq95m4w1.default/Cache
) น่าเสียดายที่ไฟล์แฟลชที่เก็บไว้ไม่สามารถหาได้ง่ายเหมือน แต่ก่อน แต่เป็นไปได้
คำสั่งต่อไปนี้แสดงรายการไฟล์แฟลชทั้งหมดในแคช Firefox ของคุณ
find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
ลองอูบุนตูเวอร์ชันใหม่กว่า
find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \; | grep Flash
file ~/.mozilla/firefox/*.default/Cache/* | grep Flash
? ดูเหมือนว่าไดเรกทอรีแคชนั้นจะไม่มีไดเรกทอรีย่อยซึ่งสามารถปรับการใช้งานfind
ได้
คุณสามารถใช้ส่วนเสริมของ Firefox เพื่อแยกไฟล์ FLV จากเว็บไซต์ต่าง ๆ เช่น Youtube
ฉันจะแสดงวิธีทำด้วยตนเองด้วยปลั๊กอินแฟลชเวอร์ชันล่าสุดด้านล่าง
จากนั้นเรียกใช้คำสั่งจากบรรทัดคำสั่ง
$ lsof -n | grep Flash
ซึ่งแสดงไฟล์ (แม้ไฟล์หน่วยความจำ !) และตัวกรองไปยังไฟล์ที่มีFlash
ชื่ออยู่
คุณได้รับสิ่งที่ชอบ
plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted)
.
ตอนนี้มี/tmp/FlashXXVkHEM6
แต่มันถูกลบไปแล้ว
ใน Linux หากไฟล์ถูกลบจริง ๆ แล้วมันจะหายไปเมื่อทุกโปรแกรมที่เปิดก่อนหน้านี้ถูกปิด นั่นคือปลั๊กอินแฟลชกำลังใช้เคล็ดลับเพื่อซ่อนไฟล์ / tmp / FlashXXVkHEM6 มันจะสร้างมันและทันทีที่deletes
มัน แต่เนื่องจากปลั๊กอิน Flash ยังคงทำงานอยู่จึงยังคงสามารถใช้งานได้
จากบรรทัดด้านบนเราบันทึกหมายเลข2461
ซึ่งเป็นรหัสกระบวนการ ในกรณีของคุณมันอาจจะแตกต่างกัน จากนั้นเรียกใช้
$ 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!
แค่นั้นแหละ! คุณกู้คืนวิดีโอ Youtube ด้วยตนเอง!
หากคุณนำทางไปยังโฟลเดอร์ / proc ของคุณคุณจะเห็นกลุ่มของชื่อทั้งหมดเป็นตัวเลขรวมถึงโฟลเดอร์ที่ตรงกับหมายเลขในฟิลด์ที่สอง
ตอนนี้นำทางไปยังโฟลเดอร์นี้จากนั้นโฟลเดอร์ย่อย“ fd” ในโฟลเดอร์นี้คุณจะเห็นตัวเลขทั้งหมด สิ่งเหล่านี้เกี่ยวข้องกับไฟล์อธิบายด้วยตนเอง
เรียกใช้ls -l
ในโฟลเดอร์นี้และคุณจะเห็นว่าแต่ละหมายเลขเหล่านี้เชื่อมโยงกับไพพ์ซ็อกเก็ตหรือไฟล์
ภายในนี้จำนวนจากฟิลด์ที่สี่จะถูกเชื่อมโยงสัญลักษณ์กับไฟล์ / 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
ซึ่งจะแสดงรายการรายการแฟลชสตรีมที่คุณดาวน์โหลดทั้งหมด ตัวอย่างเช่นมี 2 วิดีโอแฟลชจากเบราว์เซอร์ firefox 4 ของฉัน หากคุณต้องการคัดลอกเพียงใช้คำสั่งนี้:
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
จากนั้นจะเปิดไฟล์ในโฟลเดอร์แรกที่สร้างขึ้นด้านบน ปรับแต่งเพื่อรวมไฟล์ทั้งหมด (ใช้งานได้กับ mpeg และ mp4) แทนไฟล์ flvs เท่านั้น
เครดิตไปที่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 เวอร์ชันดัดแปลง
ด้วยโปรแกรมแก้ไขข้อความให้บันทึกรหัสด้านล่างลงในไฟล์ชื่อ "getvids.sh" ย้ายไปยังตำแหน่งที่คุณต้องการบันทึกวิดีโอ คลิกขวาที่ไฟล์ไปที่คุณสมบัติเปลี่ยนสิทธิ์เป็น "อนุญาตให้ดำเนินการเป็นโปรแกรม"
สิ่งที่คุณต้องทำคือคลิกที่สคริปต์เลือก "Run in Terminal" และมันจะบันทึกไฟล์วิดีโอทั้งหมดไปยังไดเรกทอรีนั้น ในการบันทึกวิดีโอทั้งหมดจะต้องโหลดเสร็จในเบราว์เซอร์ของคุณ มันจะบันทึกวิดีโอจากเกือบเว็บไซต์ใด ๆ รวมทั้งYouTube, Vimeo, Dailymotion, Metacafe, liveleak, Facebook เพียงลบไฟล์วิดีโอที่คุณไม่ต้องการ
(หากวิดีโอที่คุณต้องการไม่ได้รับการบันทึกแสดงว่าเว็บไซต์นั้นอาจใช้รูปแบบสตรีมที่เป็นกรรมสิทธิ์ที่ไม่สามารถบันทึกได้โดยโปรแกรมเรียกดูแคชตัวอย่าง: Hulu, netflix, วิดีโอ youtube บางส่วน) นอกจากนี้ VLC player เป็น ยอดเยี่ยมสำหรับการดูวิดีโอแฟลช
#!/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
ผู้ที่รู้เล็กน้อยเกี่ยวกับเทอร์มินัลสามารถแก้ไขตัวแปรสองตัวแรกและบรรลุการทำงานพิเศษเล็กน้อย หรือหากต้องการดูไฟล์สดคุณสามารถพิมพ์สิ่งนี้ในเทอร์มินัลเพื่อค้นหาว่าไฟล์อยู่ที่ใดfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done
PS นอกจากนี้การทำงานที่ยอดเยี่ยม chlumma1 แต่เลิกจ้างสไตล์การเขียนโปรแกรม C ลูปบิต;)
ปลั๊กอินแฟลชเวอร์ชันล่าสุดซ่อนไฟล์ชั่วคราวโดยทำเครื่องหมายว่าลบทิ้ง ในที่สุดสตรีมวิดีโอจะถูกดาวน์โหลดเป็น "ไฟล์ที่ถูกลบ" อย่างไรก็ตามแม้ว่าเมื่อไฟล์ถูกลบหากไฟล์ถูกเปิดโดยกระบวนการคุณสามารถค้นหาไฟล์ descriptor และตามมาด้วยเนื้อหาของไฟล์
สคริปต์อย่างง่ายนี้จะพิมพ์ไฟล์อธิบายของวิดีโอ Flash ที่เปิดอยู่:
file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d:
และคุณอาจต้องการสร้างไฟล์ปกติจาก file descriptor เช่น:
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 ดูโพสต์ ]
ฉันหวังว่านี่จะช่วยคุณได้ แจ้งให้เราทราบว่าจะใช้งานได้หรือไม่
สำหรับวิธีการทั่วไปที่ใช้บังคับซึ่งทำงานร่วมกับ Chrome หรือ Firefox ลองโปรแกรมเล็ก ๆ ที่เรียกว่าflashcache มันคัดลอกวิดีโอแฟลชที่กำลังเล่นกลับไปยังไดเรกทอรีปัจจุบัน
แพทช์ของฉันเพิ่มตัวเลือก-p
ที่ทำให้สคริปต์เล่นวิดีโอโดยใช้mplayer
แทนที่จะทำสำเนาไฟล์
แม้ว่าจะไม่ตอบคำถามโดยตรง แต่ฉันพบปัญหาเดียวกันและหลังจากการค้นหาบางอย่างพบClipgrabซึ่งใช้งานได้ง่ายกว่ามาก
คุณสามารถลองใช้คำสั่งนี้ในเทอร์มินัล
cp \`file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print$1}'` dirname/
ตามลิงค์นี้ ( ~/.mozilla/firefox/ewzggcll.default/Cache
)
นอกเสียจากว่าฉันจะสับสนจริง ๆ (อย่าคิดเช่นนั้น) ว่า "ewzggcll" จะไม่อยู่ในเครื่องของคุณ สิ่งที่คุณจะพบว่ามีชุดตัวอักษรแบบสุ่ม (และตัวเลขอาจเป็นไปได้หรือไม่) ที่มีแนวโน้มว่าจะไม่ซ้ำกันในการติดตั้ง Linux และ Firefox ของคุณ อย่างไรก็ตามคอลเลกชันแบบสุ่มที่ดูแปลก ๆ นี้มีความสำคัญเนื่องจากเป็นสิ่งจำเป็นสำหรับการไปที่แคช [s]
หวังว่านี่จะช่วยได้! (HTH)
ฉันใช้ SMplayer YouTube มันมาพร้อมกับ Smplayer ที่คุณติดตั้งในศูนย์ซอฟต์แวร์อูบุนตู มันบันทึกวิดีโอ youtube ง่ายมากและใช้งานง่าย
ฉันใช้minitube
ไคลเอนต์ youtube ที่เก็บไฟล์แฟลชไว้/tmp
สคริปต์นี้จะทำเช่นนั้น:
#!/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 เป็นเครื่องมือที่ดีที่สุด คุณสามารถ
ClipGrab การดาวน์โหลดวิดีโอ YouTube ในอูบุนตู
คุณยังสามารถใช้ keepvid.com สำหรับเว็บไซต์สตรีมมิ่งวิดีโอจำนวนมาก มันต้องการจาวาเพื่อใช้งานบนเครื่องของคุณ เมื่อติดตั้งแล้วเพียงวางลิงค์ URL และบันทึกในรูปแบบที่หลากหลายรวมถึง mp4 หรือ WebM
วิธีที่ง่ายที่สุดคือใช้ส่วนเสริม "CacheViewer Continued 0.8" สำหรับ firefox
หลังจากติดตั้งกด ctrl + shift + c เพื่อเปิดแล้วกดแสดงทั้งหมดหลังจากนั้นคุณสามารถค้นหาแคชเฉพาะเช่น jpeg, flv อะไรก็ได้ ...... คลิกซ้ายที่ไอเท็มจะให้ตัวเลือกในการบันทึกบันทึก โดยให้ส่วนขยายที่จำเป็นเช่น. flv สำหรับวิดีโอแฟลชและ. jpeg สำหรับ jpeg และในทางกลับกัน
ลิงค์สำหรับ addon https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api
ยังคงเป็นไปได้
คุณสามารถใช้สคริปต์เชลล์จากโพสต์นี้เกี่ยวกับวิธีการเปิด / เล่นวิดีโอ Flash ทั้งหมดที่มี VLC
ในการคัดลอกวิดีโอทั้งหมดที่คุณต้องแทนที่ในบรรทัดสุดท้ายของสคริปต์vlc
โดยcp
และจัดทำไดเรกทอรีปลายทางที่ท้ายบรรทัดเดียวกัน
หวังว่านี่จะช่วยคุณได้ http://sahanlm.blogspot.com/2012/05/how-to-copy-google-chrome-cache-flash.html