MovieRenderPipeline.DumpCLIEncoderCodecs

MovieRenderPipeline.DumpCLIEncoderCodecs

#Overview

name: MovieRenderPipeline.DumpCLIEncoderCodecs

This variable is created as a Console Variable (cvar).

It is referenced in 4 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of MovieRenderPipeline.DumpCLIEncoderCodecs is to provide information about available codecs for use with the Movie Pipeline Command Line Encoder settings. This console command is designed to help developers and users understand which video and audio codecs are available for encoding movie renders in Unreal Engine 5.

This setting variable is primarily used within the MovieRenderPipeline plugin, specifically in the MovieRenderPipelineCore module. It’s part of the movie rendering system in Unreal Engine 5, which is responsible for creating high-quality video output from in-engine content.

The value of this variable is not set directly, as it’s a console command rather than a configuration variable. It’s invoked by running ‘MovieRenderPipeline.DumpCLIEncoderCodecs’ in the Unreal Engine console.

While this command doesn’t directly interact with other variables, it’s closely related to the VideoCodec and AudioCodec properties in the UMoviePipelineCommandLineEncoderSettings class. These properties are used to specify which codecs should be used for video and audio encoding.

Developers should be aware that this command is intended for informational purposes. It’s crucial to run this command before setting up movie rendering pipelines to understand the available codec options. This helps in making informed decisions about which codecs to use for specific rendering tasks.

Best practices when using this variable include:

  1. Run the command before configuring movie rendering settings to get an up-to-date list of available codecs.
  2. Use the information provided by this command to correctly set the VideoCodec and AudioCodec properties in your rendering configurations.
  3. Ensure that the chosen codecs are compatible with the target platform and meet the quality requirements of your project.
  4. Document the available codecs for your team to reference, as they may vary depending on the Unreal Engine version and installed plugins.

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Private/MoviePipelineCommandLineEncoderSettings.cpp:95

Scope: file

Source code excerpt:

}

FAutoConsoleCommand GDumpCLIEncoderCodecs(TEXT("MovieRenderPipeline.DumpCLIEncoderCodecs"), TEXT("Dumps the available codecs for use with the Movie Pipeline Command Line Encoder settings dialog."), FConsoleCommandDelegate::CreateStatic(PrintAvailableCodecs));
#endif

#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Public/Graph/Nodes/MovieGraphCommandLineEncoderNode.h:91

Scope: file

Source code excerpt:

	bool bSkipEncodeOnRenderCanceled;

	/** Which video codec should we use? Run 'MovieRenderPipeline.DumpCLIEncoderCodecs' for options. */ 
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "General", meta=(EditCondition="bOverride_VideoCodec"))
	FString VideoCodec;

	/** Which audio codec should we use? Run 'MovieRenderPipeline.DumpCLIEncoderCodecs' for options. */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "General", meta=(EditCondition="bOverride_AudioCodec"))
	FString AudioCodec;

	/** Extension for the output files. Many encoders use this to determine the container type they are placed in. Should be without dot, ie: "webm". */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "General", meta=(EditCondition="bOverride_OutputFileExtension"))
	FString OutputFileExtension;

#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Public/MoviePipelineCommandLineEncoderSettings.h:13

Scope (from outer to inner):

file
class        class UMoviePipelineCommandLineEncoderSettings : public UDeveloperSettings
function     UMoviePipelineCommandLineEncoderSettings

Source code excerpt:

		: Super()
	{
		CodecHelpText = NSLOCTEXT("MovieRenderPipeline", "CommandLineEncode_HelpText", "Run 'MovieRenderPipeline.DumpCLIEncoderCodecs' in Console to see available codecs.");
		EncodeSettings_Low = TEXT("-crf 28");
		EncodeSettings_Med = TEXT("-crf 23");
		EncodeSettings_High = TEXT("-crf 20");
		EncodeSettings_Epic = TEXT("-crf 16");
		CommandLineFormat = TEXT("-hide_banner -y -loglevel error {AdditionalLocalArgs} {VideoInputs} {AudioInputs} -acodec {AudioCodec} -vcodec {VideoCodec} {Quality} \"{OutputPath}\"");
		VideoInputStringFormat = TEXT("-f concat -safe 0 -i \"{InputFile}\" -r {FrameRate}");

#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineCore/Public/MoviePipelineCommandLineEncoderSettings.h:36

Scope (from outer to inner):

file
function     class MOVIERENDERPIPELINECORE_API UMoviePipelineCommandLineEncoderSettings : public UDeveloperSettings { GENERATED_BODY

Source code excerpt:

	FText CodecHelpText;

	/** Which video codec should we use? Run 'MovieRenderPipeline.DumpCLIEncoderCodecs' for options. */ 
	UPROPERTY(EditAnywhere, BlueprintReadWrite, config, Category = "Command Line Encoder")
	FString VideoCodec;

	/** Which audio codec should we use? Run 'MovieRenderPipeline.DumpCLIEncoderCodecs' for options. */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, config, Category = "Command Line Encoder")
	FString AudioCodec;

	/** Extension for the output files. Many encoders use this to determine the container type they are placed in. Should be without dot, ie: "webm". */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, config, Category = "Command Line Encoder")
	FString OutputFileExtension;