Benutzer:TomcatMJ/Work-in-Progress/Videoloopbackscript: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Website-Code für die Cam eingefügt)
K
Zeile 1: Zeile 1:
Startscripte für effecTV in Kombination mit camsource und dem vloopback Kernelmodul:
+
==Videoloopbackdevice Kernelmodul kompilieren:==
 +
Voraussetzung: Folgende Pakete sollten installiert sein: Kernel-Sources zum laufenden Kernel passend (auf die Versionsnummer unbedingt achten, ggf. nach der Installation nochmal ein Update des Kernels und der Kernelsourcen machen damit die Versionsgleichheit sichergestellt wird), gcc, make und falls man es als RPM-Paket erstellen will auch noch checkinstall
 +
 
 +
Zuallererst benötigt man die Sourcecodes für das Kernelmodul, da dies bisher noch nicht per Paketmanager zu finden zu sein scheint. Es ist unter
 +
http://www.lavrsen.dk/twiki/bin/view/Motion/VideoFourLinuxLoopbackDevice
 +
zu finden.
 +
Nach dem Entpacken wechselt man in einem X-Terminal/einer Konsole in das Verzeichnis welches durch das Entpacken erstellt wurde. Dort gibt man folgendes ein:
 +
./configure
 +
make
 +
und falls man es als RPM-Paket haben will
 +
sudo checkinstall
 +
und sollte den zukünftigen Paketnamen (hierbei bietet sich "vloopback 1.2" für die Version 1.2 des Kernelmoduls an) als Description in der Eingabemaske von checkinstall eingeben. Danach gibt man folgendes zur endgültigen Installation ein:
 +
cd /usr/src/packages/RPMS
 +
sudo rpm -Uvh $NAME_DES_ERSTELLTEN_PAKETS
 +
Falls man jedoch auf das Erstellen eines RPM-Pakets verzichtet gibt man einfach folgendes anstelle von sudo checkinstall und den darauf folgenden Befehlen ein:
 +
sudo make install
 +
Anschließend kann das vloopback Kernelmodulö für das Videoloopbackdevice genutzt werden wobei als Parameter die Anzahl der gewünschten Pipes angegeben werden kann.
 +
Beispiel:
 +
su
 +
insmod vloopback pipes=2
 +
2 Pipes bedeuten man hat 2 Eingabepunkte für Videodaten und 2 Ausgangsdevices zusätzlich zu den bereits hardwareseitig vorhandenen Videodevices. Sofern also bereits /dev/video0 und /dev/video1 existiert (wie bei mir mit TV-Karte und der Webcam) aber hardwareseitig bisher kein /dev/video2 existiuert ist /dev/video2 der erste Eingangspunkt, /dev/video3 der erste Ausgangspunkt, /dev/video4 der zweite Eingangspunkt und /dev/video5 der zweite Ausgangspunkt. An Eingangspunkte können Daten gesendet werden, zum Beispiel mit effecTV verarbeitete Daten von /dev/video0 aud /dev/video2 ausgeben lassen;  um sie am Ausgangspunkt als Pseudodevice wieder abzugreifen, zum Beispiel mit Camstream von /dev/video3 um die verarbeiteten Daten zu sehen und auf einen exterenen Server zu senden oder mit kopete um diese Daten für einen Videochat zu nutzen, 
 +
 
 +
Camsource z.B. kann diese Devices nutzen um sie als Streamserver direkt über einen entsprechenden TCP-Port am Rechner zur Verfügung zu stellen, also sozusagen als Webcamserver zu fungieren.
 +
 
 +
 
 +
==Startscripte für effecTV in Kombination mit camsource und dem vloopback Kernelmodul:==
  
 
Start mit Diff-Effekt:
 
Start mit Diff-Effekt:

Version vom 15. März 2009, 22:53 Uhr

Videoloopbackdevice Kernelmodul kompilieren:

Voraussetzung: Folgende Pakete sollten installiert sein: Kernel-Sources zum laufenden Kernel passend (auf die Versionsnummer unbedingt achten, ggf. nach der Installation nochmal ein Update des Kernels und der Kernelsourcen machen damit die Versionsgleichheit sichergestellt wird), gcc, make und falls man es als RPM-Paket erstellen will auch noch checkinstall

Zuallererst benötigt man die Sourcecodes für das Kernelmodul, da dies bisher noch nicht per Paketmanager zu finden zu sein scheint. Es ist unter http://www.lavrsen.dk/twiki/bin/view/Motion/VideoFourLinuxLoopbackDevice zu finden. Nach dem Entpacken wechselt man in einem X-Terminal/einer Konsole in das Verzeichnis welches durch das Entpacken erstellt wurde. Dort gibt man folgendes ein:

./configure
make

und falls man es als RPM-Paket haben will

sudo checkinstall

