Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Ubuntutegenhangers voor WAV, BMP en AVI  (gelezen 3834 keer)

Offline JvH

  • Lid
Ubuntutegenhangers voor WAV, BMP en AVI
« Gepost op: 2010/07/10, 13:35:53 »
Ik ben net begonnen met een projectje waarbij ik op byteniveau audiovisuele bestanden ga uitlezen en genereren.
Dat betekent dat ik aan de slag moet met ongecomprimeerde bestandsformaten. In Windows heb je WAV voor audio, BMP voor bitmaps en AVI voor video.
Maar hoewel ik al een uitgebreide beschrijving van het WAV-formaat heb kunnen vinden, en dat voor de andere 2 formaten ook allicht zal kunnen, wilde ik het liever gaan proberen met open standaarden.

Mijn vraag is dus: wat zijn onder Linux gangbare formaten voor ongecomprimeerde audio, bitmaps en video?

Offline EarthMind

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #1 Gepost op: 2010/07/10, 14:03:10 »
FLAC is een voordeliger alternatief voor WAV, grotendeels omdat de uiteindelijke bestandsgroottes altijd lager liggen.

AVI is maar een "container" en moet je je niet druk over maken. Als video codec kun je ofwel XVID, VP8 of Theora gebruiken. Je kunt eventueel ook Vorbis audio met Theora video in een OGG bestand gebruiken om puur openbron te blijven. Hou er rekening mee dat Theora beter kwaliteit produceert dan XVID en dus zijn de bestandsgroottes ook groter dan deze.

Van BMP heb ik geen idee. Je kan eventueel wel voor PNG-24 gaan.
Geen Dropbox maar Wuala!

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #2 Gepost op: 2010/07/10, 14:30:59 »
Dank voor de snelle reactie!

Ik heb info gezocht over de formaten die je noemde, maar als ik het goed begrijp, is er bij al deze formaten sprake van een bepaalde vorm van compressie. Nu zullen er allicht bibliotheken voorhanden zijn om hier mee om te gaan, maar bij voorkeur wil ik werken met ongecomprimeerde formaten. Dit om de zaken zo min mogelijk complex te maken.
Bestandsgrootte is iig geen probleem; het zal gaan om zeer korte (<=5min) audio-/videofragmenten.

Offline EarthMind

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #3 Gepost op: 2010/07/10, 15:05:30 »
FLAC comprimeert alleen de grootte van het bestand door het te zippen en verder laat het de audio kwaliteit ongedeerd. FLAC is dus gelijkwaardig aan WAV, behalve dat de uiteindelijke bestanden vele kleiner zijn dan WAV bestanden.

AVI is hiervoor een slechte container omdat je veel van je kwaliteit zult verliezen. AVI is een oeroude container die voordelig is als je kleine videobestanden wilt aanmaken en niet veel geeft om HD kwaliteit.

De codecs dat ik vermeld heb zijn inderdaad allemaal "lossy" omdat als je "lossless" codecs gebruikt, dan zullen je bestanden immens veel groter zijn en veel plaats verspillen terwijl je met VP8, Theora en H.264 (gepatenteerd) gelijkaardige kwaliteit kunt verkrijgen en tegelijkertijd plaats besparen. Indien je toch voor een "lossless" codec wilt gaan, lees dan eens deze pagina: http://en.wikipedia.org/wiki/List_of_codecs#Lossless_compression

PNG is een uitstekend formaat omdat deze zowel als "lossless" als "lossy" kan worden gebruikt. Deze is superieur tegenover JPEG op veel gebieden. Voor meer info zoek je best eens op wikipedia.
Geen Dropbox maar Wuala!

Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #4 Gepost op: 2010/07/10, 15:57:22 »
Met Ubuntu kan je perfect alle formaten gebruiken, als je maar de juiste bibliotheken hebt...

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #5 Gepost op: 2010/07/11, 11:12:30 »
FLAC is een voordeliger alternatief voor WAV, grotendeels omdat de uiteindelijke bestandsgroottes altijd lager liggen.

AVI is maar een "container" en moet je je niet druk over maken. Als video codec kun je ofwel XVID, VP8 of Theora gebruiken. Je kunt eventueel ook Vorbis audio met Theora video in een OGG bestand gebruiken om puur openbron te blijven. Hou er rekening mee dat Theora beter kwaliteit produceert dan XVID en dus zijn de bestandsgroottes ook groter dan deze.

Van BMP heb ik geen idee. Je kan eventueel wel voor PNG-24 gaan.
Theora betere kwaliteit dan Xvid? Waar heb je dat vandaan? Theora wordt door vele gezien als de slechtste codec ooit, het bestandsformaat is groter, de kwaliteit slechter. Xvid moet je ook mee uitkijken, want in de mpeg4-asp technologie zitten veel patenten aan vast. Hetzelfde is eigenlijk zo met x264, die met de superieure h264/mpeg4-avc compressietechniek zijn werk doet.

Theora: http://www-cs-faculty.stanford.edu/~nick/theora-soccer/soccer_4cif.y4m-1600.ogv
MPEG4: http://www-cs-faculty.stanford.edu/~nick/theora-soccer/soccer_4cif.y4m-1000.mp4

De bitrate van Theora is zelfs veel hoger gezet. De Theora video is 1600kbps en de h264/mpeg4-avc is 1000kbps.
Zelfs nu is mpeg4 duidelijk beter.
« Laatst bewerkt op: 2010/07/11, 11:17:54 door Robin de Rooij »

Offline vanadium

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #6 Gepost op: 2010/07/11, 12:36:37 »
FLAC comprimeert alleen de grootte van het bestand door het te zippen en verder laat het de audio kwaliteit ongedeerd. FLAC is dus gelijkwaardig aan WAV, behalve dat de uiteindelijke bestanden vele kleiner zijn dan WAV bestanden.
De oorspronkelijke vraagsteller wil programmatorisch met ongecomprimeerd geluid werken. Een bestandsformaat dat comprimeert, is hiervoor dus niet geschikt
AVI is hiervoor een slechte container omdat je veel van je kwaliteit zult verliezen. AVI is een oeroude container die voordelig is als je kleine videobestanden wilt aanmaken en niet veel geeft om HD kwaliteit.
Verkeerde informatie. AVI is een containerformaat, en heeft als dusdanig niets om doen met de kwaliteit van de video of de audio. Die kwaliteit wordt namelijk bepaald door de codexen, de algorithmes om de video of audio te comprimeren en op te slaan.

Werken met ongecomprimeerde videobestanden is gewoon niet werkbaar: die eisen veel te veel schijfruimte. Je moet met frameserving werken: frames decoderen op vraag, d.w.z., op het ogenblik dat je er iets mee doet, en gecomprimeerd weer uitschrijven.

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #7 Gepost op: 2010/07/11, 14:31:02 »
FLAC comprimeert alleen de grootte van het bestand door het te zippen en verder laat het de audio kwaliteit ongedeerd. FLAC is dus gelijkwaardig aan WAV, behalve dat de uiteindelijke bestanden vele kleiner zijn dan WAV bestanden.
De oorspronkelijke vraagsteller wil programmatorisch met ongecomprimeerd geluid werken. Een bestandsformaat dat comprimeert, is hiervoor dus niet geschikt
Inderdaad: 'losslessness' is voor mijn project wenselijk, maar het belangrijkste criterium is voor mij dat er geen compressie mag plaatsvinden.

Werken met ongecomprimeerde videobestanden is gewoon niet werkbaar: die eisen veel te veel schijfruimte. Je moet met frameserving werken: frames decoderen op vraag, d.w.z., op het ogenblik dat je er iets mee doet, en gecomprimeerd weer uitschrijven.
Dat zal waarschijnlijk wel meevallen; het worden video's van 32×48 pixels, of althans in die orde van grootte. Dus ook al is het niet gecomprimeerd, schijfruimte zal geen probleem zijn.

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #8 Gepost op: 2010/07/11, 14:50:51 »
Laat ik maar eens uitleggen waar ik precies mee bezig ben :)

Mijn project hangt samen met de televisor, heel kort gezegd een mechanisch televisie-apparaat dat in de jaren '20 en '30 is gebruikt in o.a. Engeland en Duitsland. Hiermee konden kleine beeldjes, bijv. in de vorm van radiogolven, worden overgezonden. Deze toestellen konden over het algemeen 30-32 beeldlijnen weergeven.

Nu zijn er op Internet hier en daar WAV-bestanden te vinden die door zo'n NBTV-ontvanger weergegeven kunnen worden. NBTV = Narrow Bandwidth Television. Eigenlijk een beetje het idee van die Commodore-bandjes, alleen krijg je dan geen software, maar beeld :) Wat ik, als eerste stap in mijn project, wil bewerkstelligen is dat ik die WAV-bestanden om kan zetten naar ofwel bitmaps, ofwel video. Daarnaast wil ik zelf dergelijke WAV-bestanden kunnen genereren.

Aanvankelijk was het mijn idee om dit met Visual Studio Express te gaan doen, maar het leek me wel leuk om er een 100% open-source Ubuntu-projectje van te maken. Zodoende :)

Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #9 Gepost op: 2010/07/12, 01:06:08 »
Laat ik maar eens uitleggen waar ik precies mee bezig ben :)

Mijn project hangt samen met de televisor, heel kort gezegd een mechanisch televisie-apparaat dat in de jaren '20 en '30 is gebruikt in o.a. Engeland en Duitsland. Hiermee konden kleine beeldjes, bijv. in de vorm van radiogolven, worden overgezonden. Deze toestellen konden over het algemeen 30-32 beeldlijnen weergeven.

Nu zijn er op Internet hier en daar WAV-bestanden te vinden die door zo'n NBTV-ontvanger weergegeven kunnen worden. NBTV = Narrow Bandwidth Television. Eigenlijk een beetje het idee van die Commodore-bandjes, alleen krijg je dan geen software, maar beeld :) Wat ik, als eerste stap in mijn project, wil bewerkstelligen is dat ik die WAV-bestanden om kan zetten naar ofwel bitmaps, ofwel video. Daarnaast wil ik zelf dergelijke WAV-bestanden kunnen genereren.

Aanvankelijk was het mijn idee om dit met Visual Studio Express te gaan doen, maar het leek me wel leuk om er een 100% open-source Ubuntu-projectje van te maken. Zodoende :)


Leuk projectje, de Nipkowschijf daar heb ik de werking van moeten leren voor mijn examen multimedia.
Als je een gemakkelijke manier zoekt om beelden te bewerken pixel per pixel (als raw data), dan kan ik de programmeertaal / programmeeromgeving matlab aanraden. Deze is spijtig genoeg niet open-source, maar matlab is een high-level programmeertaal dat is geoptimaliseerd voor beeldbewerking. Er is wel een linux versie beschikbaar.
Veel succes!
http://leerubuntu.org (ubuntu zonder moeilijke woorden)
VoidWarranties (Hackerspace) Antwerpen
Microsoft isn't evil, they just make really crappy operating systems. - Linus Torvalds

Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #10 Gepost op: 2010/07/12, 10:00:06 »
AVI is hiervoor een slechte container omdat je veel van je kwaliteit zult verliezen. AVI is een oeroude container die voordelig is als je kleine videobestanden wilt aanmaken en niet veel geeft om HD kwaliteit.

Avi is gewoon een container. Je kan er ook gewoon Full-HD H264 in doen. Waarom zou de kwaliteit er op achteruitgaan?
Avi is niets meer dan een techniek om de video en audio bij elkaar te brengen zonder teveel poes-pas.

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #11 Gepost op: 2010/07/12, 10:46:36 »
Laat ik maar eens uitleggen waar ik precies mee bezig ben :)

Mijn project hangt samen met de televisor, heel kort gezegd een mechanisch televisie-apparaat dat in de jaren '20 en '30 is gebruikt in o.a. Engeland en Duitsland. Hiermee konden kleine beeldjes, bijv. in de vorm van radiogolven, worden overgezonden. Deze toestellen konden over het algemeen 30-32 beeldlijnen weergeven.

Nu zijn er op Internet hier en daar WAV-bestanden te vinden die door zo'n NBTV-ontvanger weergegeven kunnen worden. NBTV = Narrow Bandwidth Television. Eigenlijk een beetje het idee van die Commodore-bandjes, alleen krijg je dan geen software, maar beeld :) Wat ik, als eerste stap in mijn project, wil bewerkstelligen is dat ik die WAV-bestanden om kan zetten naar ofwel bitmaps, ofwel video. Daarnaast wil ik zelf dergelijke WAV-bestanden kunnen genereren.

Aanvankelijk was het mijn idee om dit met Visual Studio Express te gaan doen, maar het leek me wel leuk om er een 100% open-source Ubuntu-projectje van te maken. Zodoende :)


Leuk projectje, de Nipkowschijf daar heb ik de werking van moeten leren voor mijn examen multimedia.
Als je een gemakkelijke manier zoekt om beelden te bewerken pixel per pixel (als raw data), dan kan ik de programmeertaal / programmeeromgeving matlab aanraden. Deze is spijtig genoeg niet open-source, maar matlab is een high-level programmeertaal dat is geoptimaliseerd voor beeldbewerking. Er is wel een linux versie beschikbaar.
Veel succes!
Dank voor de tip. Dat MATLAB ziet er nogal niet-gratis uit...;) Daarvoor acht ik de slagingskans van mijn gehele project net iets te klein :D Ik heb eens gekeken naar open-soruce alternatieven. Namen die ik toen tegen kwam zijn Sage, Octave en Scilab. Heb je daar evt. ook ervaring mee?

Offline commandoline

  • LoCo-contact
    • marten-de-vries
    • Marten-de-Vries.nl
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #12 Gepost op: 2010/07/12, 13:18:13 »
Laat ik maar eens uitleggen waar ik precies mee bezig ben :)

Mijn project hangt samen met de televisor, heel kort gezegd een mechanisch televisie-apparaat dat in de jaren '20 en '30 is gebruikt in o.a. Engeland en Duitsland. Hiermee konden kleine beeldjes, bijv. in de vorm van radiogolven, worden overgezonden. Deze toestellen konden over het algemeen 30-32 beeldlijnen weergeven.

Nu zijn er op Internet hier en daar WAV-bestanden te vinden die door zo'n NBTV-ontvanger weergegeven kunnen worden. NBTV = Narrow Bandwidth Television. Eigenlijk een beetje het idee van die Commodore-bandjes, alleen krijg je dan geen software, maar beeld :) Wat ik, als eerste stap in mijn project, wil bewerkstelligen is dat ik die WAV-bestanden om kan zetten naar ofwel bitmaps, ofwel video. Daarnaast wil ik zelf dergelijke WAV-bestanden kunnen genereren.

Aanvankelijk was het mijn idee om dit met Visual Studio Express te gaan doen, maar het leek me wel leuk om er een 100% open-source Ubuntu-projectje van te maken. Zodoende :)

Ik heb geen ervaring met dingen als NBTV, maar begrijp dat je eigenlijk het geluid wilt 'omzetten' naar een beeld, en dat je dat beeld later weer terugzet naar geluid.

De eerste conclusie die je dan zou kunnen trekken, is dat je de interne werking van het geluidsbestand niet hoeft te begrijpen, als je gewoon zorgt dat de bytes waaruit het bestand bestaat van A naar B komen, is dat voldoende volgens mij.

Daarna moet je gaan nadenken hoe je die bytes in een videostream gaat integreren, die een normale videoplayer af kan spelen. Met andere woorden, je zult een van de codecs moeten pakken die in een avi-bestand geïntegreerd kunnen worden, en een manier moeten vinden om daar bytes op zo'n manier in te duwen, dat je ze er in dezelfde vorm weer uit kunt halen.

Dat is de theorie, maar ik denk dat je problemen gaat krijgen om de video zonder kwaliteitsverlies te verzenden via analoge apparatuur. (Want dat ben je toch van plan?)

Dat is wat mij zo te binnenschiet, succes!

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #13 Gepost op: 2010/07/12, 13:44:27 »
Citaat van: commandoline
De eerste conclusie die je dan zou kunnen trekken, is dat je de interne werking van het geluidsbestand niet hoeft te begrijpen, als je gewoon zorgt dat de bytes waaruit het bestand bestaat van A naar B komen, is dat voldoende volgens mij.
Voor zover ik het nu zie, zal het geen kwestie zijn van 1 op 1 kopiëren. Afhankelijk van bijv. samplerate en bits per sample van het WAV-bestand zal ik waarschijnlijk nog wel het een en ander moeten omrekenen om er een geldig bitmapbestand van te maken.

Citaat van: commandoline
Dat is de theorie, maar ik denk dat je problemen gaat krijgen om de video zonder kwaliteitsverlies te verzenden via analoge apparatuur. (Want dat ben je toch van plan?)
Een latere stap van mijn project wordt eventueel het daadwerkelijk bouwen van een receiver. Die sluit ik dan aan op mijn geluidskaart. Dan is het slechts een kwestie van het afspelen van zo'n WAV-bestand, en zou het moeten werken. M.a.w. dan heb ik überhaupt niet meer te maken met de interne structuur van het WAV-bestand - als het juiste geluid maar geproduceerd wordt :)

Offline commandoline

  • LoCo-contact
    • marten-de-vries
    • Marten-de-Vries.nl
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #14 Gepost op: 2010/07/12, 14:51:54 »
OK, zonet begreep ik dus niet wat je precies van plan was. Klopt onderstaande wel?

- Je wilt eerst met de computer een NBTV-ontvanger emuleren, dus geluid (wav) geschikt voor zo'n ontvanger omzetten naar een digitale video.
- Dan wil je het omgekeerd kunnen, video naar geluid.
- Vervolgens wil je hetzelfde mechanisch bouwen.

edit: ik heb het citaat maar verwijderd, nam toch alleen ruimte in beslag.

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #15 Gepost op: 2010/07/12, 15:12:18 »
Haha inderdaad, meestal citeer ik ook alleen de zinnetjes waarop ik reageer om alles overzichtelijk(er) :)

Ik wil inderdaad eerst van NBTV-geluid (WAV) naar een digitale video/afbeelding. Ik vind het namelijk wel handig om op mijn PC te kunnen zien wat voor beeld een bepaalde WAV zou moeten geven.

Daarna wil ik zelf WAV-bestanden gaan genereren. Op die manier kan ik zelf testbeelden en -patronen bouwen.

Het is dan nog even afwachten of het daadwerkelijk bouwen van zo'n ontvanger (inderdaad mechanisch) gezien mijn kennis en vaardigheden haalbaar is. Mocht het lukken, dan wordt dat een apparaat dat ik op de audio-uitgang van een PC aan kan sluiten, en dat dan beeld geeft als ik een van mijn WAV-bestanden afspeel.

Offline commandoline

  • LoCo-contact
    • marten-de-vries
    • Marten-de-Vries.nl
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #16 Gepost op: 2010/07/12, 17:41:10 »
Ik begrijp het nu, interessant project.

Ik heb nog even gezocht, en zag onder andere dat er al een programma bestaat: http://www.taswegian.com/NBTV/forum/viewtopic.php?t=651

En ten slotte over je beginvraag: Volgens mij maakt het allemaal niet zoveel uit welk formaat je gebruikt. Zolang je de juiste bibliotheek gebruikt, kun je het allemaal wel lezen en analyseren.

Mogelijkheden zijn eerder in de thread al meerdere keren genoemd geloof ik.

Tenslotte zou ik ook niet matlab-achtige programmeertalen overwegen. Als Java (gebruikt in het eerder genoemde programma) die WAV-bestanden live kan decoderen, kunnen veel andere talen dat ook vermoed ik.

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #17 Gepost op: 2010/07/12, 19:50:22 »
Dank je voor de link!
Dat programma lijkt een ander formaat te gebruiken dan de Narrow Bandwidth Television Association tot standaard heeft uitgeroepen. Maar het ziet er wel erg interessant uit.

Ik wilde zelf met Python + wxWidgets aan de slag. Wil me daar al een tijd in verdiepen, maar het is er tot op heden niet van gekomen.

Offline JvH

  • Lid
Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #18 Gepost op: 2010/07/14, 08:51:09 »
Dank voor jullie input tot zo ver!!

Ik heb een voorzichtige start gemaakt. De Pythonbibliotheken wav en PIL lijken precies de functionaliteit te bieden die ik nodig heb.
Mijn bedoeling is om van WAV naar een reeks PNG-bestanden te converteren.
Daarna wil ik daar met ffmpeg een video van gaan bakken.

Maar tips en op- en aanmerkingen zijn natuurlijk nog altijd welkom :)

Re: Ubuntutegenhangers voor WAV, BMP en AVI
« Reactie #19 Gepost op: 2010/07/14, 11:09:40 »
FLAC comprimeert alleen de grootte van het bestand door het te zippen en verder laat het de audio kwaliteit ongedeerd. FLAC is dus gelijkwaardig aan WAV, behalve dat de uiteindelijke bestanden vele kleiner zijn dan WAV bestanden.
De oorspronkelijke vraagsteller wil programmatorisch met ongecomprimeerd geluid werken. Een bestandsformaat dat comprimeert, is hiervoor dus niet geschikt
Inderdaad: 'losslessness' is voor mijn project wenselijk, maar het belangrijkste criterium is voor mij dat er geen compressie mag plaatsvinden.
FLAC is een codec die lossless is, de kwaliteit is hetzelfde ook als het gecomprimeerd is.