Ero sivun ”Adobe Flash” versioiden välillä

Kohteesta Linux.fi
Siirry navigaatioon Siirry hakuun
(videoiden tallennus flashin uudemmissa versioissa)
Rivi 20: Rivi 20:
  
 
==Flash-videoiden tallentaminen==
 
==Flash-videoiden tallentaminen==
Useimmat www-sivuilla toistettavat Flash-videot ([[wikipedia:Flash_video|.flv]]-tiedostomuoto) on helppo tallentaa omalle koneelle uudelleenkatselua varten. Videon tallentaminen on kätevää varsinkin silloin, jos verkkoyhteys on hidas ja videon halutaan toistuvan ilman katkoja.
+
Useimmat www-sivuilla toistettavat Flash-videot ([[wikipedia:Flash_video|.flv]]-tiedostomuoto) on mahdollista tallentaa omalle koneelle uudelleenkatselua varten. Videon tallentaminen on kätevää varsinkin silloin, jos verkkoyhteys on hidas ja videon halutaan toistuvan ilman katkoja.
  
Flash-videon täytyy tällöin ensin antaa toistua loppuun, jotta koko tiedosto tallentuisi välimuistiin. Videotiedosto löytyy tämän jälkeen [[hakemistorakenne|/tmp]]-väliaikaishakemistosta jollakin Flash-alkuisella nimellä, esimerkiksi <tt>/tmp/Flash2Dzw3Q</tt>. /tmp-hakemistossa voi olla useita Flash-alkuisia tiedostoja riippuen siitä, kuinka monta videota päälläolevalla [[www-selain|www-selaimella]] on toistettu.
+
Flash-videoruudun alalaidassa olevan välimuistipalkin (kulkee videon toistoa ilmaisevan osoittimen edellä) täytyy ennen videon tallennusta antaa edetä loppuun asti, jotta koko tiedosto tallentuisi välimuistiin. Välimuistissa oleva videotiedosto löytyy tämän jälkeen (Flash-laajennoksen vanhempien versioiden ollessa kyseessä) tavallisesti [[hakemistorakenne|/tmp]]-väliaikaishakemistosta jollakin Flash-alkuisella nimellä, esimerkiksi <tt>/tmp/Flash2Dzw3Q</tt>. /tmp-hakemistossa voi olla useita Flash-alkuisia tiedostoja riippuen siitä, kuinka monta videota päälläolevalla [[www-selain|www-selaimella]] on toistettu.
  
Koska /tmp-hakemistossa olevat tiedostot häviävät viimeistään silloin, kun kone suljetaan (luultavimmin jo silloin, kun selaimessa vaihdetaan sivua), täytyy videotiedosto kopioida turvaan esimerkiksi käyttäjän [[kotihakemisto]]on. Se saattaa myös olla kätevää uudelleennimetä jollekin loogiselle flv-päätteiselle nimelle (esimerkiksi <tt>Flash2Dzw3Q</tt>:stä <tt>video.flv</tt>:ksi).
+
Koska /tmp-hakemistossa olevat välimuistivideotiedostot häviävät viimeistään silloin, kun kone suljetaan (luultavimmin jo silloin, kun selaimessa vaihdetaan sivua tai silloin, kun video on toistettu loppuun), täytyy välimuistivideotiedosto kopioida turvaan esimerkiksi käyttäjän [[kotihakemisto]]on. Se saattaa myös olla kätevää uudelleennimetä jollekin loogiselle flv-päätteiselle nimelle (esimerkiksi <tt>Flash2Dzw3Q</tt>:stä <tt>video.flv</tt>:ksi).
  
Mikäli /tmp-hakemistossa on useita Flash-alkuisia tiedostoja, voi ne joko kopioida kaikki tai yrittää esimerkiksi [[du|koon]] tai [[aikaleima|luontiajan]] perusteella päätellä, mikä niistä on oikea.
+
Mikäli /tmp-hakemistossa on useita Flash-alkuisia tiedostoja, voi ne joko kopioida kaikki tai yrittää esimerkiksi [[du|koon]] tai [[aikaleima|luontiajan]] perusteella päätellä, mikä niistä on oikea video.
  
 
Videoiden tallentamiseen suosituimmista videopalveluista on myös olemassa erillisiä ohjelmia, kuten [[Youtube-dl]].
 
