Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Multimedia ja grafiikka => Aiheen aloitti: tetrao - 08.09.09 - klo:02.08

Otsikko: crontab + mencoder
Kirjoitti: tetrao - 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? 
Otsikko: Vs: crontab + mencoder
Kirjoitti: nm - 08.09.09 - klo:12.38
Veikkaan ettei tuo -endpos toimi DVB-vastaanotossa. Oletko kokeillut tallentaa sen kanssa manuaalisesti?
Otsikko: Vs: crontab + mencoder
Kirjoitti: UbunTux - 08.09.09 - klo:13.27
Veikkaan ettei tuo -endpos toimi DVB-vastaanotossa. Oletko kokeillut tallentaa sen kanssa manuaalisesti?
Miten olisi -frames 25*sekunnit
Otsikko: Vs: crontab + mencoder
Kirjoitti: tetrao - 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ä..   :(

Otsikko: Vs: crontab + mencoder
Kirjoitti: nm - 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.
Otsikko: Vs: crontab + mencoder
Kirjoitti: tetrao - 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
Otsikko: Vs: crontab + mencoder
Kirjoitti: UbunTux - 08.09.09 - klo:14.31
Toimiiko cronilla
Koodia: [Valitse]
mplayer dvb://Sub -dumpstream -dumpfile sub.ts
Otsikko: Vs: crontab + mencoder
Kirjoitti: tetrao - 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ä!
Otsikko: Vs: crontab + mencoder
Kirjoitti: tetrao - 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.
Otsikko: Vs: crontab + mencoder
Kirjoitti: nm - 08.09.09 - klo:22.57
Kannattaa ainakin käyttää parametria -really-quiet sekä tarvittaessa ohjata tulosteet /dev/null-tiedostoon.