Giter VIP home page Giter VIP logo

vhs's Introduction

vhs.sh

Bash-skripti kotimaisten internet-mediasisältöjen (Areena, Ruutu) automaattiseen tallennukseen. Yhteensopiva Linux-, OS X- ja Cygwin-järjestelmien kanss. Vaatii seuraavat apuohjelmat ja vähimmäisversi: bash-3.2, php, curl, xmllint, jq, youtube-dl, rtmpdump-2.4, yle-dl-2.17, ffmpeg-1.2.10, GPAC, AtomicParsley-0.9.5.

Tallennukset asetetaan hakemistossa ~/Movies/vhs/, jonne tulee kutakin tallennettavaa ohjelmaa kohden luoda tiedosto nimellä "Sarjan nimi.txt":

  • Tiedoston ensimmäinen rivi voi sisältää säännöllisen lausekkeen (regexp), jolla ohjelmia haetaan ja tallennetaan. TV-sarjan (tai radio-ohjelmissa albumin) nimeksi asetetaan silloinkin txt-tiedoston nimestä poimittu "Sarjan nimi".
  • Tiedoston rivit toisesta rivistä alkaen tulkitaan sarjakohtaiseksi metatiedon parsimiskoodiksi, jolla on käytettävissään ohjelmalähteestä riippuen mm. muuttujat 'html_metadata' ja 'metadata' sisältönään verkosta haettu html- ja xml-sivu. Koodi voi palauttaa ei-nollan paluuarvon ohittaakseen jakson tallentamisen tai tuottaa jaksoa koskevaa metatietoa lukemalla ja kirjoittamalla seuraavien muuttujien arvoja:
    • programme (tv-sarjan, elokuvan tai radio-ohjelman nimi)
    • episode (tv-jakson nimi)
    • album (levyn nimi)
    • artist (esittäjä)
    • title (kappale)
    • albumArtist (levyn esittäjä)
    • epno (jakson tai kappaleen numero)
    • snno (kauden tai cd-levyn numero)
    • date (julkaisupäivämäärä)
    • ageLimit (ikärajamerkintä)
    • desc (jakson, elokuvan tai radiotuotannon kuvaus)
    • thumb (tiedostonimi - esim. ${tmp}/vhs.jpg - ladatulle kansikuvatiedostolle).
    • comment (vapaamuotoinen kommentti)
  • Tiedosto voi olla myös tyhjä, jolloin nauhoitetaan kaikki jaksot säännöllisellä hakulausekkeella txt-tiedoston nimestä poimitun "Sarjan nimen" mukaan.

Skripti pitää tietokantaa kaikista jo tallennetuista jaksoista hakemistossa ~/.vhs/. Tyhjentämällä tämän kokonaan tai osittain voi pyytää edelleen saatavilla olevien jaksojen tallentamista uudelleen. Käyttäjä voi myös luoda em. hakemistoon tiedoston 'profile' asetusparametrien asettamista varten, tiedoston 'meta.sh' oman metatiedon tuottamiseen nauhoitustiedostoon tallentamista varten sekä tiedoston 'finish.sh' nauhoitustiedostojen loppusijoitusta varten.

Tiedostossa 'meta.sh' on mahdollista myös tuottaa itse tallennusmedia sopivasta ulkoisesta ohjelmalähteestä (vdr, tvheadend tms.). Lopputulos tulee tällöin sijoittaa MP4-muodossa muuttujan $product osoittamaan tiedostoon.

Tallennukset tehdään iTunes-yhteensopivaan MP4-muotoon H.264-kuvalla ja AAC-äänellä, parhaalla saatavilla olevalla laadulla ja mahdollisuuksien mukaan ilman uudelleenkoodausta. Internet-lähteistä poimittu ja tiedostoon tallennettu metatieto sekä mahdolliset irralliset tekstitykset (suomeksi) näkyvät sellaisenaan iTunes-kirjastossa ja sen sisältöä toistavissa iOS- ja Apple TV -laitteissa.

Valmiit tallennukset sijoitetaan hakemistoon ~/Movies/tunes/, mikäli se on olemassa ja muuten hakemiston ~/Movies/vhs/ alle lajiteltuna alihakemistoihin ohjelmittain. Valmiiden tiedostojen loppusijoituksen voi tehdä myös omalla skriptillä, joka sijoitetaan tiedostoon ~/.vhs/finish.sh (ks. ylempänä) ja joka saa parametrikseen tuotetun tallennustiedoston nimen (väliaikaisine) polkuineen. finish.sh voi myös vain käsitellä tiedostoa paikallaan, jolloin se sijoitetaan automaattisesti yllä kuvatun mukaisesti.

Skriptillä voi hakea ohjelmia ja jaksojen lukumääriä ja asettaa ajastimia säännöllisille lausekkeille. Suoritus ilman parametrejä käy olemassa olevat tallentimet läpi ja tallentaa kaiken uuden saatavilla olevan materiaalin. Lisätietoa ajamalla esimerkiksi "./vhs.sh h".

Käyttövinkkejä:

  • Automaattinen ajo kerran päivässä yhdeltä yöllä (koneen päällä ollessa) onnistuu OS X- tai Linux-ympäristössä lisäämällä omaan crontab-luetteloon seuraava rivi:

0 1 * * * [polku]/vhs.sh

  • Tallennettujen ohjelmien automaattinen lisääminen omaan iTunes-kirjastoon (OS X -ympäristössä) onnistuu luomalla symbolinen linkki ~/Movies/tunes seuraavasti:

ln -s ~/Music/iTunes/iTunes\ Media/Lisää\ automaattisesti\ iTunesiin ~/Movies/tunes

vhs's People

Contributors

an7oine avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.