Videoiden tallentamiseen suosituimmista videopalveluista on myös olemassa erillisiä ohjelmia, kuten [[Youtube-dl]].
 +
 +
===Flash-laajennoksen uudet versiot===
 +
Flash-laajennoksen uusissa versioissa välimuistivideotiedostoihin osoittavat viittaukset poistetaan /tmp-hakemistosta heti videon latauksen alettua, mikä tekee videon tallennuksesta aikaisempaa vaikeampaa. Tallennus on kuitenkin mahdollista seuraavalla tavalla:
 +
 +
'''1.''' Tarkistetaan Flash-videota toistavan ohjelman [[PID]]-numero komennon [[lsof]] tulosteesta. PID-numero löytyy niiden rivien toisesta sarakkeesta, joiden viimeinen sarake on muotoa <tt>/tmp/FlashABCDEF (deleted)</tt>. PID-numeron löytämiseen voi käyttää (esimerkiksi) komentoa
 +
lsof |[[grep]] /tmp/Flash|[[tail]] -n 1|[[cut]] -f 2 -d ' '
 +
'''2.''' Tämän jälkeen siirrytään hakemistoon <tt>/[[proc]]/''1234''/fd/</tt>, missä 1234 on yllä saatu Flash-ohjelman PID-numero. Tämä hakemisto sisältää [[symbolinen linkki|symboliset linkit]] kaikkiin kyseisen [[prosessi]]n avaamiin tiedostoihin.
 +
 +
'''3.''' Tarkistetaan, mitkä näistä symbolisista linkeistä viittaavat /tmp/Flash-alkuisiin tiedostoihin. Tämä onnistuu esimerkiksi komennolla
 +
[[ls]]|[[xargs]] [[file]]|grep /tmp/Flash
 +
jonka tulosteessa symbolisten linkkien nimet ovat jokaisen rivin alussa ennen kaksoispistettä.
 +
 +
'''4.''' Kopioidaan välimuistitiedostoihin viittaavien symbolisten linkkien kohteet esimerkiksi [[kotihakemisto]]on, jolloin video saadaan tallennettua. Esimerkkikomento:
 +
[[cp]] ''symbolinen_linkki'' /home/kaisa/video.flv
 +
 +
===Tallennus skriptin avulla===
 +
Vaihtoehtoisesti Flash-videoiden tallennus onnistuu myös seuraavan [[Bash-skriptaus|Bash-skriptin]] avulla (yhteensopiva sekä Flash-laajennoksen uudempien että vanhempien versioiden kanssa):
 +
<source lang="bash">
 +
#! /bin/bash
 +
pid=$(lsof |grep /tmp/Flash|tail -n 1|cut -f 2 -d ' ')
 +
