Hello everyone,
the tutorial works really well and nebula was installed quite quickly. However, I am currently failing with the casparcg instructions. I have done everything as described in the tutorial, but it does not work. This means that when I double-click a video in Firefly under Rundown, the error occurs:
Error 500 from http://192.168.178.56/api/playout Unable to cue Offline playout file.
Nebula Log:
09d8d1bd7066_nebula-tutorial_backend_1 | DEBUG urllib3.connecti Starting new HTTP connection (1): worker:42101
3cd7b23594c2_nebula-tutorial_worker_1 | ERROR play1
3cd7b23594c2_nebula-tutorial_worker_1 |
3cd7b23594c2_nebula-tutorial_worker_1 | Traceback (most recent call last):
3cd7b23594c2_nebula-tutorial_worker_1 | File "/opt/nebula/services/play/request_handler.py", line 57, in do_POST
3cd7b23594c2_nebula-tutorial_worker_1 | result = self.server.methods[method](**postvars)
3cd7b23594c2_nebula-tutorial_worker_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3cd7b23594c2_nebula-tutorial_worker_1 | File "/opt/nebula/services/play/play.py", line 168, in cue
3cd7b23594c2_nebula-tutorial_worker_1 | raise AssertionError(f"Unable to cue {state} playout file")
3cd7b23594c2_nebula-tutorial_worker_1 | AssertionError: Unable to cue OFFLINE playout file
3cd7b23594c2_nebula-tutorial_worker_1 |
09d8d1bd7066_nebula-tutorial_backend_1 | DEBUG urllib3.connecti http://worker:42101 "POST /cue HTTP/1.1" 500 None
09d8d1bd7066_nebula-tutorial_backend_1 | ERROR nebula EXCEPTION: 500 Unable to cue OFFLINE playout file
services.py
from nebula.settings.models import ServiceSettings
watch = """
<service>
<folder id_storage="1" id_folder="1" path="media.dir/movies"></folder>
<folder id_storage="1" id_folder="3" path="media.dir/stories"></folder>
<folder id_storage="1" id_folder="4" path="media.dir/songs"></folder>
<folder id_storage="1" id_folder="5" path="media.dir/fill"></folder>
<folder id_storage="1" id_folder="6" path="media.dir/trailers"></folder>
<folder id_storage="1" id_folder="7" path="media.dir/jingles"></folder>
<folder id_storage="1" id_folder="8" path="media.dir/graphics"></folder>
</service>
"""
PLAY1 = "<settings><id_channel>1</id_channel></settings>"
PLAY2 = "<settings><id_channel>2</id_channel></settings>"
SERVICES = [
ServiceSettings(id=1, type="broker", name="broker", host="worker"),
ServiceSettings(id=2, type="watch", name="watch", host="worker", settings=watch),
ServiceSettings(id=3, type="meta", name="meta", host="worker", loop_delay=2),
ServiceSettings(id=4, type="conv", name="conv", host="worker"),
ServiceSettings(id=11, type="play", name="play1", host="worker", settings=PLAY1),
ServiceSettings(id=12, type="play", name="play2", host="worker", settings=PLAY2),
ServiceSettings(id=14, type="psm", name="psm", host="worker"),
]
channel.py:
from nebula.settings.models import PlayoutChannelSettings, AcceptModel
scheduler_accepts = AcceptModel(folders=[1, 2])
rundown_accepts = AcceptModel(folders=[1, 3, 4, 5, 6, 7, 8, 9, 10])
channel1 = PlayoutChannelSettings(
id=1,
name="Channel 1",
fps=25.0,
plugins=[],
solvers=[],
day_start=(7, 0),
scheduler_accepts=scheduler_accepts,
rundown_accepts=rundown_accepts,
rundown_columns=[],
send_action=2,
engine="casparcg",
allow_remote=False,
controller_host="worker",
controller_port=42101,
playout_storage=3,
playout_dir="media",
playout_container="mxf",
config={
"caspar_host": "192.168.178.59",
"caspar_port": 5250,
"caspar_osc_port": 6251,
"caspar_channel": 1,
"caspar_feed_layer": 10,
},
)
# Configure second channel similarly
channel2 = PlayoutChannelSettings(
id=2,
name="Channel 2",
fps=25.0,
plugins=[],
solvers=[],
day_start=(7, 0),
scheduler_accepts=scheduler_accepts,
rundown_accepts=rundown_accepts,
rundown_columns=[],
send_action=2,
engine="casparcg",
allow_remote=False,
controller_host="worker",
controller_port=42102,
playout_storage=3,
playout_dir="media",
playout_container="mxf",
config={
"caspar_host": "192.168.178.59",
"caspar_port": 5250,
"caspar_osc_port": 6252,
"caspar_channel": 2,
"caspar_feed_layer": 10,
},
)
CHANNELS = [channel1, channel2]
in the actions folder I have created a new xml called playout.xml with the following content
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<allow_if>True</allow_if>
<task mode="ffmpeg">
<param name="filter:a">"loudnorm=I=-23"</param>
<param name="ar">48000</param>
<param name="c:v">"copy"</param>
<param name="c:a">"pcm_s16le"</param>
<output storage="asset.get_playout_storage(1)" direct="1"><![CDATA[asset.get_playout_path(1)]]></output>
</task>
</settings>
I have now installed casparcg on my Windows computer (same network) and the configuration looks like this:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<paths>
<media-path>media/</media-path>
<log-path disable="false">log/</log-path>
<data-path>data/</data-path>
<template-path>template/</template-path>
</paths>
<lock-clear-phrase>secret</lock-clear-phrase>
<channels>
<channel>
<video-mode>720p5000</video-mode>
<consumers>
<screen />
<system-audio />
</consumers>
</channel>
</channels>
<controllers>
<tcp>
<port>5250</port>
<protocol>AMCP</protocol>
</tcp>
</controllers>
<amcp>
<media-server>
<host>localhost</host>
<port>8000</port>
</media-server>
</amcp>
</configuration>
<osc>
<predefined-clients>
<predefined-client>
<address>192.168.178.56</address>
<port>6251</port>
</predefined-client>
<predefined-client>
<address>192.168.178.56</address>
<port>6252</port>
</predefined-client>
</predefined-clients>
</osc>
The output of Casparcg is as follows:
Type "q" to close application.
Logging [info] or higher severity to log/
[2024-05-09 20:35:17.394] [info] ############################################################################
[2024-05-09 20:35:17.394] [info] CasparCG Server is distributed by the Swedish Broadcasting Corporation (SVT)
[2024-05-09 20:35:17.394] [info] under the GNU General Public License GPLv3 or higher.
[2024-05-09 20:35:17.394] [info] Please see LICENSE.TXT for details.
[2024-05-09 20:35:17.394] [info] http://www.casparcg.com/
[2024-05-09 20:35:17.394] [info] ############################################################################
[2024-05-09 20:35:17.394] [info] Starting CasparCG Video and Graphics Playout Server 2.4.0 1e25c7a Stable
[2024-05-09 20:35:17.396] [info] "D:/casparcg-server-v2.4.0-stable-windows\casparcg.config":
[2024-05-09 20:35:17.396] [info] -----------------------------------------
[2024-05-09 20:35:17.396] [info] <?xml version="1.0" encoding="utf-8"?>
[2024-05-09 20:35:17.396] [info] <configuration>
[2024-05-09 20:35:17.396] [info] <paths>
[2024-05-09 20:35:17.396] [info] <media-path>media/</media-path>
[2024-05-09 20:35:17.396] [info] <log-path disable="false">log/</log-path>
[2024-05-09 20:35:17.396] [info] <data-path>data/</data-path>
[2024-05-09 20:35:17.396] [info] <template-path>template/</template-path>
[2024-05-09 20:35:17.396] [info] </paths>
[2024-05-09 20:35:17.396] [info] <lock-clear-phrase>secret</lock-clear-phrase>
[2024-05-09 20:35:17.396] [info] <channels>
[2024-05-09 20:35:17.396] [info] <channel>
[2024-05-09 20:35:17.396] [info] <video-mode>720p5000</video-mode>
[2024-05-09 20:35:17.396] [info] <consumers>
[2024-05-09 20:35:17.396] [info] <screen/>
[2024-05-09 20:35:17.396] [info] <system-audio/>
[2024-05-09 20:35:17.396] [info] </consumers>
[2024-05-09 20:35:17.396] [info] </channel>
[2024-05-09 20:35:17.396] [info] </channels>
[2024-05-09 20:35:17.396] [info] <controllers>
[2024-05-09 20:35:17.396] [info] <tcp>
[2024-05-09 20:35:17.396] [info] <port>5250</port>
[2024-05-09 20:35:17.396] [info] <protocol>AMCP</protocol>
[2024-05-09 20:35:17.396] [info] </tcp>
[2024-05-09 20:35:17.396] [info] </controllers>
[2024-05-09 20:35:17.396] [info] <amcp>
[2024-05-09 20:35:17.396] [info] <media-server>
[2024-05-09 20:35:17.396] [info] <host>localhost</host>
[2024-05-09 20:35:17.396] [info] <port>8000</port>
[2024-05-09 20:35:17.396] [info] </media-server>
[2024-05-09 20:35:17.396] [info] </amcp>
[2024-05-09 20:35:17.396] [info] </configuration>
[2024-05-09 20:35:17.396] [info] <osc>
[2024-05-09 20:35:17.396] [info] <predefined-clients>
[2024-05-09 20:35:17.396] [info] <predefined-client>
[2024-05-09 20:35:17.396] [info] <address>192.168.178.56</address>
[2024-05-09 20:35:17.396] [info] <port>6251</port>
[2024-05-09 20:35:17.396] [info] </predefined-client>
[2024-05-09 20:35:17.396] [info] <predefined-client>
[2024-05-09 20:35:17.396] [info] <address>192.168.178.56</address>
[2024-05-09 20:35:17.396] [info] <port>6252</port>
[2024-05-09 20:35:17.396] [info] </predefined-client>
[2024-05-09 20:35:17.396] [info] </predefined-clients>
[2024-05-09 20:35:17.396] [info] </osc>
[2024-05-09 20:35:17.396] [info] -----------------------------------------
[2024-05-09 20:35:17.396] [info] Initialized video modes.
[2024-05-09 20:35:17.938] [info] Initializing OpenGL Device.
[2024-05-09 20:35:17.943] [info] Initialized OpenGL 4.5.0 NVIDIA 552.22 NVIDIA Corporation
[2024-05-09 20:35:17.991] [info] Initialized OpenGL Accelerated GPU Image Mixer for channel 1
[2024-05-09 20:35:17.991] [info] video_channel[1|720p5000] Successfully Initialized.
[2024-05-09 20:35:17.991] [info] Initialized channels.
[2024-05-09 20:35:17.991] [info] Initialized command repository.
[2024-05-09 20:35:17.991] [info] Initialized image module.
[2024-05-09 20:35:17.991] [info] Initialized ffmpeg module.
[2024-05-09 20:35:17.991] [info] Initialized oal module.
[2024-05-09 20:35:17.991] [info] Initialized decklink module.
[2024-05-09 20:35:17.991] [info] Initialized screen module.
[2024-05-09 20:35:17.991] [info] Initialized newtek module.
[2024-05-09 20:35:17.991] [info] Initialized artnet module.
[0509/203518.028:WARNING:policy_logger.cc(148)] :components\enterprise\browser\controller\chrome_browser_cloud_management_controller.cc(88) Could not create policy manager as CBCM is not enabled.
[2024-05-09 2[0509/203518.071:INFO:component_installer.cc(297)] Failed to verify installation for Widevine Content Decryption Module (C:\Users\rosch\AppData\Local\CEF\User Data\WidevineCdm\4.10.2557.0).: Das System kann den angegebenen Pfad nicht finden. (0x3)
0:35:18.071] [info] Initialized html module.
[2024-05-09 20:35:18.071] [info] Flash support is disabled
[2024-05-09 20:35:18.071] [info] Initialized flash module.
[2024-05-09 20:35:18.084] [info] Initialized bluefish module.
[2024-05-09 20:35:18.084] [info] Initialized modules.
[2024-05-09 20:35:18.084] [info] Screen consumer [1|720p5000] Initialized.
[2024-05-09 20:35:18.107] [info] oal[1|720p5000] Initialized.
[2024-05-09 20:35:18.107] [info] Initialized startup producers.
[2024-05-09 20:35:18.107] [info] Initialized controllers.
[2024-05-09 20:35:18.107] [info] Initialized osc.
[2024-05-09 20:50:51.908] [info] async_event_server[:5250] Accepted connection from 192.168.178.56 (1 connections).
[2024-05-09 20:50:52.205] [info] async_event_server[:5250] Accepted connection from 192.168.178.56 (2 connections).
[2024-05-09 20:55:22.295] [info] async_event_server[:5250] Client 192.168.178.56 disconnected (1 connections).
[2024-05-09 20:55:22.304] [info] async_event_server[:5250] Client 192.168.178.56 disconnected (0 connections).
[2024-05-09 20:55:33.448] [info] async_event_server[:5250] Accepted connection from 192.168.178.56 (1 connections).
[2024-05-09 20:55:33.513] [info] async_event_server[:5250] Accepted connection from 192.168.178.56 (2 connections).
Hello everyone,
the tutorial works really well and nebula was installed quite quickly. However, I am currently failing with the casparcg instructions. I have done everything as described in the tutorial, but it does not work. This means that when I double-click a video in Firefly under Rundown, the error occurs:
Error 500 from http://192.168.178.56/api/playout Unable to cue Offline playout file.
Nebula Log:
services.py
channel.py:
in the actions folder I have created a new xml called playout.xml with the following content
I have now installed casparcg on my Windows computer (same network) and the configuration looks like this:
The output of Casparcg is as follows: