Ero sivun ”Adobe Flash” versioiden välillä
Siirry navigaatioon
Siirry hakuun
videoiden tallennus flashin uudemmissa versioissa
(→Ubuntu) |
Pb (keskustelu | muokkaukset) (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 | 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 | 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 | 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== |