Is there a list of entries that can be specified in the “Other” tab when exporting or are these entries simply derived from the original codecs and you simply specify the options as you would with them?
The entries in the “Other” tab get passed to the underlying MLT framework. There is a list here:
Most of those options, in turn, get passed to FFmpeg. There is more detailed documentation here:
Thank you Brian that is exactly what I was after.
One other question I should have asked with my previous post… DOH.
I have converted a file with Ffmpeg myself by hand and Ffmpeg didn’t honor the channel layout for 5.1 audio.
Do you know if Ffmpeg as used in Shot Cut honors the channel layout?
Shotcut only plays stereo when you are editing. 5.1 audio clips will be converted to stereo when editing.
If you set “channels=6” in the “Other” tab when exporting, then you might get 5.1 in an exported file - but it depends on the output format. I haven’t tested many of these myself. But I would expect AC3 and AAC to pass 5.1 with “channels=6”.
Yes I figured out that after reading about channels = 6 with ac3 audio because my exports were coming out stereo only.
When I had the failure with Ffmpeg was when I was using ffmpeg from command line by itself if I checked the source in VLC it would say 3F2R/LFE but after conversion it would say 3F2M/LFE.
At the moment I am doing all my edits and will find out about the audio stuff later when I export the files themselves to their final formats - but my first test exporting at 5.1 audio turned up the message “Unrecognised audio layout” when viewing the codec under VLC in the Speaker section.
Thus the question
Thanks for the info Brian,
I have been trying to pass an option to libx264 x264opts=“cabac=4” and I’ve tried all sorts of derivations with and without quotes, replacing the = with space or colon but without success can you please clue me in as to where I am doing wrong.
I should note too - I am doing this under the “other” tab and I don’t even know that this is the correct place.
That looks correct to me. How do you know it is not working?
Log is showing output as follows
bad option ‘“cabac’: ‘4”’
A bit more info in the log it says:
[libx264 @ 00000000065e94c0] bad value for ‘cabac’: ‘4’
In the XML it says
consumer rescale=“bilinear” ar=“48000” real_time="-4" acodec=“aac” top_field_first=“2” movflags="+faststart" crf=“1” channels=“6” threads=“0” width=“1440” progressive=“1” aspect=“1.33333” frame_rate_den=“1001” preset=“medium” deinterlace_method=“yadif” frame_rate_num=“24000” bf=“2” ab=“448k” vcodec=“libx264” target=“D:/[EDITED]/STNG/SOURCE.mp4” x264opts=“cabac=4” f=“mp4” g=“13” height=“1080” vpre=“medium” mlt_service=“avformat”
BUT… Once the file is finished exporting all I end up with is the AAC audio for some reason.
Sorry about that the XML wouldn’t paste directly in my previous message and I had to edit and fiddle a bit.
I don’t think there is an option for “cabac”. The encoder will either use CABAC (default) or CAVLC (if “no-cabac” is specified).
What are you expecting “cabac=4” to do?
Specify the number of reference frames for CABAC to use when encoding.
I think I’ve figured it out - sorry for the confusion what I saw CABAC=4 was an abbreviated version of what was going on the equivalent I believe in Shotcut is.
x264opts=“cabac=1:ref=4” - I am just trying this out now.
I don’t think CABAC works across multiple frames. But maybe I don’t understand how all that works.
Nonetheless, I don’t see any options for “cabac” in the documentation:
Are you maybe thinking of “ref” or “rc-lookahead”
Thanks for that Brian, I was also just checking the log for an H264 Main profile encode and noted this in the output. ( note I am not specifying anything extra here this is vanilla )
[libx264 @ 000000000656c4e0] [Eval @ 000000000e6eeef0] Undefined constant or missing ‘(’ in ‘main’
[libx264 @ 000000000656c4e0] Unable to parse option value “main”
[libx264 @ 000000000656c4e0] [Eval @ 000000000e6eeef0] Undefined constant or missing ‘(’ in ‘dct8x8’
[libx264 @ 000000000656c4e0] Unable to parse option value “dct8x8”
[aac @ 000000000656bb40] [Eval @ 000000000e6eee80] Undefined constant or missing ‘(’ in ‘dct8x8’
[aac @ 000000000656bb40] Unable to parse option value “dct8x8”
I see that too. Would you be willing to report an issue here:
Be sure to specify the export profile you are selecting. I’ll try to get to it this weekend.
My apologies, it was the H.264 Main profile under the Other items flags2=-dct8x8 there was another problem there as well which I will reproduce and add to this message i think it might have been with the vpre=medium but can’t remember
Okay I have been doing some checking and checked the baseline,high and main profiles for x264 they all seem to have some problems resulting in pretty much them always exporting the exact same way.
Firstly the word entry:
vprofile= seems not to be recognizing any value and is complaining thus in the log.
“Undefined constant or missing ‘(’ in 'baseline”
“Undefined constant or missing ‘(’ in 'main”
Now of course there is no vprofile value in the High profile so therefore no complaint.
flags2=-wpred-dct8x8 ( this is in the baseline profile )
"Undefined constant or missing ‘(’ in ‘wpred’
Undefined constant or missing ‘(’ in ‘dct8x8’ ( in the main profile )
Unable to pass value
In all cases it shows "Unable to pass option value "
Hope this helps track down those nasty bugs
Here is the corresponding bug (much ado about nothing):
Looks like Dan fixed this log noise: