PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ffmpeg: aufnahme von audio fifo oder pipe



Baldrian
08.01.08, 19:20
Moin.

Ich versuche gerade eine Audiospur in ein Video zu bekommen, mit hilfe von ffmpeg. Problem, ich muss vom alsa device den Ton abgreifen aber ffmpeg kann das nicht (zumindest soweit ich weiß), deshalb der Versuch mit arecord und nem fifo.

Aber jetzt erstmal wie es bei mir nicht will:

# mkfifo audio_fifo
# arecord -D plughw:1,0 -c 1 -f cd -t wav audio.wav > audio_fifo
# ffmpeg -f video4linux2 -r 30 -s 640x480 -i /dev/video0 -f wav -i audio_fifo -vcodec xvid -g 250 -b 1200k -acodec mp3 -ab 128 -ac 2 -vol 500 -async 1 test.avi

Das endet bei mir dann aber mit:

[video4linux2 @ 0x2b9b5498b280][3]Capabilities: 4000001
Input #0, video4linux2, from '/dev/video0':
Duration: N/A, bitrate: 147456 kb/s
Stream #0.0: Video: rawvideo, yuv422, 640x480, 147456 kb/s, 30.00 fps(r)
arecord: main:546: audio open error: Device or resource busy
audio_fifo: Error while opening file

Hab es auch schon mit ner pipe anstelle des fifo versucht aber dann will es auch nicht.

[video4linux2 @ 0x2b9b30054280][3]Capabilities: 4000001
Input #0, video4linux2, from '/dev/video0':
Duration: N/A, bitrate: 147456 kb/s
Stream #0.0: Video: rawvideo, yuv422, 640x480, 147456 kb/s, 30.00 fps(r)
pipe:: Error while opening file


Hm, kann mir jemand helfen?

Achso, arecord für sich und ffmpeg ohne sound geht natürlich.
Daran liegt es also nicht. Vermutlich also eher ein problem die beiden zu vereinen.

Ich sag schonam danke.

El-Biero
11.01.08, 18:52
Hallo
Willst einen Ton reinschneiden od einen Ton einfach nur aufnehmen bzw mitschneiden der zB über ein anderes Gerät kommt?
Aufnehmen kannst ganz einfach mit

ffmpeg -ac 2 -ar 44100 -ad /dev/dsp Test.wav

nimmt dir ein Wave mit Stereo von /dev(dsp auf.
PS du must auch noch im alsamixer capture aktivieren und die Aufnahmelautstärke anpassen.
Wennst nur einen Ton in ein Video dazufügen willst da passt avidemux2 gut. Video öffnen dann bei Audio/Source ein Wave mp3 etc. auswählen und passt. Eventuell must noch mit Timeshift die Audioausgabe synchronisieren, geht bei Audio A Filter Timeshift Hakerl setzen und dann rumspielen. Ein -100 setzt den Anfang vom Sound vor, bzw ein 100 nachher an. Sind glaub ich 1/100sec.

Tschau El-Biero