मैं बफ़र्ड फ्लैश वीडियो (लिनक्स पर) को कैसे बचा सकता हूं?


5

किसी भी ब्राउज़र (जैसे फ़ायरफ़ॉक्स, क्रोम, आदि) में बफ़र्ड फ्लैश वीडियो को निकालने के लिए एक विधि का उपयोग किया जाता है, जो कमांड का उपयोग करता है psऔर fdएक इन-मेमोरी अस्थायी फ़ाइल की ओर इशारा करता है। दुर्भाग्य से, यह विधि किसी भी अधिक काम नहीं करती है। उदाहरण के लिए, fdक्रोमियम द्वारा उपयोग किया जाता है:

chrome    19412  ymf   69u   REG   0,14   470364     0  270129 /dev/shm/.org.chromium.Chromium.1fzPuo (deleted)
chrome    19412  ymf   77u   REG   0,14   131060     0  270141 /dev/shm/.org.chromium.Chromium.94K6Di (deleted)
chrome    19412  ymf  103u   REG    8,5     2052     0 4230990 /var/tmp/etilqs_01QDHFotJcLOpBS (deleted)
chrome    19412  ymf  112u   REG    8,5    24600     0 4232788 /var/tmp/etilqs_tFao7GamL5cslaZ (deleted)
chrome    19412  ymf  188u   REG    8,6    16384     0 1310851 /home/ymf/.config/chromium/Default/History Index 2013-07-journal (deleted)
chrome    19412  ymf  189u   REG    8,5    16400     0 4232787 /var/tmp/etilqs_D5p3BT7rtTSWLsy (deleted)

उनमें से किसी में भी मीडिया सामग्री नहीं है।

और मुझे दृढ़ता से विश्वास है कि किसी न किसी तरह हम प्लेइंग वीडियो (लिनक्स पर) को पकड़ सकते हैं, क्योंकि वीडियो को सर्वर से स्ट्रीम किया जाता है जब भी हम इसे खेलते हैं (बिना किसी ब्राउज़र-विशिष्ट प्लगइन्स की मदद के)।


3
मैं फ़ायरफ़ॉक्स पर डाउनलोड हेल्पर एक्सटेंशन का उपयोग करता हूं और यह अधिकांश मीडिया सामग्री को निकालता है।
बोरिस_यो

विंडोज पर मैं VideoCacheView का उपयोग करता हूं । क्या आप यहां एक LINUX विशिष्ट समाधान की तलाश कर रहे हैं?
अंकित

@ लैंब हां। मैं इस स्पष्टीकरण को अपनी पोस्ट में शामिल करूँगा।
निर्धारक

क्या आपने पहले से ही यहाँ सब कुछ करने की कोशिश की है: kirsle.net/blog/kirsle/download-any-flash-video-in-linux (क्या उस साइट पर सब कुछ आपके द्वारा बताई गई पुरानी पद्धति के अंतर्गत आता है?)
AM

क्या आप जानते हैं कि chromeऐसा नहीं है chromiumऔर यह chromeउपयोग करता है peperflash?
Braiam

जवाबों:


1

आप कहते हैं "क्रोमियम द्वारा प्रयुक्त सभी fd है: ... उनमें से कोई भी मीडिया सामग्री नहीं है।" लेकिन आप बहुत कम खुली फ़ाइलों को सूचीबद्ध करते हैं जो एक ही प्रक्रिया के स्वामित्व में दिखती हैं। यह नहीं कि आमतौर पर क्रोम कैसे चलता है। आपको वह जानकारी कैसे मिली?

मेरी मशीन (लिनक्स मिंट और क्रोम 28.0.1500.95) पर मैं एक स्ट्रीम की गई फ्लैश फाइल को उस स्थान पर पुनः प्राप्त कर सकता हूं जहां आप इसे देख रहे थे। मुझे संदेह है कि आप इस प्रक्रिया में कुछ याद कर रहे हैं।

सबसे पहले, आपको उस प्रक्रिया की पहचान करने की आवश्यकता है जो काली मिर्च चल रही है और आपकी फ़ाइल के अनुरूप फ़ाइल डिस्क्रिप्टर आईडी ढूंढती है।

यह संभव है /procऔर प्रति-प्रक्रिया fdनिर्देशिका के लिए धन्यवाद

ब्राउज़र विंडो में वीडियो खुले, इस कमांड को चलाएँ:

for ID in $( pgrep chrome ) ; do ( sudo ls -l /proc/$ID/fd|grep Pepper ) && echo /proc/$ID/fd; done

आउटपुट के समान होगा:

lrwx------ 1 root root 64 ago  2 12:52 29 -> /home/me/.chromecache/Default/Pepper Data/Shockwave Flash/.com.google.Chrome.ulDLo0 (deleted)
/proc/1196/fd

जिस पथ को इंगित कर रहा है उसे अनदेखा करें: यह हटा दिया गया है। आप के माध्यम से फ़ाइल का उपयोग करने की आवश्यकता है/proc/$PROCID/fd/$FDID

ऊपर के उदाहरण में आप चलेंगे:

sudo cat /proc/1196/fd/29 > my_video.flv

[संपादित करें]

क्रोमियम के लिए भी ऐसा ही करने के लिए, से प्रक्रिया का नाम बदलने google-chromeके लिए chroऔर स्ट्रिंग के लिए फ़ाइल नाम में देखने के लिए /tmp/Flashइतना चाहते:

for ID in $( pgrep chro ) ; do ( sudo ls -l /proc/$ID/fd|grep /tmp/Flash ) && echo /proc/$ID/fd; done

[संपादित करें] (फिर से)

यह एक-लाइनर क्रोम और क्रोमियम दोनों के साथ काम करना चाहिए (कम से कम यह मेरी मशीन पर किया गया):

for ID in $( pgrep -f chro ) ; do ( sudo ls -l /proc/$ID/fd|egrep "(/tmp/Flash|Pepper)" ) && echo /proc/$ID/fd; done

क्रोमियम के बारे में कैसे? मुझे काली मिर्च नहीं मिल रही है।
निर्धारक

@ymfoi मैंने क्रोमियम के लिए एक कमांड के साथ उत्तर को अपडेट किया। क्या वह आपके लिए काम कर रहा है?
सिल्वियोट

दुर्भाग्य से, कोई आउटपुट नहीं। :(
निर्धारक

शायद संस्करण की समस्या? मेरे संस्करण है Version 29.0.1547.22 (211613)
निर्धारक

फिर से अपडेट किया गया (मेरे पास क्रोमियम संस्करण 28 है हालांकि)
सिल्वोट

1

आप स्क्रिप्ट में @ silviot की विधि का उपयोग भी कर सकते हैं:

#!/bin/bash
#
# Show all chrome cached video files!
#
for ID in $( pgrep chrom ) ; do 
    sudo ls -l /proc/$ID/fd|grep Pepper|cut -d' ' -f9|sed "s/\(.*\)/\/proc\/$ID\/\1/g"
done | grep -v '^$'

मैंने 1 से अधिक वीडियो चलाने के साथ इसका परीक्षण नहीं किया है, लेकिन यह काम करना चाहिए।


-2

मैंने उन सभी एक्सटेंशनों को आज़माया, जो अस्वीकृत हो जाते हैं और फिर आपको हर समय अपडेट करना पड़ता है। फिर इस पर ठोकर खाई: KeepVid.com बुकमार्क का उपयोग करें। बस वेब पेज के बटन को अपने बुकमार्क बार पर खींचें। वीडियो देखते समय बस लिंक पर क्लिक करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.