Muutokset

Siirry navigaatioon Siirry hakuun

Adobe Flash

2 553 merkkiä lisätty, 21. joulukuuta 2011 kello 01.47
videoiden tallennus flashin uudemmissa versioissa
==Flash-videoiden tallentaminen==
Useimmat www-sivuilla toistettavat Flash-videot ([[wikipedia:Flash_video|.flv]]-tiedostomuoto) on helppo 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 tällöin ensin ennen videon tallennusta antaa toistua edetä loppuunasti, jotta koko tiedosto tallentuisi välimuistiin. Videotiedosto 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 välimuistivideotiedostot häviävät viimeistään silloin, kun kone suljetaan (luultavimmin jo silloin, kun selaimessa vaihdetaan sivuatai silloin, kun video on toistettu loppuun), täytyy videotiedosto 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 oikeavideo.
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==
4 316

muokkausta

Navigointivalikko