|
|
@@ -0,0 +1,171 @@
|
|
|
+require version 0.5.1
|
|
|
+
|
|
|
+################################################################################
|
|
|
+# Basic Feeds Settings
|
|
|
+# Copyright by Peter Maersk-Moller 2012 - All rights reserved
|
|
|
+
|
|
|
+# Listen on port 9999 for command control connections
|
|
|
+system control port 9999
|
|
|
+
|
|
|
+system geometry 800 600 BGRA
|
|
|
+
|
|
|
+# Set system frame rate to 24
|
|
|
+system frame rate 24
|
|
|
+
|
|
|
+# Set output control socket
|
|
|
+system socket /tmp/mixer1
|
|
|
+
|
|
|
+# Set feed idle time - feed 0 will always be idle. If no file is given,
|
|
|
+# idle image will be all black.
|
|
|
+#feed idle 0 1 dead-1024x576.bgra
|
|
|
+feed idle 0 1
|
|
|
+
|
|
|
+# Define feed #1, set geometry to 704x576, define as live, set idle time
|
|
|
+# to 100 frames and set idle image, scale to 1/2 and specify control socket.
|
|
|
+# Furthermore the feed is defined as live meaning Snowmix will drop frames if
|
|
|
+# it is late.
|
|
|
+feed add 1 Feed #1
|
|
|
+feed geometry 1 800 600
|
|
|
+feed live 1
|
|
|
+feed idle 1 100 frames/dead-800x600.bgra
|
|
|
+#feed scale 1 1 1
|
|
|
+feed socket 1 /tmp/feed1-control-pipe
|
|
|
+
|
|
|
+# Define feed #2, set geometry to 704x576, define as live, set idle time
|
|
|
+# to 100 frames and set idle image, scale to 320/768 and specify control socket
|
|
|
+# Furthermore the feed is defined as live meaning Snowmix will drop frames if
|
|
|
+# it is late.
|
|
|
+feed add 2 Feed #2
|
|
|
+feed geometry 2 800 600
|
|
|
+#576
|
|
|
+feed live 2
|
|
|
+#feed idle 2 100 frames/dead-704x576.bgra
|
|
|
+feed scale 2 1 1
|
|
|
+feed socket 2 /tmp/feed2-control-pipe
|
|
|
+
|
|
|
+# Load a transparent image and place it at 4,4
|
|
|
+#image load 0 images/tv2-news-logo.png
|
|
|
+image load 0 /home/nginx/logoeba.png
|
|
|
+#place id, image id, x y
|
|
|
+image place 0 0 40 700
|
|
|
+image alpha 0 0.4
|
|
|
+
|
|
|
+################################################################################
|
|
|
+audio feed verbose 0
|
|
|
+audio mixer verbose 0
|
|
|
+audio sink verbose 0
|
|
|
+
|
|
|
+audio feed add 1 Audio feed #1
|
|
|
+audio feed channels 1 2
|
|
|
+audio feed rate 1 44100
|
|
|
+audio feed format 1 16 signed
|
|
|
+audio feed mute off 1
|
|
|
+#audio feed volume 1 1
|
|
|
+#audio feed delay 1 150
|
|
|
+
|
|
|
+audio feed add 2 Audio feed #2
|
|
|
+audio feed channels 2 2
|
|
|
+audio feed rate 2 44100
|
|
|
+audio feed format 2 16 signed
|
|
|
+audio feed mute off 2
|
|
|
+#audio feed volume 2 1
|
|
|
+audio feed delay 2 50
|
|
|
+
|
|
|
+audio mixer add 1 Main Live Mixer
|
|
|
+audio mixer channels 1 2
|
|
|
+audio mixer rate 1 44100
|
|
|
+audio mixer mute off 1
|
|
|
+#audio mixer volume 1 1
|
|
|
+audio mixer source feed 1 1
|
|
|
+audio mixer source feed 1 2
|
|
|
+#audio mixer source volume 1 1 1.0
|
|
|
+#audio mixer source volume 1 2 1.0
|
|
|
+audio mixer source mute off 1 1
|
|
|
+audio mixer source mute off 1 2
|
|
|
+
|
|
|
+
|
|
|
+audio mixer source mindelay 1 1 170
|
|
|
+audio mixer source maxdelay 1 1 250
|
|
|
+
|
|
|
+# Dummy sink
|
|
|
+audio sink add 0 Dummy Audio
|
|
|
+audio sink channels 0 2
|
|
|
+audio sink rate 0 44100
|
|
|
+audio sink format 0 16 signed
|
|
|
+audio sink mute on 0
|
|
|
+audio sink source mixer 0 1
|
|
|
+
|
|
|
+# Sink for 'ctr isaudio'
|
|
|
+audio sink add 1 Main Live Sink
|
|
|
+audio sink channels 1 2
|
|
|
+audio sink rate 1 44100
|
|
|
+audio sink format 1 16 signed
|
|
|
+audio sink mute off 1
|
|
|
+audio sink source mixer 1 1
|
|
|
+
|
|
|
+audio sink verbose 1
|
|
|
+audio sink start 0
|
|
|
+audio mixer start 1
|
|
|
+audio feed verbose 1
|
|
|
+audio mixer verbose 1
|
|
|
+
|
|
|
+#FIXME channels
|
|
|
+################################################################################
|
|
|
+stack 0
|
|
|
+
|
|
|
+command create create_virtual_feeds
|
|
|
+ vfeed add 1 Feed #1
|
|
|
+ vfeed source feed 1 1
|
|
|
+ vfeed add 2 Feed #2
|
|
|
+ vfeed source feed 2 2
|
|
|
+command end
|
|
|
+
|
|
|
+# vfeed place rect [<vir id> [<x> <y> <clip w> <clip h> <clip x> <clip y> [<rotation> <scale_x> <scale_y> <alpha>]]]
|
|
|
+# vfeed place rect id x y c_w c_h c_x cy rot s_x s_y alp
|
|
|
+
|
|
|
+#800x600 * 0.4 => 320x240
|
|
|
+#800x600 - 320x240 = 480x360
|
|
|
+command create place_virtual_feed_pip
|
|
|
+ vfeed place rect 1 000 000 800 600 000 00 0.0 1.0 1.0 1.0
|
|
|
+ vfeed place rect 2 480 360 320 240 000 00 0.0 0.4 0.4 1.0
|
|
|
+ loop
|
|
|
+command end
|
|
|
+
|
|
|
+#800x600 * 0.6 => 320x240
|
|
|
+#1024x768 - 320x240 = 704x528
|
|
|
+command create place_virtual_feed_video
|
|
|
+ vfeed place rect 1 000 000 640 480 000 00 0.0 0.800 0.800 1.0
|
|
|
+ vfeed place rect 2 400 300 400 300 000 00 0.0 0.600 0.500 1.0
|
|
|
+ loop
|
|
|
+command end
|
|
|
+
|
|
|
+
|
|
|
+command create place_virtual_feed_main
|
|
|
+ vfeed place rect 1 000 000 800 600 000 00 0.0 1.0 1.0 1.0
|
|
|
+ vfeed place rect 2 000 000 800 600 000 00 0.0 1.0 1.0 0.0
|
|
|
+ loop
|
|
|
+command end
|
|
|
+
|
|
|
+command create place_virtual_feed_secondary
|
|
|
+ vfeed place rect 1 000 000 800 600 000 00 0.0 1.0 1.0 0.0
|
|
|
+ vfeed place rect 2 000 000 800 600 000 00 0.0 1.0 1.0 1.0
|
|
|
+ loop
|
|
|
+command end
|
|
|
+
|
|
|
+create_virtual_feeds
|
|
|
+place_virtual_feed_pip
|
|
|
+
|
|
|
+# The 'loop' command is essential and tells Snowmix to loop the command,
|
|
|
+# to point at the start of the command before next frame..
|
|
|
+command create Show
|
|
|
+ vfeed overlay 1
|
|
|
+ vfeed overlay 2
|
|
|
+ image overlay 0
|
|
|
+ loop
|
|
|
+command end
|
|
|
+
|
|
|
+# >>>>>>>>>>>>>>>>>> I M P O R T A N T <<<<<<<<<<<<<<<<<<<<<<<
|
|
|
+# This command tells Snowmix to run the command 'Show' for each frame after
|
|
|
+# feeds have been stacked as defined by the 'stack command'
|
|
|
+overlay finish Show
|
|
|
+# >>>>>>>>>>>>>>>>>> I M P O R T A N T <<<<<<<<<<<<<<<<<<<<<<<
|