Kirjoittaja Aihe: crontab + mencoder  (Luettu 3831 kertaa)

tetrao

  • Käyttäjä
  • Viestejä: 177
    • Profiili
crontab + mencoder
« : 08.09.09 - klo:02.08 »
Minulla tuottaa hankaluuksia ajastaa crontabilla mencoder nauhoittamaan Tv-lähetyksiä. Käytössä seuraava bash skripti BB:tä varten:
Koodia: [Valitse]
#!/bin/bash
DATE=$(date +%Y_%m_%d)
DAY=$(date +%u)
FILENAME=$(echo "BB_${DATE}.avi")
PATH_=$(echo "/home/tetrao/Videos/Nauhoitukset/BB/")
 if [ "${DAY}" -eq "7" ]; # Showtime is 1h 30min every Sunday 
  then
   /usr/local/bin/mencoder dvb://Sub -o "${PATH_}${FILENAME}" -profile x264 -endpos 01:35:00
  else 
   /usr/local/bin/mencoder dvb://Sub -o "${PATH_}${FILENAME}" -profile x264 -endpos 01:05:00
fi
 
Crontab tiedosto näyttää tältä:
Koodia: [Valitse]
# m h  dom mon dow   command
0 22 * * 2-6  /home/tetrao/CronFiles/dumpBB
0 21 * * 7    /home/tetrao/CronFiles/dumpBB

Alussa en saanut mitään näkyvää aikaiseksi, mutta viimein päädyin korvaamaan mencoder komennon rimpsulla /usr/local/bin/mencoder, jonka seuraksena kohde kansioon ilmestyi arviolta sekunnin video pätkä. En siis saanut ajastimella nauhoitettua sekuntia pidempään. Missähän vika mahtaa olla? Onko mahdollista että Crontabista käsin ei päästä käsiksi pakkauksessa vaadittaviin tiedostoihin? 
« Viimeksi muokattu: 08.09.09 - klo:12.16 kirjoittanut tetrao »
Arch Linux - A simple, lightweight distribution

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: crontab + mencoder
« Vastaus #1 : 08.09.09 - klo:12.38 »
Veikkaan ettei tuo -endpos toimi DVB-vastaanotossa. Oletko kokeillut tallentaa sen kanssa manuaalisesti?

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Vs: crontab + mencoder
« Vastaus #2 : 08.09.09 - klo:13.27 »
Veikkaan ettei tuo -endpos toimi DVB-vastaanotossa. Oletko kokeillut tallentaa sen kanssa manuaalisesti?
Miten olisi -frames 25*sekunnit
KDE neon
Uudempaa KDE:tä Ubuntulla

tetrao

  • Käyttäjä
  • Viestejä: 177
    • Profiili
Vs: crontab + mencoder
« Vastaus #3 : 08.09.09 - klo:13.29 »
Lainaus
Oletko kokeillut tallentaa sen kanssa manuaalisesti?
Joo olen kokeillut, että skripti toimii ilman ajastusta. (eli ilman cronia)

Harmi kun ei pääse näkemään Crontabin tekemisiä. Yritin muokata Crontab tiedostoa näin:
Koodia: [Valitse]
# m h  dom mon dow   command
0 22 * * 2-6  /home/tetrao/CronFiles/dumpBB > log
0 21 * * 7    /home/tetrao/CronFiles/dumpBB > log
   
