Bug 411261 - Rendering dialog does not recognize "f=mkv" render output format on initial load
Summary: Rendering dialog does not recognize "f=mkv" render output format on initial load
Status: RESOLVED NOT A BUG
Alias: None
Product: kdenlive
Classification: Applications
Component: User Interface & Miscellaneous (show other bugs)
Version: 19.08.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-25 05:36 UTC by Jonathan Gilbert
Modified: 2019-12-04 17:09 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Screenshot of the "Rendering" dialog with "f=mkv" format after restarting kdenlive. (32.07 KB, image/png)
2019-08-25 05:36 UTC, Jonathan Gilbert
Details
Screenshot of the "Rendering" dialog with "f=mkv" format after editing and saving the format with no changes. (39.27 KB, image/png)
2019-08-25 05:36 UTC, Jonathan Gilbert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Gilbert 2019-08-25 05:36:05 UTC
Created attachment 122331 [details]
Screenshot of the "Rendering" dialog with "f=mkv" format after restarting kdenlive.

SUMMARY
If a custom render format is created with "f=mkv", then it can be used to render output. However, when kdenlive is restarted, the "Rendering" dialog no longer recognizes the custom format as valid. Editing the format and saving it with no changes restores it to usability. This happens only with "f=mkv" and not with "f=matroska". Both "mkv" and "matroska" are listed as supported formats by "melt -query formats".

STEPS TO REPRODUCE
1. Open the Rendering dialog (Ctrl-Enter).
2. Create a custom render format that specifies "f=mkv", such as:

properties=x264-medium f=mkv vcodec=libx264 acodec=flac g=120 crf=9 global_quality=500 me_method=umh

3. Save this format.
4. Exit kdenlive.
5. Restart kdenlive.
6. Re-open the "Rendering" dialog.

OBSERVED RESULT
The custom format with "f=mkv" is displayed with a glyph of an 'x' in a red circle, and the window contains a panel near the bottom (orange with the Breeze Dark colour scheme) with the text "Unspported video format: mkv". If the custom format is selected, the pencil icon is clicked to edit it, and the "Edit Profile" dialog is closed by clicking "OK" with no changes, then the custom format changes to a recognized format. If there are multiple custom formats with "f=mkv", then they all become recognized simultaneously.

EXPECTED RESULT
The custom format with "f=mkv" should be listed as a valid custom format immediately upon first opening the "Rendering" dialog.

SOFTWARE/OS VERSIONS
Windows: Windows 10 1903
KDE Frameworks Version: 5.61.0
Qt Version: 5.13.0

ADDITIONAL INFORMATION
In bug 384148, it is mentioned that "mkv" isn't a valid format for ffmpeg, and to use "matroska" instead. However, it is my understanding that the render properties for a custom format are passed to MELT not ffmpeg, and MELT lists both "mkv" and "matroska" as valid formats. Either way, there is a consistency problem, because editing and re-saving the custom format clears the error. Either the error shouldn't have been there in the first place, or re-saving the profile shouldn't fix it. I feel like it should be the latter, since I render using "f=mkv" regularly.
Comment 1 Jonathan Gilbert 2019-08-25 05:36:51 UTC
Created attachment 122332 [details]
Screenshot of the "Rendering" dialog with "f=mkv" format after editing and saving the format with no changes.
Comment 2 Jonathan Gilbert 2019-12-04 17:09:14 UTC
Turns out that "f=mkv" really is missing from the list that MLT passes back when queried. The fact that the error goes away when editing the profile is the real bug, described in #414814, and it is a secret "feature" of FFmpeg that if you ignore it and say "f=mkv" _anyway_, then it proceeds as though you had used the actual, supported format name, which is "f=matroska".

So, the bug as reported here is not actually a bug, and the real bug is accurately described in #414814.