MindigTv felvett adások szétszedése csatornánként

Fórumok

VLC dvb.t adások szétválogatása/mentése,
a megfelelő dvb.t frekvencia megadásával, a vlc felveszi az összes multiplexben található adást egyszerre. ez roppant hasznos funkció. a probléma csak az vele, hogy túl sok helyet foglal, ezért csak napi visszanézésre majd törlésre célszerű használni.
ha egy műsort mégis el szeretnék menteni hosszabb távra, valahogy ki kellene szednem, az adott csatorna hang és képsávját a többi közül. természetesen lehetőleg újraenkódolás nélkül szeretném elmenteni az adott csatorna műsorát.
van erre valamilyen parser program? a mencoder és a projectx sajnos nem boldogul a mindigtvről mentett fájllal. a vlc lejátszani letudja, csatornák között is lehet váltogatni vele, de egy csatornát külön copyzni nem tud átkódolás nélkül, ill eddig nem sikerült vele.
mit érdemes használni ehhez a feladathoz?

Minden csatorna felvétele a MindigTVről screenshotos howto.

Hozzászólások

Nekem az általad leírt manőver nem jött össze, de az éppen nézett csatornát remekul fel lehet venni a vlc-vel egy fájlba átkódolás nélkül (vlc-1.1.0).
A lementett stream átkódolásáról sok jót nem tudok mondani. Az ffmpeg egyáltalán nem tud vele semmit kezdeni. A mencoder fejlődése is megállt kb a 2-3 évvel ezelőtti szinten a ts demuxer tekintetében. Az mpeg2-es tartalmú ts fájlokkal még boldogul valamennyire, de az x264 kódolásúakat hibásan kezeli. Különféle trükközésekkel rá lehet venni a kódolásra, de a végeredmény akadozó, ugráló hulladék.
Az avidemuxnál teljesen hasonló a helyzet, súlyosbítva azzal, hogy még az aac kódolású hangot se kezeli ebben a fájlformátumban.
Egyedül a vlc-vel tudtam viszonylag használható átkódolást összehozni. Az viszont nem tud 2 menetes kódolást. Ez még nem lenne túl nagy baj. De a deinterlace filtert valami nagyon gagyit használ a kódolásnál, nem azt amit én a lejátszáshoz kiválasztottam és szép képet ad. Ennek a megváltoztatására nem találtam lehetőséget.
Összefoglalva: egyedül a vlc-től várhatunk ebben a témakörben előrelépést, azon ugyanis látszódnak a fejlesztés jelei. A többi ffmpeg alapú kódolótól nem kell sok jóra számítanunk, bár ne legyen igazam.
A transcode nevű progit még nem próbáltam, de gyanítom, hogy az sincs előrébb a többinél a hdtv adások kezelése terén.

A napokban sikerült belőnöm a vlc-t hogy a dvb-t adást csatornánként streamelje. Az 1.1.0 verziót használom most, de ami neked kellene az valsz megy korábbival is.
Win alól streamelek, de linuxon is hasonló kell legyen.

Ez a példa a dvb-t adást csatornánként más http címen streameli:

vlc dvb:// --dvb-frequency=786000000 --dvb-srate=27500000 --dvb-bandwidth=8 --sout=#duplicate{dst=http{mux=ts,dst=:8080/m1},select="program=100",dst=http{mux=ts,dst=:8080/m2},select="program=101",dst=http{mux=ts,dst=:8080/rtl},select="program=60",dst=http{mux=ts,dst=:8080/tv2},select="program=80"} --no-sout-rtp-sap --no-sout-standard-sap --sout-keep --ttl 12 --sout-all --sout-mux-caching=5000

Ha rögzítel, akkor a kiválasztott csatornát irányítsd fájlba. Szerintem utólag is szét lehet így szedni a sokcsatornás adást is, csak akkor nem dvb:// a bemenet hanem a fájl, a kimenet pedig nem port hanem fájl).

Én először a varázslójával próbáltam és annak utolsó lépéseként tettem oda a select="program=100" és hasonló részeket. A sokcsatornás stream feldolgozásához szükség van a --sout-all paraméterre is, enélkül nem ment nekem.

Ja és persze a varázslóban az átkódolás elől kivettem a pipát.

kipróbálás nélküli egy példa:

vlc bemenet.ts --sout=#duplicate{dst=file{mux=ts,dst=m1.ts}, select="program=100",dst=file{mux=ts,dst=m2.ts},select="program=101", dst=file{mux=ts,dst=rtl.ts},select="program=60", dst=file{mux=ts,dst=tv2.ts},select="program=80"} --sout-all

értelem szerűen csak az a dst kell amit menteni akarsz :)

win alatt a Haali Media Splitter-hez kapott GDSMux progival szedtem ki korábban nekem kellő streamet és TSPE próbaverzióval sikerült átalakítani más formátumra (a hang elcsúszott, ezt korrigálni kellett)... de most már azt hiszem vlc-vel is meg lehetne ezt talán még jobban (időnél vágást nem tudom hogyan)

közben már megtaláltam a megoldást,

vlc -vvv --ttl 4 --ts-es-id-pid --programs=100,101,60,80 MindigTV.mov --dvb-modulation=64 --dvb-bandwidth=8 --dvb-hierarchy=1 --dvb-code-rate-hp=3 --dvb-code-rate-lp=1 --dvb-guard=8 --dvb-transmission=8 --vout-filter deinterlace --deinterlace-mode X --sout-standard-access=http --sout-standard-mux=ts --sout "#duplicate{
dst=std{dst=0.0.0.0:11111},select="program=100",dst=std{dst=0.0.0.0:11112},select="program=101",dst=std{dst=0.0.0.0:11113},select="proram=60",dst=std{dst=0.0.0.0:11114},select="program=80"}"

egyébként a napi adás esténkénti átböngészése imho egyszerűbb, ha egy mega transport stream fileba lett mentve minden. a műsorújság alapján egyszerűen lehet váltogatni az adások között így utólag is.
ha valamit menteni akarok hosszabb távra akkor pedig a fenti parancssor + egy másik vlc, ami lementi. csak fura, hogy így lineárisan végig kell várni a teljes filmet/műsort, mint a régi analóg időkben.
videoszerkesztőkkel nemigen lehet megnyitni a dvb ts fileokat, és átkódolni sem érdemes őket. a jelentős számú adáshiba miatt, csak szétcsúszik a kép/hang szinkron.

igazad van. a transport stream file szétszedése adásonként így,


#!/bin/bash

vlc -vvv --ttl 4 --ts-es-id-pid --programs=100,101,60,80,104,105,106 $1 --dvb-modulation=64 --dvb-bandwidth=8 --dvb-hierarchy
=1 --dvb-code-rate-hp=3 --dvb-code-rate-lp=1 --dvb-guard=8 --dvb-transmission=8 --vout-filter deinterlace --deinterlace-mode X --sout-standard-access=file --sout-standard-mux=ts --sout "#duplicate{dst=std{dst=m1.ts},select="program=100",dst=std{
dst=m2.ts},select="program=101",dst=std{dst=rtl.ts},select="program=60",dst=std{dst=tv2.ts},select="program=80",dst=std{dst=k
ossuth.ts},select="program=104",dst=std{dst=petofi.ts},select="program=105",dst=std{dst=bartok.ts},select="program=106"}"

a paraméter értelemszerűen a transport streamet tartalmazó megafile.

már csak az időzítésre kellene valami megoldás, mert index híján az nincs. hiába adtam meg, mentette az egészet. de természetesen szerencsésebb lenne, ha nemcsak az adásokat vágnánk külön, hanem a mentendő időintervallumot is megadhatnánk.

Változtak a csatornák kiosztásai, hogyan lehet ezt hozzá igazítani ahhoz?

szerk: meg is van (610Mhz-es csatorna, amibe a királyi tv-k vannak, mux.ps néven):

"c:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -vvv --ttl 4 --ts-es-id-pid --programs=100,101,120,121,130,131,132 mux.ps --dvb-modulation=64 --dvb-bandwidth=8 --dvb-hierarchy=1 --dvb-code-rate-hp=3 --dvb-code-rate-lp=1 --dvb-guard=8 --dvb-transmission=8 --vout-filter deinterlace --deinterlace-mode X --sout-standard-access=file --sout-standard-mux=ts --sout "#duplicate{dst=std{dst=m1.ts},select="program=100",dst=std{dst=m2.ts},select="program=101",dst=std{dst=duna.ts},select="program=120",dst=std{dst=duna2.ts},select="program=121",dst=std{dst=mr1.ts},select="program=130",dst=std{dst=mr2.ts},select="program=131",dst=std{dst=mr3.ts},select="program=132"}"