und sollte den zukünftigen Paketnamen (hierbei bietet sich "vloopback 1.2" für die Version 1.2 des Kernelmoduls an) als Description in der Eingabemaske von checkinstall eingeben. Danach gibt man folgendes zur endgültigen Installation ein:

cd /usr/src/packages/RPMS
sudo rpm -Uvh $NAME_DES_ERSTELLTEN_PAKETS

Falls man jedoch auf das Erstellen eines RPM-Pakets verzichtet gibt man einfach folgendes anstelle von sudo checkinstall und den darauf folgenden Befehlen ein:

sudo make install

Anschließend kann das vloopback Kernelmodulö für das Videoloopbackdevice genutzt werden wobei als Parameter die Anzahl der gewünschten Pipes angegeben werden kann. Beispiel:

su
insmod vloopback pipes=2

2 Pipes bedeuten man hat 2 Eingabepunkte für Videodaten und 2 Ausgangsdevices zusätzlich zu den bereits hardwareseitig vorhandenen Videodevices. Sofern also bereits /dev/video0 und /dev/video1 existiert (wie bei mir mit TV-Karte und der Webcam) aber hardwareseitig bisher kein /dev/video2 existiuert ist /dev/video2 der erste Eingangspunkt, /dev/video3 der erste Ausgangspunkt, /dev/video4 der zweite Eingangspunkt und /dev/video5 der zweite Ausgangspunkt. An Eingangspunkte können Daten gesendet werden, zum Beispiel mit effecTV verarbeitete Daten von /dev/video0 aud /dev/video2 ausgeben lassen; um sie am Ausgangspunkt als Pseudodevice wieder abzugreifen, zum Beispiel mit Camstream von /dev/video3 um die verarbeiteten Daten zu sehen und auf einen exterenen Server zu senden oder mit kopete um diese Daten für einen Videochat zu nutzen,

Camsource z.B. kann diese Devices nutzen um sie als Streamserver direkt über einen entsprechenden TCP-Port am Rechner zur Verfügung zu stellen, also sozusagen als Webcamserver zu fungieren.


Startscripte für effecTV in Kombination mit camsource und dem vloopback Kernelmodul:

Start mit Diff-Effekt:

DiffCam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
effectv -device /dev/video1 -hardware -size 640x480 -vloopback /dev/video2 DiffTV &
camsource -c /usr/local/etc/camsource2.conf

Start mit Video-Reverb Effekt:

RevCam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
camsource -c /usr/local/etc/camsource2.conf
effectv -device /dev/video0  -size 640x480 -vloopback /dev/video4 RevTV &

Start mit Edge-Effekt:

EdgeCam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
camsource -c /usr/local/etc/camsource2.conf
effectv -device /dev/video1 -hardware -size 640x480 -vloopback /dev/video2 EdgeTV

Start mit Holocam-Effekt (Star Wars Imperator-Übertragungseffekt):

Holocam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
camsource -c /usr/local/etc/camsource.conf
effectv -device /dev/video1 -hardware -size 640x480 -vloopback /dev/video4 HolographicTV &

Start mit SimuraTV Effekt:

SimuraTVcam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
camsource -c /usr/local/etc/camsource2.conf
effectv -device /dev/video1  -size 640x480 -vloopback /dev/video4 SimuraTV  &

Start mit SimuraTV und anschließendem BaltanTV Effekt:

SimuraTV_BaltanTV_Cam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
camsource -c /usr/local/etc/camsource2.conf
effectv -device /dev/video1  -size 640x480 -vloopback /dev/video2 SimuraTV  &
effectv -device /dev/video3 -size 640x480 BaltanTV -vloopback /dev/video4 &

Start mit SimuraTV Effekt und anschließendem VertigoTV-Effekt:

Simura_Vertigo_Cam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
camsource -c /usr/local/etc/camsource2.conf
effectv -device /dev/video1  -size 640x480 -vloopback /dev/video2 SimuraTV  &
effectv -device /dev/video3 -size 640x480 -vloopback /dev/video4 VertigoTV &

Start mit VertigoTV Effekt und anschließendem SimuraTV Effekt: Vertigo_Simura_Cam.sh

#!/bin/sh
kdesu modprobe vloopback pipes=5
camsource -k
camsource -c /usr/local/etc/camsource2.conf
effectv -device /dev/video1  -size 640x480 -vloopback /dev/video2 VertigoTV  &
effectv -device /dev/video3 -size 640x480  -vloopback /dev/video4 SimuraTV  &


HTML-Code für eine simple mit per camsource mit Bilddaten versorgte Webcam-Seite füpr den apache auf dem Heimserver:

webcam.html

<html>
<head>
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="refresh" content="10; URL=http://mein.heimserver/webcam.html">
</head>
<body>
  <center>
  <img src="http://mein.heimserver:9192/multipart-large" width=640 height=480>
  </center>
</body>

Zurück zu TomcatMJs Work-in-Progress Seiten