přejít na obsah přejít na navigaci

Linux E X P R E S, Hledám chybu: nelze hromadně upravit nebo přehrát mp3

Hledám chybu: nelze hromadně upravit nebo přehrát mp3

Před časem jsem si nahrál z internetových rádií několik stovek písniček. Dnes mám problém s jejich správou.


reklama

Darovanému koni na zuby neto.. ale...

Pro nahrávání z internetových rádií existuje pár pěkných programů a udělají spoustu věcí za vás, psali jsme o nich v článku Poslech a nahrávání internetových rádií v Linuxu. Jenže má to jednu podstatnou chybu - soubory nemají vyplněné popisky. To je hlavička, kde je napsáno jméno interpreta, název skladby, číslo skladby na disku (haha), žánr, rok a další věci. Hlavičky jsou minimálně ve dvou generacích a několika variantách.  Moje soubory nemají nic z toho vyplněné, jméno interpreta a název skladby je pouze ve jménu souboru.

$ mp3info Stan\ Getz\ *
Stan Getz - Desafinado.mp3 does not have an ID3 1.x tag.
Stan Getz - Desafinado (Off Key).mp3 does not have an ID3 1.x tag.
Stan Getz - Doralice.mp3 does not have an ID3 1.x tag.
Stan Getz - How Insensitive.mp3 does not have an ID3 1.x tag.

Když začal mrznout Audacious a následně byl sestřelen i s celým X serverem, protože sežral všechnu paměť a zaplnil odkládací oddíl, přešel jsem na Music player daemon. Když OoM killer začal zabíjet i jeho, já jsem začal študovat logy, abych zjistil, co se děje. Nezjistil jsem nic, nahlásil jsem chybu v Audacious, kde ji hned zavřeli jako wontfix, protože šlo o starou verzi - novou jsem v RPM balíčku nikde nenašel a následně jsem raději využil doporučení vývojářů, abych je se starou verzí neotravoval.

Zkoušel jsem další přehrávače, až jsem zakotvil u výborného Exaile. Bylo by vše ok, jenže když jsem jej nechal vytvořit sbírku, hádejte, co se stalo. :-( Soubory vybrané přímo z disku a natvrdo vložené do playlistu přehrál bez problémů - ale úplně ty stejné není schopen zpracovat - stejně jako ostatní programy.

Nový systém, staré problémy

Nainstaloval jsem Mandriva Linux 2010 a ve zrychleném řízení jsem projel celé kolečko znovu. Mám o favorita navíc. :-) Amarok sice nepadne, ale za celou noc zvládl naindexovat pouze osm procent mé hudební sbírky (cca 150 GB) - moc ji nerozšiřuji, na jaře to zvládal v řádu hodin.  MPD sestřelen, Audacious sestřelen, dál jsem nezkoumal.

Zkusil jsem mptrojky otagovat. EasyTag načítá ihned celý adresář, jakmile do něj vstoupíte. Sestřelen, nestihl jsem ho zabít dříve než OoM killer, paměť na swapu skákala po padesátkách megabajtů a protože mám jen asi 1 GB, nestihl jsem to. Podruhé jsem vybral jen dvacet souborů a zkusil jsem to znovu. Load 100%, swap se začal plnit. Tentokrát jsem to těsně stihl a sejmul jsem ho sám.

Pachatel neznámý

Která knihovna přesně je za tohle zodpovědná? Používají ji všechny programy. Setkali jste se s tím někdy taky? Až zjistím víc, pokusím se to nějak nahlásit... jde tedy podle mého názoru o to, že přeteče paměť. Příčinou by mohlo být to, že knhovna nepočítá s tím, že není vyplněn žádný tag. Ale to je pouze můj dohad, nevím, jak zjistit víc.

V záznamech není během divoké alokace paměti nic, po sejmutí samozřejmě různě barvité hlášky.

Nahoru

(Jako ve škole)
 

Top články z OpenOffice.cz

Příspěvky

Pavel Fric KRadio 4
Pavel Fric 15. 11. 2009, 22:16:21
Odpovědět  Odkaz 
Pro nahrávání rozhlasu na síti jsem pracoval na dvou programech. Autor KRadioRipper je teď ve Španělsku a s novou verzí přijde kdoví kdy. Ale KRadio je ve verzi 4, takže by už se od něho dalo něco očekávat, ale nezkoušel jsem to. Jen jsem se podíval, do čeho si jeho autor myslí, že by se dal proud dat zaznamenávat. Ve výčtu není jen MP3, takže jsem zvědavý, jestli program vezmeš a vyzkoušíš popořadě i třeba ten .raw, .wav, .aiff, .au, .ogg. Tenhle program je poněkud rozsáhlejší. Mně dělá potíž rychle najít v předvolbách stanic pár čistě internetových. KRadio má sloužit i pro poslech dalších rádií přes další vybavení, něco jako TV kartu (aspoň takhle si to představuju, i když tuhle možnost jsem neměl možnost vyzkoušet - dává to pěknou řádku možností po celém světě, když by člověk byl v blízkosti antén). Dlouho jsem KRadio nezkoušel ani na poslech internetových stanic. Člověk si říká, že doplňků se seznamy stanic pro různé přehrávače, je, když na věc přijde, dost. Pak by se vyzkoušela možnost doplnění značek do takto získaných souborů. Když nějak uspěješ, jistě nám o tom napíšeš. :-)
Vlastimil Ott Re:KRadio 4
Vlastimil Ott 16. 11. 2009, 08:11:26
Odpovědět  Odkaz 
KRadio je pro FM signál, to na mysli nemám, spíše jde o výstup, ten jsem nezkoušel. Já vím, že jsem měl hledat program, který ty tagy ukládá - jenže jsem byl přesvědčený, že to streamripper dělá, má na to přepínač.