Teki kyllä logi tiedoston, mutta se on tyhjä..   :(

Arch Linux - A simple, lightweight distribution

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: crontab + mencoder
« Vastaus #4 : 08.09.09 - klo:13.34 »
Teki kyllä logi tiedoston, mutta se on tyhjä..   :(

Ohjaa myös stderr lokitiedostoon:

0 22 * * 2-6  /home/tetrao/CronFiles/dumpBB >& log
0 21 * * 7    /home/tetrao/CronFiles/dumpBB >& log

Voi kyllä olla, ettei tuo muutenkaan toimi crontabissa, eli laita nuo ohjaukset skriptiin, mencoderia kutsuville riveille.
« Viimeksi muokattu: 08.09.09 - klo:13.39 kirjoittanut nm »

tetrao

  • Käyttäjä
  • Viestejä: 177
    • Profiili
Vs: crontab + mencoder
« Vastaus #5 : 08.09.09 - klo:13.55 »
Teki kyllä logi tiedoston, mutta se on tyhjä..   :(

Ohjaa myös stderr lokitiedostoon:

0 22 * * 2-6  /home/tetrao/CronFiles/dumpBB >& log
0 21 * * 7    /home/tetrao/CronFiles/dumpBB >& log

Voi kyllä olla, ettei tuo muutenkaan toimi crontabissa, eli laita nuo ohjaukset skriptiin, mencoderia kutsuville riveille.


Noniin, Nyt jotain irtosi:
Koodia: [Valitse]
MEncoder SVN-r29583-4.3.3 (C) 2000-2009 MPlayer Team
DVB CONFIGURATION IS EMPTY, exit
Failed to open dvb://Sub.
Cannot open file/device.
Exiting...


Eli ei varmaankaan pääse käsiksi tuohon:  ~/.mplayer/channels.conf ?

lisäys: No ei varmaan onnistu, kun tv-kortti ei ollut edes kiinni koneessa.  :)  Otanpa uuden lokin
« Viimeksi muokattu: 08.09.09 - klo:14.30 kirjoittanut tetrao »
Arch Linux - A simple, lightweight distribution

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Vs: crontab + mencoder
« Vastaus #6 : 08.09.09 - klo:14.31 »
Toimiiko cronilla
Koodia: [Valitse]
mplayer dvb://Sub -dumpstream -dumpfile sub.ts
KDE neon
Uudempaa KDE:tä Ubuntulla

tetrao

  • Käyttäjä
  • Viestejä: 177
    • Profiili
Vs: crontab + mencoder
« Vastaus #7 : 08.09.09 - klo:15.03 »
Tämä on tietyllä tapaa aika humoristista, sillä ongelman selvittely korjasi itse ongelman:

Tuolla saa sekunnin:
Koodia: [Valitse]
if [ "${DAY}" -eq "7" ]; # Showtime is 1h 30min every Sunday 
  then
   /usr/local/bin/mencoder dvb://Sub -o "${PATH_}${FILENAME}" -profile x264 -endpos 01:35:00
  else 
   /usr/local/bin/mencoder dvb://Sub -o "${PATH_}${FILENAME}" -profile x264 -endpos 01:05:00
fi

Tuolla vaikka tunnin tarpeen vaatiessa:
Koodia: [Valitse]
if [ "${DAY}" -eq "7" ]; # Showtime is 1h 30min every Sunday 
  then
   /usr/local/bin/mencoder dvb://Sub -o "${PATH_}${FILENAME}" -profile x264 -endpos 01:35:00 >& /home/tetrao/log
  else 
   /usr/local/bin/mencoder dvb://Sub -o "${PATH_}${FILENAME}" -profile x264 -endpos 01:05:00 >& /home/tetrao/log
fi

Testasin ainakin kolmeen kertaan kumpaakin, kun en muuten meinannut uskoa  ;D

lisäys: Kiitokset avusta ja hyvistä vinkeistä!
« Viimeksi muokattu: 08.09.09 - klo:20.20 kirjoittanut tetrao »
Arch Linux - A simple, lightweight distribution

tetrao

  • Käyttäjä
  • Viestejä: 177
    • Profiili
Vs: crontab + mencoder
« Vastaus #8 : 08.09.09 - klo:20.21 »
Lueskelin äsken että crontab kerää myös lokia ja lähettää sen tarvittaessa määriteltyyn s-postiosoitteeseen. Ongelma saattoi johtua cronin turvonneesta lokitiedostosta, joka ei nyt turvonnut koska ohjautui tuohon omaan lokitiedostoon. Tiedä en, arvailuhan se vain on. Kävin läpi tuon oman lokitiedoston, siinä kyllä asiaa riittii. Tuossa otos loppupäästä:

Koodia: [Valitse]
Pos: 222.3s   5585f ( 0%) 24.96fps Trem:   0min   0mb  A-V:-0.002 [277:48]
Pos: 222.4s   5586f ( 0%) 24.96fps Trem:   0min   0mb  A-V:-0.003 [277:48]
Pos: 222.4s   5587f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.002 [277:47]
Pos: 222.4s   5588f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.003 [277:47]
Pos: 222.5s   5589f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.002 [277:47]
Pos: 222.5s   5590f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.003 [277:47]
Pos: 222.6s   5591f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.002 [277:47]
Pos: 222.6s   5592f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.001 [277:47]
Pos: 222.6s   5593f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.002 [277:48]
Pos: 222.7s   5594f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.001 [277:48]
Pos: 222.7s   5595f ( 0%) 24.95fps Trem:   0min   0mb  A-V:-0.002 [277:48]

Kymmenesosa sekunnille tuli keskimäärin kolme riviä. Eli minuutilta 1800 riviä. Pitänee yrittää ohjata tuo loki suoraan roskiin. Onneksi lokitiedosto ei kuitenkaan turpoa itse nauhoitusta suuremmaksi.  ;)

lisäys: Tarkemmin kun katsoo, niin näkyy olevan jokaiselle framille oma rivi yht. 5595 riviä vajaalle neljälle minuutille.
« Viimeksi muokattu: 08.09.09 - klo:21.18 kirjoittanut tetrao »
Arch Linux - A simple, lightweight distribution

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: crontab + mencoder
« Vastaus #9 : 08.09.09 - klo:22.57 »
Kannattaa ainakin käyttää parametria -really-quiet sekä tarvittaessa ohjata tulosteet /dev/null-tiedostoon.