Adobe Flash

Linux.fista
Versio hetkellä 29. marraskuuta 2012 kello 06.26 – tehnyt Lahtis (keskustelu | muokkaukset) (NVIDIA 9800 gt Chromiumissa samat efektit.)
Siirry navigaatioon Siirry hakuun
Tässä käsitetään Macromedian/Adoben www-laajennosta/kehitysympäristöä Flash. Muistityypistä katso Wikipedian artikkeli Flash-muisti.

Shockwave flash on Macromedian kehittämä ja Adoben ylläpitämä 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

Gnash löytyy useimpien jakeluiden paketinhallinnasta nimellä gnash. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Gnash tukee (2012) flashin versiota 7 ja osittain versioita 8 ja 9, mutta ei versiota 10.

Adobe flash

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.

32-bittinen versio

Ubuntun 10.04 32-bittisessä versiossa on ollut jo pidemmän aikaan ongelmia Adoben Flash soittimen kanssa.

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

Ongelman voi kiertää seuraavasti.

  • Asenna uusin Adobe-Flashplugin normaalisti paketinhallinnan kautta.
  • Lataa google-chrome-stable_current_i386.deb paketti Google Chromen kotisivulta osoitteesta https://www.google.com/chrome?platform=linux
  • Avaa google-chrome-stable_current_i386.deb paketti paketinkäsittelyohjelmassa ja pura se vaikka työpöydälle.
  • Avaa data.tar.lzma paketti paketinkäsittelyohjelmalla ja pura se Työpöydällesi esimerkiksi data nimiseen kansioon.
  • Avaa komentorivi ja kopioi seuraavat komennot:
cd ~/Työpöytä/data/./opt/google/chrome/PepperFlash
sudo cp libpepflashplayer /usr/lib/adobe-flashplugin/

Komento kopioi Google Chromen Adoben-flashpluginin Firefoxin käytettäväksi. Ja voila Flashit alkavat taas toimimaan. Käytössä on nyt 11.1.102.63 versio.

libflashplayer.so -tiedosto kannattaa tallentaa jonnekin talteen seuraavaa päivitystä varten.


Toimimattomat versiot ovat:

  • Adobe-flashplugin 11.2.202.233-0lucid1
  • Adobe-flashplugin 11.2.202.228-0lucid1
  • Adobe-flashplugin 11.2.202.235-0lucid1
  • Adobe-flashplugin 11.2.202.236-0lucid1
  • Adobe-flashplugin 11.2.202.238-0lucid1

64-bittinen versio

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

Koodi rimpsu 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ä.

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

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

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