dvb-x dump időzített kilépés

 ( Nextra | 2017. december 3., vasárnap - 21:19 )

A kiindulás az alábbi.
mpv --stream-dump primeMPV01.ts dvb://Prime
mplayer -dumpfile primeMplayer01.ts -dumpstream dvb://Prime

Mind a kettő szépen elmenti a videót. Viszont sem a --length 30, sem a -endpos 30 nem érvényesül.
Majd jött a sleep 30
mpv --stream-dump primeMPV02.ts dvb://Prime & sleep 30
Így meg elszámolt szépen 30-ig és kilépett anélkül hogy bármit elmentett volna.

Scriptbe szeretném tenni az időzítést.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

# man 1 timeout
timeout 30s mpv --stream-dump primeMPV02.ts dvb://Prime

Köszi. Frankón működik. De nincs semmi visszajelzés az eltelt időről.
De most kicsit tovább mennék.

Találtam egy pv nevű kis programot, mely szépen kiírja az eltelt időt.
linux.die.net/man/1/pv

timeout 30 mpv --stream-dump foo.ts dvb://Prime | pv -t

Viszont az mpv üzeneteit elnyomnám:
timeout 30 mpv --really-quiet --stream-dump foo.ts dvb://Prime 1 >/dev/null | pv -t

BUÉK

A disztróban frissítették az mpv-t, az ffmpget.

Lehet hogy innentől kezdve mintha nem venné figyelembe a szkriptben megadott timeout értékeit. Az egyik nap pld. a kezdéstől számítva 20 perc múlva lépett ki, holott 4200 sec volt neki megadva.
A másik nap 60 perc volt a kilépés ideje, pedig ugyanúgy 4200 sec volt megadva.

Az is igaz hogy ez a szkript cron időzítéssel indul. A szkript tartalma:

#!/bin/bash

# A felvétel hossza: 70 perc - 4200 mp.

_date="$(date +%s)"
dvb-fe-tool -d DVBC/ANNEX_A

cd "/mnt/egyebek/Videos/dvb-c/Prime"
timeout 4200 /usr/bin/mpv --stream-dump "Prime_CRON_u${_date}.ts" dvb://"Prime"

# waketime
((secs=${_date}+86400-300))
echo ${secs} >> /home/nextra/.config/wake/wake_time.txt

/usr/bin/sudo /sbin/shutdown -h now

Ugyanakkor létezhet nem ütköző at időzítés is, egy másik hasonló szkriptre.

Miért kapcsol ki a gép a megadott idő előtt? Az mpv-ben van a hiba?

Nagy valószínűséggel az mpv lép ki, pl elszáll segfaulttal. Loggold az egész kimenetét.