mirror of
https://github.com/game-stop/veejay.git
synced 2025-12-14 03:39:58 +01:00
117 lines
3.1 KiB
Plaintext
117 lines
3.1 KiB
Plaintext
__ __ ______ ______
|
|
/\ "-.\ \ /\ ___\ /\__ _\
|
|
\ \ \-. \ \ \ __\ \/_/\ \/
|
|
\ \_\\"\_\ \ \_____\ \ \_\
|
|
\/_/ \/_/ \/_____/ \/_/
|
|
in veejay
|
|
|
|
Veejay stats
|
|
============
|
|
|
|
None.
|
|
|
|
Veejay can stream over the Network
|
|
=================================================
|
|
|
|
With -p you can give Veejay's port offset
|
|
|
|
TCP socket for sending commands: + 0 (sayVIMS -h)
|
|
TCP socket for receiving status: + 1 (gveejay)
|
|
TCP socket for querying commands:+ 2 (gveejay - editlist/sampellist etc)
|
|
UDP multicast frame sender : + 3 (input stream multicast/other applications)
|
|
UDP multicast for sending commands: + 4 (sayVIMS -g)
|
|
|
|
|
|
How to activate:
|
|
|
|
1. veejay movie1.avi
|
|
2. veejay movie2.avi -p 5000
|
|
|
|
(Both movie clips must have identical properties!!)
|
|
|
|
veejay 2 makes a connection with veejay 1
|
|
|
|
3. sayVIMS "245:localhost 3490;" -p 5000 -h localhost
|
|
|
|
4. move mouse to veejay2 video window and press 'ESC'
|
|
|
|
if everything is OK, the video will be playing.
|
|
|
|
5. stop veejay1 (CTRL-C)
|
|
|
|
6. veejay2 will show last frame (press ESC)
|
|
|
|
7. restart veejay1
|
|
|
|
8. press 'ESC' in veejay2 to resume streaming (auto-reconnect)
|
|
|
|
Veejay can stream over the Network (UDP / Multicast )
|
|
=====================================================
|
|
|
|
How to activate:
|
|
|
|
1. veejay -V 224.0.0.50 -p 5000 -v movie1.avi
|
|
2. veejay -d -W <movie1 width> -H <movie1 height>
|
|
|
|
3. sayVIMS -h localhost -p 3490 "246:5000 224.0.0.50;"
|
|
4. press F7 to activate newest created stream
|
|
|
|
|
|
Veejay can receive OSC (Open Sound Control) messages over Multicast protocol
|
|
============================================================================
|
|
How to activate:
|
|
|
|
1. veejay --multicast 224.0.0.30 movie1.avi
|
|
|
|
Note that you must have 'multicast' enabled in your kernel configuration.
|
|
Use the tool 'mcastOSC' in test/OSC to send OSC messages to all
|
|
veejay's you have started with --multicast (on multiple hosts!!)
|
|
|
|
2. export MCAST_ADDR=224.0.0.30
|
|
4. mcastOSC -r 3495
|
|
|
|
|
|
Veejay can send/receive VIMS (Veejay Internal Message System) packets
|
|
over Multicast protocol
|
|
=============================================================================
|
|
|
|
How to activate:
|
|
|
|
1. veejay --multicast-vims 224.0.0.32 movie1.avi
|
|
2. veejay --multicast-vims 224.0.0.32 movie2.avi
|
|
|
|
3. sayVIMS -g 224.0.0.32 -f test/vims/magicmirror-vims.txt
|
|
|
|
|
|
How to setup multicast?
|
|
=======================
|
|
1. enable 'multicast' in kernel configuration
|
|
|
|
2. type 'route add -net 224.0.0.0 netmask 255.255.255.0 dev eth0'
|
|
(or something similar, read the man page of route to figure out
|
|
what addresses are reserved for multicast)
|
|
|
|
What is multicast?
|
|
==================
|
|
|
|
Multicasts enables you to (ab)use the network topology to transmit
|
|
packets to multiple hosts.
|
|
|
|
|
|
Limitations
|
|
===========
|
|
|
|
1. Veejay can only stream to another veejay
|
|
2. All veejays must have identical video properties (fps,width,height, ... )
|
|
3. Veejay will drop frames when it cannot keep up (or when packets are dropped)
|
|
4. Audio is not supported
|
|
|
|
What header format?
|
|
===================
|
|
|
|
see libvjnet/packet.h for multicast packet definition
|
|
|
|
for peer-to-peer streaming, the first 11 bytes of the buffer indicate
|
|
width, height and format in plain ASCII: "%04d %04d %1d"
|
|
|