FFMPEG Output allows invalid format/codec combinations
Open, NormalPublic

Description

System Information
Operating system and graphics card: any

Blender Version
Broken: all

Short description of error
Any video file format combination with video and audio codecs can be selected, but not all work.

Exact steps for others to reproduce the error
The encoding UI panel when selecting a Movie File Format allows different Formats (Flash, Matroska, Ogg, ...), Codecs (PNG, Theora, H.264, DV, ...) and Audio Codecs (PCM, FLAC, Vorbis, MP3, ...) to be selected in pretty much any combination. The (video) Codec is only hidden for Formats that only support one single Codec.

The same is true for the Python API, any combination of values for ffmpeg.format, ffmpeg.codec and ffmpeg.audio_codec can be set (ffmpeg = context.scene.render.ffmpeg).

One failing combination for example is setting H264 as Format and FLAC as Audio Codec. Another example is Quicktime as Format and Theora as Codec.

The problem is that FFMPEG has no API that tells us whether a specific combination works and encoding doesn't fail either. It outputs a file that simply cannot be played back (trying with VLC for example). So the big question is how to deal with this problem? Leave it up to the users to figure out possible combinations? Hardcode possible combinations in the UI or lower at RNA level so that Python API users are also "protected"?

Details

Type
Design
Joerg Mueller (nexyon) updated the task description. (Show Details)
Joerg Mueller (nexyon) raised the priority of this task from to Needs Triage.
Joerg Mueller (nexyon) set Type to Bug.
Sergey Sharybin (sergey) closed this task as Archived.Apr 22 2015, 5:58 PM
Sergey Sharybin (sergey) claimed this task.

I consider this is up to users to make sure settings are correct. Additionally, if the setting combination is not supported by FFmpeg, it is to be reported to FFmpeg so it throws a proper error.

Disabling anything in the UI in this case is not going to work apart from being a major PITA to maintain. Sure we can try disabling combinations which are not supported by FFmpeg (which we already kind of doing by reporting error message from FFmpeg, laving decision about what's supported and what's not up to FFmpeg itself). but at the same time not all the players supports all combinations which FFmpeg does which means artists are still to be aware of what are they doing.

So thanks for the report, but currently it's just FFmpeg which needs to provide proper error message if something is not supported.

This report comes from T38719 and I forgot that I also wanted to add @Campbell Barton (campbellbarton) as subscriber.

I am going to argue the opposite and say that the extra code is worth it. Anyway, I really think that we should get some more user feedback here.

Aaron Carlisle (Blendify) changed Type from Bug to Design.
Aaron Carlisle (Blendify) triaged this task as Normal priority.

Please also see discussion in T47358