echo $(file /proc/$pid/fd/*|grep /tmp/Flash|cut -d ' ' -f 6|grep -o '/.*')|tr ' ' '\n' >/tmp/flashdd
 +
for ff in $(cat /tmp/flashdd)
 +
do
 +
cp $(file /proc/$pid/fd/*|grep $ff|cut -f 1 -d ':') flash-$(date +%y%m%d-%H%M%S).flv
 +
sleep 1
 +
done
 +
rm /tmp/flashdd
 +
</source>
 +
Videot löytyvat skriptin ajon jälkeen [[työhakemisto]]sta flash-alkuisista tiedostoista (tiedostonnimet ovat muotoa <tt>flash-''vvkkpp''-''ttmmss''.flv</tt>). Skripti olettaa, että videot sisältävien välimuistitiedostojen nimet ovat /tmp/Flash-alkuisia.
  
 
== Katso myös==
 
== Katso myös==

Versio 21. joulukuuta 2011 kello 01.47

Tässä käsitetään Macromedian/Adoben www-laajennosta/kehitysympäristöä Flash. Muistityypistä katso Wikipedian artikkeli Flash-muisti.

Adobe julkaisee Flashistä myös Linux-versiota. Flash-liitännäinen toimii mm. Firefox- ja Konqueror-selainten kanssa. Flash on suljetun lähdekoodinsa vuoksi rajoittuneesti saatavilla eri Linux-arkkitehtuureille. Tätä puutetta korjaamaan on kehitetty nspluginwrapper, jolla 32-bittiset x86-selainliitännäiset saadaan toimimaan myös x86-64-arkkitehtuurin koneissa, ja QEMU:n avulla myös kokonaan muille arkkitehtuureilla (PowerPC, SPARC, ym.).

Ohjelma on ei-vapaa ja ohjelman ajaminen muulla kuin PC:llä on lisenssin mukaan erikseen kielletty, samaten lisenssi sisältää joukon merkillisiä kohtia (kuten ei-vapaat ohjelmistolisenssit tavallisestikin), muun muuassa että ohjelmaan ei pidä soveltaa kansainvälisen yksityisoikeuden sääntöjä, vaan eurooppalaisten tulee käydä oikeutta Lontoossa. Ohjelma ottaa yhteyttä Adobeen ja kertoo olevansa asennettu sekä ei-määritellyn joukon muuta "ei-henkilökohtaista" tietoa.

Asennus

Ubuntu

Flash Player ja Flashplugin-installer ovat sama asia. Flashplugin-installer on ajettava skripti, joka lataa Internetistä Adobe Flash Playerin, koska Adobe ei ole antanut lupaa paketoida sitä suoraan pakettiin.

Fedora

Adoben Flashin saa asennettua Fedoraan joko asentamalla lataussivulla tarjottavan flash-plugin-nimisen rpm-paketin (".rpm for Linux") tai Adoben oman pakettivaraston asennuspaketin ("YUM for Linux"). Jälkimmäisessä menetelmässä Flash voidaan asentaa ja päivittää paketinhallinnan kautta.

Jos olet aiemmin asentanut Fedoran virallisista pakettilähteistä tarjottavan Gnashin, on se poistettava ennen Adoben Flashin asentamista. Gnash sekä selainliitännäiset gnash-plugin ja gnash-klash poistuvat poistamalla paketinhallinnassa paketin gnash.

Fedoran omat Flash-asennusohjeet ovat täällä. 32-bittistä Fedoraa käytettäessä YUM for Linux -pakettivaraston asentamisen jälkeen asennetaan Flash ja tarpeelliset muut paketit komennolla:

su -c 'yum install nspluginwrapper alsa-plugins-pulseaudio flash-plugin'

64-bittistä Fedoraa käytettäessä YUM for Linux -pakettivaraston asentamisen jälkeen tehdään seuraavat komennot:

su -c 'yum install nspluginwrapper.{x86_64,i686} alsa-plugins-pulseaudio.i686 --disablerepo=adobe-linux-i386'
su -c 'yum install flash-plugin'

Flash-videoiden tallentaminen

Useimmat www-sivuilla toistettavat Flash-videot (.flv-tiedostomuoto) on mahdollista tallentaa omalle koneelle uudelleenkatselua varten. Videon tallentaminen on kätevää varsinkin silloin, jos verkkoyhteys on hidas ja videon halutaan toistuvan ilman katkoja.

Flash-videoruudun alalaidassa olevan välimuistipalkin (kulkee videon toistoa ilmaisevan osoittimen edellä) täytyy ennen videon tallennusta antaa edetä loppuun asti, jotta koko tiedosto tallentuisi välimuistiin. Välimuistissa oleva videotiedosto löytyy tämän jälkeen (Flash-laajennoksen vanhempien versioiden ollessa kyseessä) tavallisesti /tmp-väliaikaishakemistosta jollakin Flash-alkuisella nimellä, esimerkiksi /tmp/Flash2Dzw3Q. /tmp-hakemistossa voi olla useita Flash-alkuisia tiedostoja riippuen siitä, kuinka monta videota päälläolevalla www-selaimella on toistettu.

Koska /tmp-hakemistossa olevat välimuistivideotiedostot häviävät viimeistään silloin, kun kone suljetaan (luultavimmin jo silloin, kun selaimessa vaihdetaan sivua tai silloin, kun video on toistettu loppuun), täytyy välimuistivideotiedosto kopioida turvaan esimerkiksi käyttäjän kotihakemistoon. Se saattaa myös olla kätevää uudelleennimetä jollekin loogiselle flv-päätteiselle nimelle (esimerkiksi Flash2Dzw3Q:stä video.flv:ksi).

Mikäli /tmp-hakemistossa on useita Flash-alkuisia tiedostoja, voi ne joko kopioida kaikki tai yrittää esimerkiksi koon tai luontiajan perusteella päätellä, mikä niistä on oikea video.

Videoiden tallentamiseen suosituimmista videopalveluista on myös olemassa erillisiä ohjelmia, kuten Youtube-dl.

Flash-laajennoksen uudet versiot

Flash-laajennoksen uusissa versioissa välimuistivideotiedostoihin osoittavat viittaukset poistetaan /tmp-hakemistosta heti videon latauksen alettua, mikä tekee videon tallennuksesta aikaisempaa vaikeampaa. Tallennus on kuitenkin mahdollista seuraavalla tavalla:

1. Tarkistetaan Flash-videota toistavan ohjelman PID-numero komennon lsof tulosteesta. PID-numero löytyy niiden rivien toisesta sarakkeesta, joiden viimeinen sarake on muotoa /tmp/FlashABCDEF (deleted). PID-numeron löytämiseen voi käyttää (esimerkiksi) komentoa

lsof |grep /tmp/Flash|tail -n 1|cut -f 2 -d ' '

2. Tämän jälkeen siirrytään hakemistoon /proc/1234/fd/, missä 1234 on yllä saatu Flash-ohjelman PID-numero. Tämä hakemisto sisältää symboliset linkit kaikkiin kyseisen prosessin avaamiin tiedostoihin.

3. Tarkistetaan, mitkä näistä symbolisista linkeistä viittaavat /tmp/Flash-alkuisiin tiedostoihin. Tämä onnistuu esimerkiksi komennolla

ls|xargs file|grep /tmp/Flash

jonka tulosteessa symbolisten linkkien nimet ovat jokaisen rivin alussa ennen kaksoispistettä.

4. Kopioidaan välimuistitiedostoihin viittaavien symbolisten linkkien kohteet esimerkiksi kotihakemistoon, jolloin video saadaan tallennettua. Esimerkkikomento:

cp symbolinen_linkki /home/kaisa/video.flv

Tallennus skriptin avulla

Vaihtoehtoisesti Flash-videoiden tallennus onnistuu myös seuraavan Bash-skriptin avulla (yhteensopiva sekä Flash-laajennoksen uudempien että vanhempien versioiden kanssa):

#! /bin/bash
pid=$(lsof |grep /tmp/Flash|tail -n 1|cut -f 2 -d ' ')
echo $(file /proc/$pid/fd/*|grep /tmp/Flash|cut -d ' ' -f 6|grep -o '/.*')|tr ' ' '\n' >/tmp/flashdd
for ff in $(cat /tmp/flashdd)
do
cp $(file /proc/$pid/fd/*|grep $ff|cut -f 1 -d ':') flash-$(date +%y%m%d-%H%M%S).flv
sleep 1
done
rm /tmp/flashdd

Videot löytyvat skriptin ajon jälkeen työhakemistosta flash-alkuisista tiedostoista (tiedostonnimet ovat muotoa flash-vvkkpp-ttmmss.flv). Skripti olettaa, että videot sisältävien välimuistitiedostojen nimet ovat /tmp/Flash-alkuisia.

Katso myös

Aiheesta muualla