Doplnění značek do souborů - o to přece jde. Pomíjím možnost dělat to po jednom. Nejde mi to hromadně..
Re:Re:KRadio 4
Pavel Fric 16. 11. 2009, 09:26:08
Odpovědět  Odkaz 
Tím FM signálem myslíte, že dokáže přijímat stanice pouze přes radiokartu? Mám dojem, že mezi přídavnými moduly, ze kterých je složen, je i takový, kde se nastavují datové proudy. Z toho mi plyne, že by se dala vložit i adresa datového proudu internetového rádia. Jestli, když je datový proud poskytován v MP3, jej KRadio hned převede do formátu, který se dá vybrat na kartě určené pro nastavení nahrávání, jsem nezkoušel. Jak soubory označuje také ne.
Vlastimil Ott Re:Re:Re:KRadio 4
Vlastimil Ott 16. 11. 2009, 09:55:14
Odpovědět  Odkaz 
Aha... já jsem znal KRadio jako FM rádio. Nepoužívám ho tedy pro internetová rádia, nevěděl jsem, že to umí. Ale mohl bych to zkusit - díky.
Re:Re:Re:Re:KRadio 4
Pavel Fric 16. 11. 2009, 12:43:49
Odpovědět  Odkaz 
Když jsem se teď podíval na domovské stránky projektu (http://www.nocabal.de/%7Eemw/kradio/index.html), tak hned ten ukázkový obrázek nad oznámením o vydání poslední verze naznačuje jasným způsobem (svítící "NET" a adresa), že by to umět měl.
Vojtěch Zeisek Hledám chybu: nelze hromadně upravit nebo přehrát mp3
Vojtěch Zeisek 15. 11. 2009, 23:33:35
Odpovědět  Odkaz 
Zajímavé. Mám hudby přes 40 GB a Amarok to přechroustal za chvilku. Zkoušel jsi přehráváni v Kaffeine nebo v SMplayeru? U toho Amaroku mě napadá jen změnu zvukového backendu. Když jsem měl nastaven GStreamer tak od jisté doby šly přehrávat jen jednotlivé soubory, ne celý playlist. S Xine to chodí v pohodě.
Vlastimil Ott Re:Hledám chybu: nelze hromadně upravit nebo přehrát mp3
Vlastimil Ott 16. 11. 2009, 08:12:41
Odpovědět  Odkaz 
Nezkoušel. Zajímá mě, proč několik programů sežere tolik paměti, že je musí systém odstřelit. Vychází mi z toho, že mají společnou chybu..
Re:Re:Hledám chybu: nelze hromadně upravit nebo přehrát mp3
Daniel Housar 17. 11. 2009, 00:01:19
Odpovědět  Odkaz 
Napadá mne zkusit debugger. Pro kdejakou úlohu se v linuxových distribucích dodává jedna aplikace nebo knihovna, která je volána z různých aplikací. Otázka ještě je, zda je chyba na úrovni zdrojového kódu, nebo jestli je chyba způsobena optimalizací při kompilaci.

Vypadá to na plnění bufferu v nějakém cyklu, kde není splněna podmínka pro opuštění cyklu.
I když asi může jít jen o malloc(), kdy nejsou do alokované paměti zapsána žádná data.

Každopádně takto rychle plnit paměť, to je úctyhodný výkon.
Hledám chybu: nelze hromadně upravit nebo přehrát mp3
Jakub Lucký 17. 11. 2009, 11:15:19
Odpovědět  Odkaz 
Zkusil bych se podívat na systémová volání pomocí strace, pak prohlédnout závislosti oněch programů a hledat jejich shodnou závislost (i jen kompilační), zkusil bych si jeden přehrávač zkompilovat sám...
A jestli jste šikovný a znalý, pak to můžete prohnat skrz GDB nebo Valgrind...
Lukáš Zapletal Re:Hledám chybu: nelze hromadně upravit nebo přehrát mp3
zapletal 18. 11. 2009, 14:39:27
Odpovědět  Odkaz 
Asi nejjednodušší bude zjištění, které knihovny padající programy používají. To se zjistí příkazem ldd:

ldd amarok
ldd blabla
ldd xxxyyy

Jakmile vytvoříš seznam kandidátů, pak stačí nainstalovat knihovnu s debug verzí. Například zjistíš-li, že se jedná o knihovnu libid3, tak pokud má distribuce k dispozici balíček libid3-debug (nebo -dbg nebo něco podobného), pak jej stačí nainstalovat.

No a pak lze vytvořit takzvaný Backtrace programem gdb. Budeš přesně vědět, odkud vítr vane. Pěkně to je popsáno zde:

https://wiki.ubuntu.com/Backtrace

Mimochodem na Ubuntu je tohle v podstatě automatické - běží tam daemon (AppPort), který pády detekuje, je schopný vytvářet reporty v Launchpadu a tam se také automaticky "převede" stripnutá verze na nestripnutou (mají záznamy z každé release Ubuntu o adresách, takže není třeba instalovat debug balíčky).

https://wiki.ubuntu.com/Apport
Lukáš Zapletal Hledám chybu: nelze hromadně upravit nebo přehrát mp3
zapletal 18. 11. 2009, 14:48:32
Odpovědět  Odkaz 
Mimochodem přehrávače co si dělají databázi celé kolekce jsou značně nestabilní a pomalé. Také mi nevyhovuje práce s nimi. Proto jsem začal pracovat na novém přehrávači, kde bude vše jednoduché - pracovat se bude pouze s adresáři i soubory (a ty si budu moct otagovat jako tady na LinuxEXPRESu). Žádné kolekce, databáze nebo ID3 tagy.

Práce jsem zahájil zhruba před měsícem, píšu to v C++ a QT. Program by měl být dokončen někdy kolem roku 2014-2015 ;-)

https://launchpad.net/sintag
Vlastimil Ott Re:Hledám chybu: nelze hromadně upravit nebo přehrát mp3
Vlastimil Ott 18. 11. 2009, 16:30:56
Odpovědět  Odkaz 
A redakční systém píšeš? :-p

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss