Ты drBatty головастый,но злой.Я незнаю как поменять переменную $BR.Я даже незнаю где она находится.Если ты взялся что-то объяснять человеку,который возможно плохо разбирается в поставленом вопросе,то буть добр проявить выдержку и постараться объяснить человеку чтобы он понял.С большим уважением,до-свидания.(а с оперы видео я скачал)
HOWTO: Как сохранить видеоролик в виде файла?
Заходил я как то на сайт школа-линукс и скачивал его видеоуроки в винде,ну вроде ничего сложного.С кэша Оперы файл скопировал в нужную мне папку
Дело не в том, что под линуксом нельзя сделать также, думаю вас ввело в заблуждение название темы. Её следовало бы назвать - "Альтернативный способ извлечения видеофайлов".
в мозиле,а в опере скачать видео неполучилось???)
В переменной скрипта BR надо заменить "seamonkey" на "opera". Даже лучше на "operaplug". Вот так:
#!/bin/sh
# каталог, в который грузим файл
TD="$HOME"
# расширение
EXT=".flv"
# браузер
BR="operaplug"
lsof | sed -rn "s%^$BR\s+([0-9]+)\s+\w+\s+([0-9]+)u\s+.*/tmp/(Flash\w+)\s*.*$%touch $TD/\3$EXT \&\& dd if=/proc/\1/fd/\2 of=$TD/\3$EXT bs=4096 \&\& file $TD/\3$EXT%e;T;p"
Я незнаю как поменять переменную $BR
#!/bin/sh
# каталог, в который грузим файл
TD="$HOME/Загрузки"
# расширение
EXT=".flv"
# браузер
BR="seamonkey"
lsof | sed -rn "s%^$BR\s+([0-9]+)\s+\w+\s+([0-9]+)u\s+.*/tmp/(Flash\w+)\s+\(deleted\)$%touch $TD/\3$EXT \&\& dd if=/proc/\1/fd/\2 of=$TD/\3$EXT bs=4096 \&\& file $TD/\3$EXT%e;T;p"
http://linuxforum.ru/viewtopic.php?pid=151196#p151196
Дело не в том, что под линуксом нельзя сделать также, думаю вас ввело в заблуждение название темы. Её следовало бы назвать - "Альтернативный способ извлечения видеофайлов".
в венде вроде тоже нельзя. во всяком случае, я видел темы, где маздайщики анлокером разлочивают, а то у них не копируется. правда это давно было. сейчас все плагины юзают.
PS: наверное BR="seamonkey|firefox|operaplug" надо поставить...
Вы этот скрипт писали на какомто языке,этоже непросто набор символов
В дополнение к уже сказанному - помимо руководства по sed & shell, стоит ознакомиться с использованием регулярных выражений; вот например неплохое введение, самые азы:
http://www.grymoire.com/Unix/Regular.html
В дополнение к уже сказанному - помимо руководства по sed & shell, стоит ознакомиться с использованием регулярных выражений; вот например неплохое введение, самые азы:
facepalm
around 1991 :[
DimaCh, НЕ читайте ЭТО. Оно по английский, и давно устарело!
читайте (по англ.)
[console]$ man 7 regex[/console]
и POSIX.2, section 2.8 (Regular Expression Notation).
оно хотя-бы соответствует тому, что сейчас.
PS: наверное BR="seamonkey|firefox|operaplug" надо поставить...
Это да, так будет по-универсальнее. Добавлю к списку icecat:
BR="seamonkey|firefox|operaplug|icecat-bi"
Хм.. не, не работает как надо. При двух открытых браузерах копируется только из одного. Проще, сделать отдельный скрипт на каждый браузер.
А еще, lsof не слишком быстро работает.. не то что бы большая задержка, но все равно, хочется "чтоб сразу". Думаю, будет лучше использовать связку:
ps -e | grep operapluginwrap | sed -rn " ... "
Всё.Сдаюсь.Linux в широкие массы,ещё рано. oO
DimaCh, НЕ читайте ЭТО. Оно по английский, и давно устарело!
- и тут же идет ссылка на аглицкий ман. Так и советовали бы правильный, русскоязычный материал по регулярным выражениям.
Да и вообще, что значит устарело? Основы не могут устареть.
Линк в моем посте указывает на basic REs, после освоения которых можно будет переходить к extended версии.
Это так называемые - basic RE, после их освоения и стоит переходить на extended вариант.
во-во. между прочим, возможности ERE эквивалентны возможностям RE. просто в ERE не нужно экранировать символы +(){} и некоторые другие, что-бы они имели специальные значения. RE /\([^"]\+z\{4\}\)/ эквивалентно ERE /([^"]+{4})/ просто первое страшнее для новичков.
причём sed уже много лет умеет оба. и не только sed. Видите - вас уже ввели в заблуждение. :(
Тема PCRE по вашей ссылке не раскрыта, откуда и появится куча неосиляторов с кривыми скриптами (точнее, их уже полно, в любом быдлокоде на php есть примеры кривых PCRE).
"Оно по английский ..." - и тут же ссылка на аглицкий ман. Тогда бы уж и давали ссылку на правильное русскоязычное руководство.
это ссылка на то, чем сегодня пользуются, а не "около 1991го".
у меня разве нет подробного описания RE & ERE?
про PCRE тоже можно почитать (потом).
А еще, lsof не слишком быстро работает.. не то что бы большая задержка, но все равно, хочется "чтоб сразу". Думаю, будет лучше использовать связку:
ps -e | grep operapluginwrap | sed -rn " ... "
не, не получится. точнее - сложно слишком. нужно ведь файловые дескрипторы распарсить. а ps их не пишет. можно так:
[console]lsof "/tmp"[/console]
кстати, сейчас firefox не удаляет почему-то временные файлы... адоба, такая адоба :[
нужно ведь файловые дескрипторы распарсить. а ps их не пишет
Все что от ps требуется - дескриптор плагина, а файл через ls можно глянуть:
#!/bin/sh
# каталог, в который грузим файл
TD="$HOME"
# расширение
EXT=".flv"
# браузер
#BR="icecat-bi" # IceCat
#BR="plugin-containe" # Firefox
BR="operapluginwrap" # Opera
PLUG_ID=`ps -e | grep $BR | awk '{print $1}' `
ls -l /proc/${PLUG_ID}/fd | sed -rn "s%^.*\s+([0-9]+)\s+->\s+/tmp/(Flash\w+)\s*.*$%touch $TD/\2$EXT \&\& dd if=/proc/${PLUG_ID}/fd/\1 of=$TD/\2$EXT bs=4096 \&\& file $TD/\2$EXT%e;T;p"
На глаз, работает без задержки. То, что надо)
кстати, сейчас firefox не удаляет почему-то временные файлы... адоба, такая адоба
У меня удаляет, и опера и фокс. Подозреваю, это от версии зависит.
На глаз, работает без задержки. То, что надо)
ну можно и так...
хотя lsof /tmp тоже работает мгновенно.
http://mxlinux.blogspot.com/2010/09/save-flv-from-flash-player-102.html
Здесь вот неплохой скриптик на эту тему...
[pasha@localhost ~]$ file -L
Usage: file [-bchikLNnprsvz0] [--apple] [--mime-encoding] [--mime-type]
[-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
file -C [-m magicfiles]
file [--help]
[pasha@localhost ~]$ ps -e | grep plugin-containe
16095 ? 00:01:54 plugin-containe
[pasha@localhost ~]$ ls -l /proc/16095/fd
итого 0
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 0 -> pipe:[42780]
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 1 -> /home/pasha/.xsession-errors
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 10 -> pipe:[115850]
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 11 -> pipe:[115851]
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 12 -> pipe:[115851]
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 13 -> socket:[115854]
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 14 -> /home/pasha/.mozilla/firefox/k2xn02zm.default/cert8.db
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 15 -> /home/pasha/.mozilla/firefox/k2xn02zm.default/key3.db
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 16 -> /dev/nvidiactl
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 17 -> /dev/nvidia0
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 18 -> /dev/nvidia0
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 19 -> /dev/nvidia0
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 2 -> /home/pasha/.xsession-errors
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 20 -> /dev/nvidia0
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 21 -> /dev/nvidia0
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 22 -> /dev/nvidia0
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 23 -> /tmp/FlashXXDCcPgM (deleted)
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 24 -> pipe:[119698]
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 25 -> pipe:[119698]
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 26 -> pipe:[119699]
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 27 -> pipe:[119699]
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 28 -> socket:[119703]
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 3 -> socket:[115775]
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 4 -> anon_inode:[eventpoll]
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 5 -> socket:[115847]
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 6 -> socket:[115848]
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 7 -> pipe:[115849]
lr-x------ 1 pasha pasha 64 2011-03-29 13:17 8 -> pipe:[115849]
l-wx------ 1 pasha pasha 64 2011-03-29 13:17 9 -> pipe:[115850]
[pasha@localhost ~]$ ls -l /proc/16095/fd/23 of=funny.flv bs=4096
ls: невозможно получить доступ к of=funny.flv: Нет такого файла или каталога
ls: невозможно получить доступ к bs=4096: Нет такого файла или каталога
lrwx------ 1 pasha pasha 64 2011-03-29 13:17 /proc/16095/fd/23 -> /tmp/FlashXXDCcPgM (deleted)
Как так?
$ ls -l /proc/16095/fd/23 of=funny.flv bs=4096
здесь не правильно:
надо dd if=/proc/16095/fd/23 of=/home/<username>/funny.flv bs=4096
Спасибо топикстартеру за инструкцию.
Добавлю немного: у меня не лиса, а хром. Соответственно нет plugin-containe. Искать PID неизвестно какого процесса довольно утомительно.
К счастью в хроме есть свой "Диспетчер задач" (Настройка>Инструменты>Диспетчер задач или просто Shift+Escape), который замечательно показывает PIDы процессов хрома.
Надо лишь ткнуть правой кнопкой и поставить галочку "Идентификатор процесса"
Ну и далее как описано...)
ЗЫ Все также работает в Хромиум и Айрон
Искать PID неизвестно какого процесса довольно утомительно.
[console]ps uax | grep "chrom[e]"[/console]
не?
все бы ничего, но найти кеш ффокса пока не удалось...
все бы ничего, но найти кеш ффокса пока не удалось...
~/.mozilla/firefox/fszd87ef.default/Cache не?
Теперь вопрос поинтересней. YouTube начинает тестирование нового формата WebM, созданного на базе HTML5. Для просмотра видео не требуется плагин flash, браузер сам воспроизводит видео за счет возможностей HTML5. Видео сохраняется в кеше браузера, как обычно. Но новый формат не понимают современные медиа плееры, даже MPlayer. Как сконвертировать видео в обычный формат?
Да кстати, в чем преимущество этой технологии? В том, что flash плагин не предназначен для Linux систем, и на них загрузка процессора составляет 80-100%. При исполльзовании HTML5 загрузка составляет 10-14%.