szerk2.: azt még nem tudom, hogy lehetne elérni, hogy a több hangsávos adók (m1 pl.) minden hangsávja belekerüljön

szerk: bocs ezt holcam-nek akartam írni :)

érdemes lenne ezt a vlc fórumán is feldobni, hátha egy eddig ismeretlen bug.. 1.1.0-ig visszamenőleg néztük és hibásnak bizonyult... sőt 1.0.5-öt is próbáltam, az ha jól emlékszem máshogy működött kicsit (ott még nem ugyanazon a porton hanem különböző portokon streameltem talán). Bár valamivel jobb az 1.0.5 de látszik hogy ott sincs teljesen rendben.

Tudom, hogy nem válasz a kérdésedre, de nem lenne jobb, ha ezután már csak egy csatornát vennél fel?
Én mplayerrel rögzítek, majd mplayerrel nézem. Ebben az a legjobb, hogy timeshift, megállítható, visszatekerhető az élő adás.
mplayer dvb://"m1 HD" -dumpstream -dumpfile felvetel.ts
Majd pár másodperc múlva már kezdhetjük is nézni egy másik terminálból:
mplayer felvetel.ts -cache 30000 -vo vdpau:deint=2 -mc 1 -correct-pts

mivel hely úgyis van, számomra kényelmesebb az összeset felvenni. természetesen így is van timeshift, de ha pl egyszerre megy két műsor ami érdekelne, akkor nem kell választanom melyiket nézzem meg, mindkettő úgyis mentve lesz.
persze ez a minden csatorna csak a mindigtv egyik multiplexére igaz. ha megtalálom a skystar kártyámat kipróbálom majd saton is.

Lett valami értelmes megoldás a problémára?

nem vagyok nagyon otthon a témában - nem vlcs megoldás -

ami nem gépigényes - mert ez nem konvertálás. A fapadosabbja szétszedi a *.ts streamet és pl egy mkv konténerbe beledobod külön külön. A luxus pl tsdoktor egy kalap alatt megold mindent. Sajna fizetős, de a trial 30napig megy, akkor meg visszacseréled alatta a virtuális gépet :-P

a felvett adást demuxolni kell - eddigi tapasztalataim - alcorral és lg ms 400h val felvett filmeknél

tsdoktor /windowsos/ /rtlklub, tv2 vel csak ez boldogul - de legalább vágni is lehet/ mert ezek valahogy nem standard módon "adnak" /30napos trial/ - ezzzel is lehet mkv -be konvertálni

tsmuxer a linuxos ott van a masodik sorban. Nem kell telepíteni csak indítani
http://www.smlabs.net/tsmuxer_en.html

az m1, m2, dunatv, autonomia az könnyebb azt pl a ts cutter ízekre lehet szedni az mkvmerge gui - ba bedobod a vágott fájlt, kipipálod amit szeretnél megtartani és csinál *.mkv fájlt belőle /az extra option fülön még ne a zlibet válaszd, mert azt pár asztali lejátszó nem szereti /a default a zlib/

olyan program nincs amivel (windowson) megvágni lehetne a széjjelszedett videot? (tehát miután a muxot széjjelbontottam csatornákra), úgy, hogy a mentés átkódolás nélkül legyen? (reklámokat kivágni)

azért elolvashatnád, amit írtam :-)

az rtlklubot/tv2 párossal csak ez boldogul korrekten

tsdoctor
http://www.cypheros.de/tsdoctor_e.html

demuxol /szétszedia *.ts streamet/, vág, konvertál /konvert nem megy a klubon és a tv2 - őn - illetve megy, csak nincs hang/

a közszolgalatiak szabványosak, azzal a többi cutter is elbánik

Neked egy szoftveres remultiplexer kell. Azzal szét tudod szedni és csatornánként külön multiplexbe tenni. Lehet hogy csak online remultiplexert találsz, azt még meg kell toldani egy transport stream rögzítővel (bitről bitre menteni:)

hamár fejött ez a topic...
valamelyik szomszédos topicban kiderült, hogy a vlc 0.8.6 változat még nem (annyira) bugos, azzal lehet kezdeni valamit.

Viszont ha online is jó, akkor a dvblast úgy látom teljesen jól szedi szét a csatornákat rtp streamekké. A kép, hang (ok), teletext, epg rendes mux-ba öszefogva. Ja igen, a demux.c -be fel kell vinni a 0x11 értéket is mert ilyen típusú a he-aac és ezt kevés országban használják ilyen értékkel. (2 függvénybe kell a case-t kiegészíteni, ott ahol a 0x1b is van)

Sőt akár úgy is lehet, hogy dvblast szétszedi jól a csatornákat, a vlc pedig az adott csatorna rtp streamjét dump módban mentse módosítatlanul.

projectx, replex, transcode, dvbstream, ...

Up, hogy meg legyen itt is:

Csatornánként más-más porton http betokozással streameli.
Sorrend: M1, M2, TV2, RTLKLUB, EURONEWS, NeoFM, 3 magyar rádió

/usr/bin/screen -S stream /bin/su $USERNAME -c '/usr/bin/vlc -I dummy --ts-es-id-pid --dvb-adapter=0 --programs=100,101,60,80,109,104,105,106,113 --sout-standard-access=http --sout-standard-mux=ts dvb://frequency=746000000 --dvb-bandwidth=8 --sout="#duplicate{dst=std{dst=0.0.0.0:8080},select="program=100",dst=std{dst=0.0.0.0:8081},select="program=101",dst=std{dst=0.0.0.0:8082},select="program=80",dst=std{dst=0.0.0.0:8083},select="program=60",dst=std{dst=0.0.0.0:8084},select="program=109",dst=std{dst=0.0.0.0:8085},select="program=113",dst=std{dst=0.0.0.0:8086},select="program=104",dst=std{dst=0.0.0.0:8087},select="program=105",dst=std{dst=0.0.0.0:8088},select="program=106"} :sout-all :sout-keep"'

Csatornák: http://www.mindigtv.hu/~/media/DVBmedia/Szolgaltatasi_parameterek_2010_…

Sokkal jobb mint a VLC, az eddigi tapasztalataim alapján. Multicastot kapcsold be ha kell, dokumentációban utána lehet nézni.

Ubuntu 11.04
mumudvb Version 1.6
Based on dvbstream 0.6 by (C) Dave Chapman 2001-2004
Pesti 746MHz-re hangolva

nano /etc/mumudvb/mindigtv.conf

freq=746000
ip_http=0.0.0.0
port_http=8079
sap=1
#multicast_ttl=0

#multicast_auto_join=0

#End of global part

#Channel number : 0
ip=0.0.0.0
port=1234
name=M1
ts_id=100
unicast_port=8080
pids=1000 1001 1002 1003 1004
#End of config file

#Channel number : 1
ip=0.0.0.0
port=1234
name=M2
ts_id=100
unicast_port=8081
pids=1010 1011 1012 1003 1014
#End of config file

#Channel number : 2
ip=0.0.0.0
port=1234
name=TV2
ts_id=80
unicast_port=8082
pids=1080 1081 1082 1083

#Channel number : 3
ip=0.0.0.0
port=1234
name=RTL Klub
ts_id=60
unicast_port=8083
pids=1070 1071 1072 1073

#Channel number : 4
ip=0.0.0.0
port=1234
name=Euronews Teszt
ts_id=109
unicast_port=8084
pids=1090 1091 1092 1094 1096

############### RADIOK ###############
#Channel number : 5
ip=0.0.0.0
port=1234
name=NeoFM
ts_id=113
unicast_port=8085
pids=1130 1131 1131

#Channel number : 6
ip=0.0.0.0
port=1234
name=MR1 Kossuth
ts_id=104
unicast_port=8086
pids=1140 1141

#Channel number : 7
ip=0.0.0.0
port=1234
name=MR2 Petőfi
ts_id=105
unicast_port=8087
pids=1150 1151

#Channel number : 8
ip=0.0.0.0
port=1234
name=MR3 Bartók
ts_id=106
unicast_port=8088
pids=1160 1161
############### RADIOK ###############

#Channel number : 9
ip=0.0.0.0
port=1234
name=Info csatorna
ts_id=112
unicast_port=8089
pids=1120 1121 1131
#End of config file

### Kódolt, pedig az előző hozzászólásomban lévő "Csatornák:" linken a FTA-ként van feltüntetve
##Channel number : 4
#ip=0.0.0.0
#port=1234
#name=Sportklub
#ts_id=110
#unicast_port=8085
#pids=1100 1101 1102