# Von webcam gleichzeitig Aufnahme sehen und speichern.

## markusk21

Hallo zusammen,

ich habe meine webcam erfolgreich installiert und mit 

```

mencoder tv:// -tv device=/dev/video0:driver=v4l:brightness=50:width=352:height=288 -o /home/markus/Desktop/webcam.mpg -ovc raw

```

kann ich die Auzeichnung speichern und mit 

```

mplayer tv:// -tv device=/dev/video0:driver=v4l:brightness=50:width=352:height=288

```

kann ich sie sehen.

Ich möchte aber gleichzeitig sehen was gerade aufgezeichnet wird. Ich habe versucht die Befehle mit & und auch && zu verbinden (wo liegt doch gleich der Unterschied?), leider ohne Erfolg.

Da hat doch bestimmt jemand eine Lösung, oder?

Freundliche Grüße

Markus

----------

## ChrisJumper

 *Quote:*   

> Ich möchte aber gleichzeitig sehen was gerade aufgezeichnet wird. Ich habe versucht die Befehle mit & und auch && zu verbinden (wo liegt doch gleich der Unterschied?), leider ohne Erfolg.

 

Das normale & führt Programme im Hintergrund aus. So das du in deinem Terminal normal weiterarbeiten kannst.

EINE && ANDERE - führt meines Wissens erst das EINE..(und wenn EINE Fertig ist), dann das ANDERE aus. 

Aber um dein Problem nochmal anzusprechen. Ich bin noch nicht so ganz versiert im Shellscripting aber schau dir mal tee an. Wenn ich mich recht erinnere sollte es Datenströme wie ein T Stück in einem Wasserrohr kopieren und umleiten. ;)

Allerdings hab ich jetzt kein Beispiel und das auch noch nicht oft benutzt. Aber vielleicht hilft dir das Stichwort ja schon ein wenig weiter...

----------

## markusk21

Danke für die Hilfe erstmal.

Aber leitet tee nicht nr die Standard-ausgabe von Programmen um, also so wie ">" oder ">>"? Dann würde ja nur die Konsolenausgabe umgeleitet, aber nicht das Kamerabild, oder?

----------

## ChrisJumper

Also ich hab da noch was gefunden, zwar nicht selber ausprobiert. Aber theoretisch kannst du sowas ja auch machen indem du deinen Desktop aufnimmst. Je nachdem wie man mit dem Tool Arbeiten kann, kannst du ja auch gezielt nur das Videofenster aufzeichnen.

Ist vielleicht mehr die Dirty-Lösung aber mehr fällt mir jetzt auch nicht ein.

```
eix media-video/recordmydesktop

* media-video/recordmydesktop

     Available versions:  ~0.3.6 {alsa jack}

     Homepage:            http://recordmydesktop.iovar.org/

     Description:         A desktop session recorder producing Ogg video/audio files

```

Oh eins noch: hast du mal versucht einfach beide Befehle von zwei Terminals auszuführen?

Guck dir auch mal exec an ;)

----------

## markusk21

Die dirty-Lösung kommt mir tatsächlich sehr "ditry" vor. Sicher wird a) die Qualität der Aufnahme sehr leiden und b) die Dateigröße unnötig aufgeblasen. Mir wäre es lieber wenn die Datei möglichst gute Qualität und die Mitschau eingeschränkt wäre.

Trotzdem Danke, ich werde sie mir vorbehalten.

Deine Zweite Idee kommt meinen Vorstellungen natürlich sehr viel mehr entgegen aber leider kommt erwartungsgemäß:

```
unable to open '/dev/video0': Device or resource busy
```

Aber das muss doch irgendwie gehen. Bei einigen Chat-Programmen kann man sich ja auch selbst sehen während die Daten übertragen werden.

Gibt es weitere Ideen?

----------

## markusk21

Ach ja. den exec-Befehl verstehe ich nicht wirklich in der man-page steht was von file descriptor 3, 4 und 5. 

Das einzige was meinem Problem nahe kommen könnte wäre  *Quote:*   

> Make file descriptor 5 a copy of file descriptor 0:
> 
>               exec 5<&0

 

Aber es klingt als würde nur irgendeine Beschreibung kopiert werden (vielleicht die nodes) nicht die Daten von /dev/video0, oder?

----------

## Finswimmer

mplayer /home/markus/Desktop/webcam.mpg ?

Starte es entweder seperat per Hand oder im Skript.

Du wirst eine leichte Verzögerung haben, aber das sind max 1/2 Sek und sollte zu verkraften sein?

Tobi

----------

## Necoro

Kannst du nicht einfach deine Aufzeichnungen wie gehabt in die .mpg speichern und diese parallel zB mit mplayer anschauen? - oder scheitert das am mpg-format, am platten-buffer o.ä.?

/edit: Der Finswimmer war schneller  :Wink: 

btw: Möglich wäre natürlich auch noch ein kleines Programm, welches das Video-Device öffnet und den Inhalt denn an zwei andere Dateideskriptoren weiterreicht ... die dann jeweils von einem mencoder ausgewertet werden *rat*

----------

## dakjo

Wie waere es den mit 'mplayer tv:// -tv device=/dev/video0:driver=v4l:brightness=50:width=352:height=288 -dumpfile <file>'

----------

## c_m

Das hier funzt bei mir sauber:

 *Quote:*   

> cat /dev/video0 | tee test.mpg |  kaffeine stdin://mpeg2 & disown

 

----------

