Since I haven’t found any mention of this anywhere, I’m assuming that there is something missing on my side, but I can’t readily see what. If I use a known working stream syntax in the config file for server 2.2.0, for instance:
<channels>
<channel>
<video-mode>1080p5000</video-mode>
<consumers>
<stream>
<path>udp://224.0.0.101:1234?pkt_size=1316</path>
<args>-filter:v format=pix_fmts=yuv420p -codec:v h264_nvenc -format mpegts</args>
</stream>
</consumers>
</channel>
</channels>
Server responds with:
[2019-08-06 22:13:19.120] [info] video_channel[1|1080p5000] Successfully Initialized.
[2019-08-06 22:13:19.120] [error] Exception: C:\Program Files (x86)\Jenkins\workspace\casparcg-server-dep\2.2.x\src\core\consumer\frame_consumer.cpp(194): Throw in function class caspar::spl::shared_ptr<class caspar::core::frame_consumer> __cdecl caspar::core::frame_consumer_registry::create_consumer(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,const class boost::property_tree::basic_ptree<class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >,struct std::less<class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > > > &,class std::vector<class caspar::spl::shared_ptr<class caspar::core::video_channel>,class std::allocator<class caspar::spl::shared_ptr<class caspar::core::video_channel> > >) const
[2019-08-06 22:13:19.120] [error] Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::user_error>
[2019-08-06 22:13:19.120] [error] [struct caspar::tag_msg_info * __ptr64] = No consumer factory registered for element name stream
[2019-08-06 22:13:19.120] [error] [struct caspar::tag_stacktrace_info * __ptr64] = 0# 0x00007FF792BA98AE in casparcg
[2019-08-06 22:13:19.120] [error] 1# 0x00007FF792BD8C50 in casparcg
[2019-08-06 22:13:19.120] [error] 2# 0x00007FF792C81789 in casparcg
[2019-08-06 22:13:19.120] [error] 3# 0x00007FF792BD67A4 in casparcg
[2019-08-06 22:13:19.120] [error] 4# 0x00007FF792BD8D12 in casparcg
[2019-08-06 22:13:19.120] [error] 5# 0x00007FF792BACDB3 in casparcg
[2019-08-06 22:13:19.120] [error] 6# 0x00007FF792BB077C in casparcg
[2019-08-06 22:13:19.120] [error] 7# 0x00007FF792F9C638 in casparcg
[2019-08-06 22:13:19.120] [error] 8# BaseThreadInitThunk in KERNEL32
[2019-08-06 22:13:19.120] [error] 9# RtlUserThreadStart in ntdll
[2019-08-06 22:13:19.120] [error]
[2019-08-06 22:13:19.120] [error]
[2019-08-06 22:13:19.120] [error] 0# 0x00007FF792BA98AE in casparcg
[2019-08-06 22:13:19.120] [error] 1# 0x00007FF792BA91DF in casparcg
[2019-08-06 22:13:19.120] [error] 2# 0x00007FF79304CDC7 in casparcg
[2019-08-06 22:13:19.120] [error] 3# 0x00007FF8D1F61030 in VCRUNTIME140
[2019-08-06 22:13:19.120] [error] 4# is_exception_typeof in VCRUNTIME140
[2019-08-06 22:13:19.120] [error] 5# RtlCaptureContext in ntdll
[2019-08-06 22:13:19.120] [error] 6# 0x00007FF792BD67A4 in casparcg
[2019-08-06 22:13:19.120] [error] 7# 0x00007FF792BD8D12 in casparcg
[2019-08-06 22:13:19.120] [error] 8# 0x00007FF792BACDB3 in casparcg
[2019-08-06 22:13:19.120] [error] 9# 0x00007FF792BB077C in casparcg
[2019-08-06 22:13:19.120] [error] 10# 0x00007FF792F9C638 in casparcg
[2019-08-06 22:13:19.120] [error] 11# BaseThreadInitThunk in KERNEL32
[2019-08-06 22:13:19.120] [error] 12# RtlUserThreadStart in ntdll
[2019-08-06 22:13:19.120] [error]
But if I run the same command manually at the console…
ADD 1 STREAM udp://224.0.0.101:1234?pkt_size=1316 -filter:v format=pix_fmts=yuv420p -codec:v h264_nvenc -format mpegts
…everything is just fine.
Same happens on 2.1.0 (not as much clutter in the log though) but not 2.0.7. Syntax change? Pebcac error?
Best regards
Alexander
EDIT: Tested on Win 10 Pro 1903 and 1809