Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| voctomix [2017/01/20 11:51] – derpeter | voctomix [2020/12/06 22:18] (current) – andi | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| name : Voctomix | name : Voctomix | ||
| project-owner : Mazdermind | project-owner : Mazdermind | ||
| - | git-url : https:// | + | git-url_url |
| project-description : | project-description : | ||
| - | project-owner : @@project-owner@@ | + | project-members |
| - | project-member : @@project-member@@ | + | project-status_ |
| - | project-status | + | |
| ---- | ---- | ||
| - | Voctomix ist ein Softwaremischer der es uns erlaubt auf Konferenzen HD-Recording und -Streaming anbieten zu können. | + | Voctomix ist ein Softwaremischer der es uns erlaubt auf Konferenzen HD-Recording und -Streaming anbieten zu können. |
| - | [[https://github.com/voc/voctomix|auf Github]]. | + | * [[https://media.ccc.de/v/froscon2016-1696-voctomix|Voctomix Lecture at FROSCON12]] by Mazdermind |
| + | * [[http:// | ||
| == Resources | == Resources | ||
| Line 23: | Line 23: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[software: | ||
| </ | </ | ||
| Line 30: | Line 31: | ||
| * [[voctomix: | * [[voctomix: | ||
| * [[voctomix: | * [[voctomix: | ||
| + | |||
| + | ** related projects** | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| </ | </ | ||
| </ | </ | ||
| - | == Installation on VOC-Hardware | + | == Installation on VOC hardware |
| - | The Installation | + | The installation |
| - | * Source of last Release | + | * Source of last release |
| - | * Config-File for Voctocore | + | * Config |
| - | * Scripts to source/ | + | * Scripts to source/ |
| - | * Systemd-Units | + | * Systemd |
| - | * A System-Status-Script | + | * A system status script |
| - | Ansible always | + | Ansible always |
| ^ Systemd-Unit ^ Description ^ | ^ Systemd-Unit ^ Description ^ | ||
| - | | bgloop-source.service | Source the Background-Loop from ''/ | + | | music-source.service | Source Music from ''/ |
| - | | decklink-source-[NAME].service | Such a Unit is generated for each Decklink-Input-Device present at the time of the ansible-run. Source Video- and Audio from this Decklink-Input | | + | | pause-source.service | Source pause loop from ''/ |
| - | | grabber-source.service | Source Video-Input from the Epiphan Framegrabber via Ethernet | | + | | program-to-[NAME]-playout.service | Such a unit is generated for each Decklink |
| - | | grabber-to-[NAME]-playout.service | Such a Unit is generated for each Decklink-Output-Device present at the time of the ansible-run. Playout Video- and Silence from the Framegrabber-Input to the Decklink-Output | | + | | program-to-framebuffer-playout.service | Playout |
| - | | grabber-to-framebuffer-playout.service | Playout Video from the Framegrabber-Input to the HDMI/ | + | | recording-sink.service | Record the program output |
| - | | music-source.service | Source Music from ''/ | + | | streaming-hd-sink.service | Encode and stream |
| - | | pause-source.service | Souece Pause-Loop | + | | streaming-sd-sink.service | Encode and stream |
| - | | program-to-[NAME]-playout.service | Such a Unit is generated for each Decklink-Output-Device | + | | stream-to-[NAME]-playout.service | Such a unit is generated for each Decklink-Output-Device present at the time of the ansible-run. Playout |
| - | | program-to-framebuffer-playout.service | Playout | + | | stream-to-framebuffer-playout.service | Playout |
| - | | recording-sink.service | Record the Program-Output | + | |
| - | | streaming-hd-sink.service | Encode and Stream | + | |
| - | | streaming-sd-sink.service | Encode and Stream | + | |
| - | | stream-to-[NAME]-playout.service | Such a Unit is generated for each Decklink-Output-Device present at the time of the ansible-run. Playout | + | |
| - | | stream-to-framebuffer-playout.service | Playout | + | |
| | voctocore.service | The Voctocore | | | voctocore.service | The Voctocore | | ||
| - | All Supporting Units are '' | + | All supporting units are '' |
| This means: | This means: | ||
| - | * The Supporting Units only start up when the Core has successfully started up first | + | * The supporting units only start up when the core has successfully started up first |
| - | * When enabled, the Supporting Units automatically start up when the Core is up | + | * When enabled, the supporting units automatically start up when the core is up |
| - | * The Supporting Units go down when the Core goes down | + | * The supporting units go down when the core goes down |
| Line 71: | Line 72: | ||
| < | < | ||
| sudo systemctl restart voctocore.service | sudo systemctl restart voctocore.service | ||
| + | </ | ||
| + | |||
| + | Stop recording at night and schedule re-start in the morning: | ||
| + | < | ||
| + | for i in 1 2 3 4 5 6 41 42; do echo " | ||
| + | for i in 1 2 3 4 5 6 41 42; do echo " | ||
| </ | </ | ||
| Line 95: | Line 102: | ||
| </ | </ | ||
| - | If you leave out the enable/ | + | If you leave out the enable/ |
| - | Similar to enable | + | Similar to enable |
| < | < | ||
| sudo systemctl start stream-to-framebuffer-playout.service | sudo systemctl start stream-to-framebuffer-playout.service | ||
| Line 104: | Line 111: | ||
| Leaving out the enable/ | Leaving out the enable/ | ||
| - | Playout to the Framebuffer | + | Playout to the framebuffer |
| - | Also think about whether you want to playout the Program-Output | + | Also think about whether you want to playout the program output |
| - | + | ||
| - | Creating a background for the supersource from an image file | + | |
| - | + | ||
| - | ffmpeg -loop 1 -i background.png -f s16le -i /dev/zero -ar 48000 -ac 1 -r 25 -t 00:01:00 -s 1920x1080 -c:v mpeg2video -q:v 0 -aspect 16:9 -f mpegts bgloop.ts | + | |
| - | + | ||
| - | Creating a background for the supersource from a MP4 file in correct resolution | + | |
| - | + | ||
| - | ffmpeg -i bgloop.mp4 -filter:v fps=25 -c:v mpeg2video -q:v 0 -aspect 16:9 -f mpegts bgloop.ts | + | |
| == Debugging | == Debugging | ||
| - | To see the Output | + | To see the output |
| < | < | ||
| journalctl -au decklink-source-decklink-sdi-2.service | journalctl -au decklink-source-decklink-sdi-2.service | ||
| Line 125: | Line 123: | ||
| Alternative version: | Alternative version: | ||
| journalctl -a -f -u grabber-source.service | journalctl -a -f -u grabber-source.service | ||
| + | |||
| + | |||
| == Control Commands | == Control Commands | ||
| - | Some Useful Control-Commands | + | Some useful control commands |
| For more details see https:// | For more details see https:// | ||
| < | < | ||
| Line 172: | Line 172: | ||
| <= composite_mode side_by_side_equal | <= composite_mode side_by_side_equal | ||
| </ | </ | ||
| - | |||
| - | |||