Kezdőlap › Fórumok › Vegyes gondok › playlist szerkesztése
- This topic has 34 hozzászólás, 3 résztvevő, and was last updated 14 years, 11 months telt el by
pointux.
-
SzerzőBejegyzés
-
2010-06-22-11:03 #1889645
A csatolt kép egy windowsos online rádióhoz készült, valami hasonlót szeretnék Linux alá is.
Amint a képen is látszik, így ha beteszek bármilyen zenét, vagy interjúkat, akkor pontosan láthatom hány óra, hány perc és mennyi másodperckor kerül lejátszásra az adott zene, vagy bármilyen hanganyag. Ha nincs ilyen programról tudomásotok, akkor aki ért hozzá abban legyen kedves segíteni, hogy mely irányba kezdjek el olvasni, hogy megtudjam magam is csinálni a 0 programozói tudásommal.A lejátszólista bármelyik lejátszó programhoz készülhet, az xmms nekem bejön, de más is érdekel, ha tudsz rá megoldást. Köszönöm, hogy elolvastad.2010-06-22-17:30 #2199942Pl. az amarok kiírja, amíg nem váltasz csatornát… mert ugyanis onnantól eltűnik az addigi lista és új kezdődik, ha jól tudom. (Ha menet közben akarod nézegetni, akkor ez a legjobb. És ki is lehet másolni.)
Ha kis erőforrással fájlba akarod menteni, saját készítésű dologgal, akkor pl: tudsz olyat mplayerhez, hogy stdin-re/file-ba (bár ez utóbbit nem próbáltam) parancsot írsz ki, mire az stdout-ra reagál.
Persze ehhez sokat kell tanulni (valami bash-t, vagy C-t tudni kell mindenképpen.) Tehát csak akkor ajánlom, ha mazó vagy. 😀
pl:
futtatva.: mplayer -slave -quiet valami
beírva: get_time_pos
kiírva: get_time_pos
ANS_TIME_POSITION=98,5
De pl, ha streamről van szó, akkor minden szám kezdetén kiír egy ilyet:
ICY Info: StreamTitle=’Lewis, Ramsey – A Night In Bahia’;StreamUrl=’http://www.webradiotroisdorf.de’; (Persze, ha sugároznak infót.)
Ezeket ugye meg lehet szűrni greppel, bármivel és file-ba lehet menteni.
Itt van, hogy slave módban milyen parancsok vannak:
http://www.mplayerhq.hu/DOCS/tech/slave.txtElvileg xmms-t is lehet vezérelni, csak már egyre kevésbé használt.
2010-06-22-19:50 #2199943Köszönöm vizsla, ám egy olyan érzésem van, hogy vagy Te nem értettél meg engem, vagy Én Téged 🙂
Amire szükségem van, hogy ha éjfélkor, vagy bármikor szerkesztem meg a listát, (az időt a rendszerem idejéből kezdje el számolni) és tudnom kell, hogy ha az első zene, vagy más mp3-as blokk lejár, akkor a következőt a rendszeridőm szerint mikor fogja játszani. Utána természetesen minden egyes listában szereplő hanganyagnak tudnom kellene a pontos lejátszási idejét (tehát nem csak a hosszát a hanganyagnak). Ez például akkor hasznos, ha vannak ismétléseim és tudom, hogy délután 13 órától 15 óráig hallgatnak, ám nem vagyok a gépnél és ezen időpontok közé szeretném mondjuk betenni az előző esti adás ismétlését.
Erre is jó amit írtál?2010-06-23-10:20 #2199944Természetesen, ha saját magad írod a scriptet/programot, akkor bármire jó lehet, amire akarod.
Összedobtam egy alap scriptet, mely gyorsan induló programokkal (mplayer, aplay stb.) működik jól.
Előnyök:
– saját maga kezeli a lejátszólistát, így a lejátszónak nem kell listát tudni kezelni
– szabványos m3u listát kezel, így bármilyen programmal tudod a listáidat szerkeszteni… meg mások is (magyarán csak egy kattintgatós programot kell letölteni hozzá, de egy sima test editor is megfelel)
– minden szám címéhez lementi azt is, hogy mikor játszották utoljára (természetesen ezt nem halmozza, akkor sem, ha többször volt játszva)
– soha nem törli azt a listát, amibe lementi azt, hogy mit mikor játszott (csak bővíti; így akár egy hónapra visszamenőleg is megkereshetsz valamit)
– külön kezeli a lejátszandó file-okat, így az előzőekben emlegetett lista nem zavarja
– félbe lehet szakítani egy számot, ha a program engedi, akkor bele lehet tekerni és ki lehet lépni az egészből a STOP szignállal (konzolból CTRL+Z)
Hátrányok:
– csak m3u listát kezel (azt hiszem ez nem gond)
– csak gyorsan induló programokkal értelmes a használata
– a listában nem lehet lépkedni (bár nyilván megoldható, de nem akartam túlbonyolítani; ellenben új listát bármikor adhatsz neki)Úgy működik, hogy csinálsz egy „./in-playlist.m3u” (de tetszőleges) lejátszólistát, melyet ő elkezd lejátszani. És, ha valamit elkezdet lejátszani, arról csinál egy „./out-playlist.m3u” (de tetszőleges) listát, úgy, hogy a nevek után egy ” ~ Last played: időpont” sztringet ad, melyből tudod, hogy mikor játszották.
Az itt lévőkből – tetszőlegesen – kimásolhatsz az „./in-playlist.m3u”-ba… és visszaugrunk az elejére.„./in-playlist.m3u” példa:
#EXTM3U
#EXTINF:10,Valami 1
/music/valami_1.mp3
#EXTINF:10,Valami 2 ~ Last played: 2010.06.22. 10:05:10
/music/valami_2.mp3
a magától létrejövő „./out-playlist.m3u” példa:
#EXTM3U
#EXTINF:10,Valami 1 ~ Last played: 2010.06.23. 12:05:00
/music/valami_1.mp3
#EXTINF:10,Valami 2 ~ Last played: 2010.06.23. 12:05:10
/music/valami_2.mp3
#!/bin/bash
PLAYER="mplayer -quiet "
IN_PLAYLIST="./in-playlist.m3u" # ezt a listat fogja lejatszani
OUT_PLAYLIST="./out-playlist.m3u" # ebbe menti el, amit jatszott
# (" - Last played: datummal" a neve utan, nem fogja halmozni a last played-eket)
Q_ON_SIGTSTP="true" # kilepes STOP szignal eseten (CTRL+Z), megvaltoztatasa nem ajanlott!
# a szam jatszasanak megszakitasa kilepessel pl. mplayer eseten a 'q' betuvel tortenik# ha nincs kimeno file, akkor letrehozza
if [ ! -f ${OUT_PLAYLIST} ];then
touch ${OUT_PLAYLIST}
fi# ha az elso sor nem #EXTM3U, akkor nem m3u file, ugy ujat hoz letre
head=$(head -n 1 ${IN_PLAYLIST} | tail -n 1)
if [ "$(echo ${head} | grep -c "#EXTM3U")" == "0" ];then
echo "#EXTM3U" > ${OUT_PLAYLIST}
fiextinf="."
path="."
LINES="1"
exitcode="0"
# soronkent nezi a file-t
while [ $((LINES)) -le $(($(cat ${IN_PLAYLIST} | wc -l))) ];doline=$(head -n $LINES ${IN_PLAYLIST} | tail -n 1)
# lementi a kimeno listaba es lejatsza
if [ "$(echo ${line} | grep -c "#EXTINF")" != "0" ];then
extinf=`echo "${line}" | sed 's/~ Last played: (.*)//'`
((LINES++))
path=$(head -n $LINES ${IN_PLAYLIST} | tail -n 1)
echo -e "${extinf} ~ Last played: $(date +%Y.%m.%d. %H:%M:%S)n${path}" >> ${OUT_PLAYLIST}
${PLAYER} "${path}"
exitcode=$?
fiif [ "${Q_ON_SIGTSTP}" == "true" ];then
if [ $exitcode -eq 1 ];then
exit
fi
fi((LINES++))
done
Indítás simán a script neve, amiben elmented. (IN_PLAYLIST létezzen! De meg lehet úgy is csinálni, hogy paraméterként is meg lehessen adni. )
Remélem jó lesz legalább kiindulásnak.2010-06-23-18:38 #2199945Nagyon szépen köszönöm, már csak azt kell kitaláljam hozzá, hogy miképpen fogom tudni megoldani, hogy lássam melyik számot pontosan mikor fogja a lejátszó lejátszani 🙂
2010-06-23-19:28 #2199946Hát amikor elindítod. 😀
Utána a már tudod a többit, mert a számok hosszai adottak
Sőt, amikor már játssza, akkor már a file-ba is beleírja.
De előre minek tudni pontosan (mertmég kb-re megértem)?2010-06-23-20:02 #2199947Minek előre?
Hádehát ez egy rádilyó, ahol nem árt előre tudni a műsort.
(Legalább az tudja, aki csinálja!)2010-06-23-20:07 #2199948kisbetu wrote:Minek előre?Hádehát ez egy rádilyó, ahol nem árt előre tudni a műsort.
(Legalább az tudja, aki csinálja!)
Nem félreértesz. A playlist összeállításánál eleve tudni fogja, hogy mi megy. Pl. összevállogatsz 2 óra hip-hop-ot.
Odáig rendben van, hogy tudod, hogy most 12-14-ig adsz 2 óra hip-hop-ot, de, hogy melyik szám fog másodpercre pontosan menni?2010-06-24-10:55 #2199949vizsla wrote:kisbetu wrote:Minek előre?Hádehát ez egy rádilyó, ahol nem árt előre tudni a műsort.
(Legalább az tudja, aki csinálja!)
Nem félreértesz. A playlist összeállításánál eleve tudni fogja, hogy mi megy. Pl. összevállogatsz 2 óra hip-hop-ot.
Odáig rendben van, hogy tudod, hogy most 12-14-ig adsz 2 óra hip-hop-ot, de, hogy melyik szám fog másodpercre pontosan menni?Ahogyan kisbetu is írta, nagyon fontos, hogy tudjam előre, hogy a nap melyik órájának, melyik percében és melyik másodpercében mi kerül leadásra, hiszen vannak ismétlések, amiket pontban akkorra kell időzítsek, amikor a hallgatók szeretnék és Én nem vagyok a gép előtt. vizsla így már leírtam érthetően miért fontos az idő? Tudom, nem minden esetben fogalmazok pontosan, ám legalább Én megértem minden esetben :-))))
2010-06-24-13:02 #2199950Tony Magic wrote:Ahogyan kisbetu is írta, nagyon fontos, hogy tudjam előre, hogy a nap melyik órájának, melyik percében és melyik másodpercében mi kerül leadásra, hiszen vannak ismétlések, amiket pontban akkorra kell időzítsek, amikor a hallgatók szeretnék és Én nem vagyok a gép előtt. vizsla így már leírtam érthetően miért fontos az idő? Tudom, nem minden esetben fogalmazok pontosan, ám legalább Én megértem minden esetben :-))))
Nem, úgy látszik én nem fogalmazok elég pontosan.
Mennyünk időrendi sorrendbe:1) Amikor szerkeszted a playlistet, akkor másodpercre pontosan tudod, hogy mit teszel be… mert te szerkeszted – sendeplan. (No, ez az amit – szerintem – kisbetű mondott, hogy nem lövöldözöl legalább vaktában.) Erre gondolom még kattintgatós program is van. (Ezek után előre, minek tudni és nem is tudhatod, mert van előre nem látott esemény (áramszünet stb.); ez meg az, amit én mondtam. Egyébként meg lesz vagy fél másodperc szünet a számok között*.)
(Sőt kisbetu hozzáfűzésétől vezérelve lehet csinálni egy scriptet, ami a lejátszólistából html formátumú listát csinál, hogy a hallgatók is tudják, hogy mire számítsanak.)2) Amikor éppen lejátsza, akkor nem fogod tudni, hogy mi mikor következik mondjuk fél perc múlva, mert épp nem nézegeted a lejátszólistádat és nem számolgatsz, hogy mi megy fél perc múlva… de, ha akarod kiszámolhatod… de minek – mert egyébként is lehet, hogy meg sem valósul -… erre mondtam, hogy minek.
3) Amint egy számot elkezdet lejátszani a második listában már másodpercre pontosan ott lesz, hogy mit mikor kezdett el játszani – azonnal ott lesz.
4) Gondolom addig nem „ismételsz” valamit, amíg el nem kezded játszani (sőt be nem fejeződött)… mert azt nem ismétlésnek hívnák. Ha pedig nem a hallgatók kérik az ismétlést, hanem az is egy előre eltervezett dolog (bár te nem ezt mondtad), akkor visszatértünk az 1-es ponthoz. (Mellesleg ahhoz, hogy minek tudni másodpercre, csak blokkra, de ez mindegy.)
fontos, hogy tudjam
előreutólag (…) hiszen vannak ismétlések, amiket pontban akkorra kell időzítsek, amikor a hallgatók szeretnékÉs pontosan erre írtam a scriptet… kipróbáltad? Ez az amit pluszba tud a script, hogy lementi, másodpercre, hogy mi ment (megy éppen) és nem, hogy mi fog menni.
Csak azért, mert azzal a scripttel látnod kéne, hogy egy szám melyik év, melyik hónap, melyik napján hanyadik órájának, hanyadik percének, másodpercében ment.a szám… sőt még megy a szám, de már ott van a file-ban, hogy mikor kezdődött.Az a logikai bukfenc a dologban, hogy te tőled kívül álló okok miatt sem tudhatod, hogy mi fog ténylegesen történni… de kell tudnod, mert a jövőbelátó hallgatók már kérik az ismétlést.:D <- Mert most erről megy (csak erről mehet) a vita ezzel a "tudnom kell előre másodpercre pontosan, hogy mi fog menni, mert a hallgatók kérik az ismétlést"- szerű mondatokkal. (Mert, ha azt mondtad volna, hogy mi ment addig… tehát számomra itt a félreértés, ill. nem félreértés, mert kategorikusan ezt ismétled.)
(Egyébként, ha annyira fontos az idő, akkor századmásodpercet is betehetünk… bár értelmetlennek tűnik, mert gyanítom, hogy a hallgatók másodpercre sem fogják megmondani neked, hogy mikor volt a szám. De ez is mellékes, mert ott van másodpercre pontosan.)Remélem érthető, hogy minden problémára ott a válasz… a lejátszólista alapján még (egy valószínű) jövőbeli eseményt is számolhatsz, csak hozzá kell adni a kezdés időpontját.
Egyvalamire nincs ott csak a válasz… hogy a jövőbelátó hallgatók „ismétlési” igényeit kielégítsd. 😀
No, erre legfeljebb a jövőlátó hallgatók tudják a választ… én csak arra tudok választ adni, hogy mi a terv, vagy arra, hogy ebből mi valósult meg.
Ez utóbbit adja a script, amin lehet csiszolgatni, ha megfelel.
Ha nem felel meg, vagy kéne még valami bele (pl. playlist paraméteren keresztüli megadása), akkor azt mondjad.
Például ezen ->* is javíthatunk, ha az mplayert slave módban indítjuk és folyamatosan menni fog a lejátszó és nem a számoknál töltődik be. (De ezt akkor egy speciális alkalmazásra pl. mplayer kell megírni és kissé bonyolultabb lesz.)nagyon fontos, hogy tudjam előre
Ezt csak egy valószínűség, de, ha megvalósul, akkor fogod tudni, hisz te állítod össze az adást… ha meg más, akkor másnak kell tudni… vagy elmondja neked, ha tudnod kell, vagy megnézed a lejátszólistát stb.
de, hogy indoklásképpen azt hozod fel, hogy
hiszen vannak ismétlések, amiket pontban akkorra kell időzítsek, amikor a hallgatók szeretnék
Értem én…. ez egy parajelenség. Még le sem ment, de már az ismétlést követelik. 😀
Már bocsáss meg, de nekem ebből ez jön le. :DDD -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz