optage direkte fra line in, og gem til mp3 fra commandline

Alle tekniske spørgsmål som ikke hører ind under de andre fora.
hest
Indlæg: 1
Tilmeldt: 20. nov 2006, 16:05
Geografisk sted: Albertslund

optage direkte fra line in, og gem til mp3 fra commandline

Indlæg af hest »

Hejsa

Jeg skal til en mindre radiostation opsætte en maskine der optager alt hvad der sendes ud i radioen på harddisk. Jeg mangler et lille command line util der kan optage hvad der kommer ind på line in, og gemme dette direkte i en mp3 fil, gerne med et parameter der angiver hvor lang til der skal optages (så jeg kan scripte noget der optager x antal minutter og startes via cron).

Jeg har kigget på lidt ecasound, men er ikke helt sikker på den kan det jeg ønsker. Det er ret vigtigt at det er et cli og ikke et GUI program, da der ikke er skærm eller andet sat til maskinen.
Nothing to se here.. please move along .. !!
SimonWallin
Indlæg: 1
Tilmeldt: 20. nov 2006, 19:42

optage direkte fra line in, og gem til mp3 fra commandline

Indlæg af SimonWallin »

Jeg vil foreslå at du kigger nærmere på et program der hedder gst streamer.

/Simon
hardcorewizard
Indlæg: 40
Tilmeldt: 20. nov 2006, 19:58
Geografisk sted: Taastrup, Danmark

optage direkte fra line in, og gem til mp3 fra commandline

Indlæg af hardcorewizard »

Præcis dette har jeg selv sat op ved hjælp af en kombination af sound-recorder og lame (bruger det til at optage Radium fra P2, da dette ikke udkommer som podcast :().

Jeg har oprettet følgende script i /usr/bin :

Kode: Vælg alt

#!/bin/sh

echo Recording $1 minutes to the file $2

mkfifo /tmp/RECPIPE
sound-recorder -q -k -S $1 /tmp/RECPIPE &
lame -m j --silent --scale 1.6 /tmp/RECPIPE $2
rm /tmp/RECPIPE
exit 0


Der oprettes en midlertidig named pipe, hvor sound-recorder optager wav-data til. Lame bruger herefter dette til at encode mp3-filen on-the-fly. Husk at gøre dine programmer silent, da jeg personligt sad og baksede i flere timer med at de lukkede af sig selv, fordi de fyldte en eller anden konsol-buffer op med statusbeskeder.

Til inspiration ser min crontab forresten sådan ud:

Kode: Vælg alt

00 23   * * 2   timed-record 61:00 ~/RadiumElektronisk_$(date +\%d-\%m-\%y).mp3
00 23   * * 3   timed-record 61:00 ~/RadiumRock_$(date +\%d-\%m-\%y).mp3

God fornøjelse :)