Adobe Flash

Kohteesta Linux.fi
Siirry navigaatioon Siirry hakuun
Tässä käsitetään Adoben www-laajennosta/kehitysympäristöä. Muistityypistä katso Wikipedian artikkeli Flash-muisti.

Adobe Flash on Macromedian kehittämä ja Adoben myöhemmin hankkima kehitysympäristö ja WWW-laajennos. Sitä voi käyttää joko Adoben ei-vapailla ohjelmilla tai vapaalla Gnashilla.

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.

Gnash[muokkaa]

Gnash, joka on avoimen lähdekoodin vastine Adoben suljetulle Flashille. Gnash tukee vuoden 2012 Adobe Flashin versiota 7 ja osittain versioita 8 ja 9, mutta ei versiota 10. Tällä hetkellä Adobe Flash on versiossa 24.

Adobe Flash[muokkaa]

Ubuntu[muokkaa]

Ubuntu, Linux Mint jne. Debian-johdannaiset vaativat yleensä Flashin päivittämistä käsin.

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.

Flashin asennus, ellei sitä ole asennettu. Asentaaksesi Flashin sinulla täytyy olla pääkäyttäjän oikeudet. Kirjoita seuraava komento päätteen komentokehotteeseen:

sudo apt-get install flashplugin-installer -y

Yllä oleva komento lataa Flash Plugin Installerin netistä, ja käynnistää sen asentaen Flash Playerin. Selain on käynnistettävä uudestaan, jotta Flash Player toimisi tämän jälkeen.

Jos Flash-videot eivät näy selaimessa, vaikka Adobe Flash on asennettu, se saattaa johtua päivittämättömästä flashista.

Flash-Pluginin päivitys

sudo apt-get install --reinstall flashplugin-installer -y

Jos haluaa olla varma, että asennettu flash päivittyy, yllä olevan rivin voi lisätä esimerkiksi tiedostoon /etc/profile.

32-bittiset versiot[muokkaa]

32-bittisessä versiossa on ollut vuodesta 2012 ongelmia Adoben Flash soittimen kanssa. Katso Adobe Flash Player 11.2 version bugiraporttisivu. Adobe Inc. on jatkanut Flash-plugininsa kehittämistä ja nyt on julkaistu versio 24.0.xxx, joten versio 11.2.202.xxx jää kohta unholaan. Adobe siis tarjoaa myös x86 -koneille flash-pluginiaan, joten nekin, jotka yhä käyttävät 32-bittisiä jakeluversioita saavat taas flash:nsä toimimaan mahdollisesti myös esim. Firefox:lla sellaisillakin sivustoilla, joille ei tuo 11.2 -versio ole riittänyt.

Adobe-Flashpluginin uusimmat versiot tukevat vain SSE2-suorittimia. Ongelmia seuraa vanhemmilla prosessoreilla, joissa ei ole SSE2 tukea. Voit tarkistaa tuen seuraalla komentorivikomennolla:

 cat /proc/cpuinfo | grep sse

64-bittinen versio[muokkaa]

Flash 24.0 r186[muokkaa]

Adobe Inc. on jatkanut Flash-plugininsa kehittämistä Linuxille ja nyt on julkaistu versio 24.0.r186, joten versio 11.2.202.xxx jää unholaan.

Flash 11.2 r202[muokkaa]

Flashin 11.2 r202 versio näyttää Youtuben videot sinisenä (smurffi efekti) ainakin Nvidian näytönohjainta käytettäessä. Asiaa voi yrittää korjata ottamalla laitteistokiihdytyksen pois päältä. Hiiren oikealla youtube-videon päällä --> settings --> ruksi pois "Enable hardware acceleration" -kohdasta. Saman asian voi myös tehdä asetustiedostoa käyttämällä. Joka tehdään komentorivillä näin.

sudo mkdir /etc/adobe
cd /etc/adobe
sudo echo 'EnableLinuxHWVideoDecode=0' |sudo tee -a /etc/adobe/mms.cfg

Koodirimpsu luo /etc/adobe hakemiston jos sitä ei ole olemassa. Seuraava rivi siirtyy hakemisoon ja viimeinen rivi luo yhden rivin mms.cfg tiedostoon. Joissain tapauksissa libvdpau1 paketin poistaminen ajaa saman asian, mutta se poistaa myös mplayer ja mencoder paketit.

Jos nämäkään eivät auta niin ainut vaihtoehto on käyttää Chrome-selainta, koska Chromen Flash on vähän erilainen.

Adobe ei tuo itse 11.2:n jälkeisiä Adobe Flash versioita Linuxille, vaan ne jaetaan Google Chromen mukana. Google taas käyttää omaa PPAPI:a joka ei ole yhteensopiva muiden kuin Chromen/Chromiumin kanssa eikä Mozillalla ole kiinnostusta PPAPI:iin. Siksipä uusia Flash-julkaisuja ei saa Firefoxille. Joissain tapuksissa Chromiumiin siirto ei auta vaan pitää kärsiä kyseisestä värityksestä. Huom! Smurffiefekti esiintyy vain Youtuben videopalvelua käytettäessä. Headweb-videopalvelussa ongelmaa ei ole. Flashin smurffi efekti korjattu 11.2.202.258 versiossa.

Fedora[muokkaa]

Adoben Flashin saa asennettua Fedoraan lataussivulla tarjottavan Adoben oman pakettivaraston asennuspaketin ("YUM for Linux"), jonka avulla 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ä. Asenna ensin Adoben sivuilta YUM for Linux -pakettivarasto. Asenna sen jälkeen Flash ja tarpeelliset muut paketit komennolla:

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

Tämän komennon pitäisi asentaa 32-bittisessä järjestelmässä 32-bittinen Flash ja 64-bittisessä järjestelmässä vastaavasti 64-bittinen Flash.

Flash-videoiden tallentaminen[muokkaa]

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 sekä Xvst.

Flash-laajennoksen uudet versiot[muokkaa]

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[muokkaa]

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[muokkaa]

Aiheesta muualla[muokkaa]