void describe_consumer(core::help_sink& sink, const core::help_repository& repo)
{
- sink.short_description(L"Can record a channel to a file supported by FFMpeg.");
+ sink.short_description(L"Can record a channel to a file supported by FFmpeg.");
sink.syntax(L"FILE [filename:string] {-[ffmpeg_param1:string] [value1:string] {-[ffmpeg_param2:string] [value2:string] {...}}} {[separate_key:SEPARATE_KEY]}");
- sink.para()->text(L"Can record a channel to a file supported by FFMpeg.");
+ sink.para()->text(L"Can record a channel to a file supported by FFmpeg.");
sink.definitions()
->item(L"filename", L"The filename under the media folder including the extension (decides which kind of container format that will be used).")
- ->item(L"ffmpeg_paramX", L"A parameter supported by FFMpeg. For example vcodec or acodec etc.")
+ ->item(L"ffmpeg_paramX", L"A parameter supported by FFmpeg. For example vcodec or acodec etc.")
->item(L"separate_key", L"If defined will create two files simultaneously -- One for fill and one for key (_A will be appended).")
;
sink.para()->text(L"Examples:");
void describe_streaming_consumer(core::help_sink& sink, const core::help_repository& repo)
{
- sink.short_description(L"For streaming the contents of a channel using FFMpeg.");
+ sink.short_description(L"For streaming the contents of a channel using FFmpeg.");
sink.syntax(L"STREAM [url:string] {-[ffmpeg_param1:string] [value1:string] {-[ffmpeg_param2:string] [value2:string] {...}}}");
- sink.para()->text(L"For streaming the contents of a channel using FFMpeg");
+ sink.para()->text(L"For streaming the contents of a channel using FFmpeg");
sink.definitions()
->item(L"url", L"The stream URL to create/stream to.")
- ->item(L"ffmpeg_paramX", L"A parameter supported by FFMpeg. For example vcodec or acodec etc.");
+ ->item(L"ffmpeg_paramX", L"A parameter supported by FFmpeg. For example vcodec or acodec etc.");
sink.para()->text(L"Examples:");
sink.example(L">> ADD 1 STREAM udp://<client_ip_address>:9250 -format mpegts -vcodec libx264 -crf 25 -tune zerolatency -preset ultrafast");
}
auto info_repo = dependencies.media_info_repo;
- dependencies.consumer_registry->register_consumer_factory(L"FFMpeg Consumer", create_consumer, describe_consumer);
+ dependencies.consumer_registry->register_consumer_factory(L"FFmpeg Consumer", create_consumer, describe_consumer);
dependencies.consumer_registry->register_consumer_factory(L"Streaming Consumer", create_streaming_consumer, describe_streaming_consumer);
dependencies.consumer_registry->register_preconfigured_consumer_factory(L"file", create_preconfigured_consumer);
dependencies.consumer_registry->register_preconfigured_consumer_factory(L"stream", create_preconfigured_streaming_consumer);
av_lockmgr_register(nullptr);
}
-}}
\ No newline at end of file
+}}
return core::audio_channel_layout(num_channels, L"", L""); // Passthru without named channels as is.
}
- // What FFMpeg calls "channel layout" is only the "layout type" of a channel layout in
+ // What FFmpeg calls "channel layout" is only the "layout type" of a channel layout in
// CasparCG where the channel layout supports different orders as well.
// The user needs to provide additional mix-configs in casparcg.config to support more
// than the most common (5.1, mono and stereo) types.
std::int64_t create_channel_layout_bitmask(int num_channels)
{
if (num_channels > 63)
- CASPAR_THROW_EXCEPTION(invalid_argument() << msg_info(L"FFMpeg cannot handle more than 63 audio channels"));
+ CASPAR_THROW_EXCEPTION(invalid_argument() << msg_info(L"FFmpeg cannot handle more than 63 audio channels"));
const auto ALL_63_CHANNELS = 0x7FFFFFFFFFFFFFFFULL;