Este é un vello truco, pero algúns de vostedes probablemente aínda descoñecen. O que hai que facer é vai á páxina onde se atopa o vídeo e agarda a que remate de cargar. En YouTube, a carga represéntase cunha liña vermella que crece por debaixo da liña de xogo.
Unha vez que todo se cargou e sen pechar o explorador, abrín Nautilus e abrín a carpeta / tmp /. Alí verás, entre outras cousas, un ficheiro cun nome estraño que probablemente inclúa a palabra "Flash". Feito, só resta copiar ese ficheiro ao lugar que máis che gusta. 🙂 É tan sinxelo. ollo! Este truco funciona en Ubuntu, pero non todas as distros gardan estes vídeos no mesmo directorio. É posible que na súa distribución o directorio sexa diferente, pero a lóxica é a mesma. Só tes que atopar o camiño onde se gardan os ficheiros Flash temporais. ¿Non funciona para ti en Ubuntu con Flash 64 bits? Seguín lendo ... |
O truco anterior funciona para Flash de 32 bits. Os pasos a seguir en Ubuntu ao usar Flash 64 bits son un pouco máis complicados ... Aquí está a explicación feita por Codix no foro Ubuntu-é:
Co novo reprodutor flash cadrado de 64 bits para Linux cando ves un vídeo desde youtube ou outro portal de vídeo e vas ao cartafol / Tmp espera atopar o ficheiro temporal co que funciona o reprodutor flash (neste caso cadrado). Pero non o atopas e pregúntaste onde estará.
Despois de pensalo un pouco, a mellor forma de ver se hai un ficheiro temporal co que funciona o reprodutor flash é a través do comando lsof.
Nas versións anteriores, flashplayer denominaba os ficheiros temporais como Flashxxxxxx, onde xxxxx é un código alfanumérico que flashplayer lle deu para recoñecelo entre outros ficheiros temporais polo que tentei con
lsof | grep Flash
... E o resultado foi:
plugin-co 15026 codix 18u REG 8,6 7599390 131035 / tmp / FlashXXnM8s5K (eliminado)
Volvín a correr:
lsof | grep Flash
O resultado:
plugin-co 15026 codix 18u REG 8,6 21912531 131035 / tmp / FlashXXnM8s5K (eliminado)
Foi entón cando vin que o ficheiro, a pesar de estar nun estado eliminado, seguía aumentando de tamaño; o vídeo non se descargara completamente. Pensei que se seguía descargando só había un xeito de copiar, máis ben recuperar o ficheiro. Así que agardei a que o vídeo se descargase completamente. Cando iso se cumpriu, desde a consola fixen:
ls -l / proc / open_process_identifier / file_descriptor
o identificador do proceso está na segunda columna (15026) e o descriptor do ficheiro é a cuarta columna sen a letra (18)
ls -l / proc / 15026 / fd / 18
O resultado:
lrwx ------ 1 codix codix 64 2010-10-16 23:21 / proc / 15026 / fd / 18 -> / tmp / FlashXXnM8s5K (eliminado)
Por fin puiden recuperar cunha simple declaración cp file_to_copy copy_file_path o feliz vídeo descargado por flashplayer.
cp / proc / 15026 / fd / 18 our_video.flv
Finalmente, só queda comprobar con vlc ou tótem, cafeína, xina ou mplayer que o vídeo se reproduce correctamente. 😀
28 comentarios, deixa os teus
Aínda que un pouco tarde, pero aquí tes un guión por se axuda a alguén.
#! / bin / bash
# ************************************************** *************************************************** * #
# Este script para localizar os ficheiros temporais cando se reproduce en vídeo flash para Firefox #
# Primer recupera a información dos ficheiros que obre ao sistema con LSOF e os filtros Flash e tmp #
# Despois per mitja d'un loop recupera a información de cada ficheiro que é necesaria para a copia #
# Se a copia é correcta, doa un missatge de saída do guión #
# #
# Cal recorda que un policía é a túa páxina neste vídeo, o ficheiro temporal está perdido #
# ************************************************** *************************************************** * #
# Localizar ficheiros temporais
OnEs = $ (lsof | grep Flash | grep tmp)
# Inicia o comprador
i = 0
# Fa un bucle para cada ficheiro atopado
para parámetros en $ OnEs
do
# Extreu os parámetros necesarios para ver a copia da información rebuda
caso $ i dentro
1) identificador = $ parámetros ;; 3) descriptor = $ {parametres %% »u» *} ;; 8) fitxer = $ {parametres ## * »/»} ;;
que C
# Aumenta o comprador de cada parámetro refutado
deixe i ++
# Para cada bucle hai unha copia
se [$ i -eq "10"]; entón i = 0; cp / proc / $ identificador / fd / $ descriptor /home/portatil/Desktop/$fitxer.flv 2> / tmp / null; control = $?
# Missatge por saída
se [$ control -eq "0"]; logo fai eco de "Fitxer copiouse con éxito en /home/portatil/Deskfrtop/$fitxer.flv"; else echo "Houbo un erro ao copiar o ficheiro"; fi
fi
feito
saír
Ola, teño un problema .. Fixen todo como explicaches e cando xoguei o vídeo con VLC só reproducía o son, así que abrín o ficheiro co Totem e o mesmo .. Só son, ¿poderíasme botar unha man? Excelente post igual (Y)
Un pouco vello agora pero aínda funciona ... Teño Ubuntu 11.10 de 32 bits e funciona pero usando o método de 64 bits ... Non sei se é porque é un Ubuntu máis actual ... de todos os xeitos, grazas ti moito ... funciona ao 100%
o post un pouco antigo pero aínda así funciona ... Teño o ubuntu 11.10 de 32 bits pero o truco funciona co de 64 bits, creo que é porque o ubuntu está máis actual ... servíame moito e funciona ao 100%
Ola. moi bo o post.
Axudoume moito. !!
graxo!
Es Benvido! Coma sempre, un pracer!
Abrazo e Bo Nadal! Paul.
Ei, ei, e se o vídeo é AVI ou MPEG-4?
Ola! Resulta que este truco podería facerse con Ubuntu Jaunty, pero agora que teño Lucid instalado non me funciona. Na carpeta tmp hai cartafoles e ficheiros e ningún deles é o vídeo ... Tampouco aparece como un ficheiro oculto, ¿sabes a que se pode deber?
Grazas!
Ben, sempre que sexa a versión de 32 bits ou a versión de 64 bits emulada con ndiswrapper (¿escribiuse así?)
Se tes o 64b nativo, o xeito de recuperar os vídeos é máis difícil e aquí tes a explicación por se o queres engadir:
http://www.ubuntu-es.org/node/141478#comment-404172
Este truco deixou de funcionar para min en Ubuntu de 64 bits cando empecei a usar o cadrado flashplugin. Así que o desinstalei e volvín ao vello flash con nspluginwrapper.
Pode ser porque tes instalada a versión de 64 bits de Flash. Ao parecer, este truco non funciona con esa versión.
Creo que con isto pagaría a pena ...
cd / directorio / onde / quere / gardar / o / vídeo
string = »$ (lsof | grep Flash | head -1)» && cad1 = »$ (echo $ string | cut -d '' -f 2)» && cad2 = »$ (echo $ string | cut -d '' -f 4 | cortar -d 'u' -f 1) »&& ls -l / proc / $ cad1 / fd / $ cad2 && cp / proc / $ cad1 / fd / $ cad2 videoFlash.flv
por certo grazas polo truco! 😉
A verdade é que non o sei. Se o descubres, avísanos. 🙂
Ánimo! Paul.
É certo! Moitas grazas pola túa contribución.
Ánimo! Paul.
Teño flash de 64 bits e os ficheiros gárdanse no cartafol de caché de Firefox. O curioso é que pouco despois de descargalos completamente bórranse e, se ocupan máis de 64 megabytes, tamén se borran ...
A solución foi instalar a extensión flashgot e perfecta
Teña en conta que aquí tamén se explica como obter os ficheiros, incluso con flash de 64 bits.
Ánimo! Paul.
Alégrome de que che axudase a completar o artigo
Abrazo!
soprar ben !!!! grazas!
Deus, grazas !!! Acabas de salvarme a vida !!!
Ollo! Paréceme que en Flash 10.2 isto xa non se pode facer ... 🙁
Ánimo! Paul.
Excelente contribución grazas ... Estaba tolo
Estupendo, serviume moi ben.
E estendín desde o teu algoritmo, para gardar varios xuntos. Certamente non é o mellor, aínda que funciona ben (creo). Creo que o problema está no uso do "rabo", useino máis por instinto que por saber, polo que non sei canto tempo "aguanta". Para 3 vídeos, 2, 1 .. 4 .. vai ben .. Non sei se 10 ou 20 funcionarían ben.
ALG:
[code = »Lémbrame»]
#! / bin / bash
## Lémbrame.
## Axuda: o primeiro argumento que se lle pasa ao programa é o camiño onde se gardarán os ficheiros.
cd $ 1
turnos = »$ (lsof | grep -c Flash)»
mentres [$ xira -gt 0]
do
cadea = »$ (lsof | grep Flash | cola - $ voltas)»
c1 = »$ (echo $ string | cut -d '' -f 2)»
c2 = »$ (echo $ string | cut -d '' -f 4 | cut -d 'u' -f 1)»
ls -l / proc / $ c1 / fd / $ c2 && cp / proc / $ c1 / fd / $ c2 video- $ turnos
turnos = `expr $ voltas - 1`
feito
[/ código]
As melloras pódense dar ao non entrar tantas veces co "grep Flash", gardar todo anteriormente (non sei como facelo sen perder os saltos de liña) e tamén usar o mesmo valor "c1" que (creo ) non se modifica, non o sei en grandes cantidades.
Saúdos.
Xer.
Grazas Ger! Unha aperta! Paul.
Os que usan Firefox tamén poden usar a extensión "UnPlug", que permite descargar vídeos en flash desde case calquera páxina. É unha opción cómoda para que non teña que saír do navegador. Un dato interesante é que de todas as extensións dispoñibles, é unha das máis lixeiras e rápidas. Próbao!
Mini aplicación Guía para descargar calquera vídeo que estea en liña cun reprodutor, como exemplo temos os de YouTube.
Nota: tamén descarga ficheiros swf.
Páxina: http://ayudaveloz.blogspot.com/2012/11/aplicaciones.html
Un problema. Cando vou ver un vídeo de YouTube, ás veces (ou algúns vídeos) non se cargan na súa totalidade (a barra gris). E nestes casos ao facer o "lsof grep Flash" nada sae e, polo tanto, non podo facer este truco. Algunha solución sobre como facer que a barra se cargue enteira ou isto xa non é flash?
PD: o html5 téñoo desactivado. (No caso de que afecte a algo)
Funcionaba perfectamente ata que actualicei Ubuntu a 14.04 🙁
Pasoume o mesmo cando instalou 14.04 deixou de funcionar