Possible MP4 to OGG transcode bug (edit: to OGV) (SC 17.11 update)

Tested SC 17.11.07
.mp4 → .ogv export using all defaults except uncheck “Disable video”, NVIDIA m1200 GPU enabled.
Different results from SC 17.10: Now no error complaints in log but still no output. Job quickly shows 7% and then… no status change, no error indication, no completion indication after 10+ minutes. CPU is now a Xeon m1535 v6 so no slouch. Output .ogv file shows zero byte length. However, SC still thinks the job is active because it queues a re-try as pending. Reproducible.

LOG:
[libx264 @ 00000000075209a0] using SAR=1/1
[libx264 @ 00000000075209a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 00000000075209a0] profile High, level 3.1
AUDIO CODEC FRAME SIZE 1024
[h264 @ 000000001d81e100] Reinit context to 640x640, pix_fmt: yuv420p
[h264 @ 000000001d8216a0] Reinit context to 640x640, pix_fmt: yuv420p
[h264 @ 000000001da5d5a0] Reinit context to 640x640, pix_fmt: yuv420p
[producer avformat] audio: total_streams 1 max_stream 1 total_channels 1 max_channels 1
[h264 @ 000000001d83ece0] Reinit context to 640x640, pix_fmt: yuv420p

So, no joy nor indication this transcode not supported.

Then, disabled GPU. Now an explicit failure reported. Reproducible.

LOG:
[libx264 @ 000000000791a300] using SAR=1/1
[libx264 @ 000000000791a300] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 000000000791a300] profile High, level 3.1
AUDIO CODEC FRAME SIZE 1024
[h264 @ 0000000014743780] Reinit context to 640x640, pix_fmt: yuv420p
[h264 @ 00000000147f4940] Reinit context to 640x640, pix_fmt: yuv420p
[h264 @ 00000000147deaa0] Reinit context to 640x640, pix_fmt: yuv420p
[producer avformat] audio: total_streams 1 max_stream 1 total_channels 1 max_channels 1
Current Frame: 11, percentage: 2
[ogv @ 000000000782a1c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[ogv @ 000000000782a1c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[ogv @ 000000000782a1c0] Unsupported codec id in stream 0
[consumer avformat] Could not write header ‘[redacted]/Shotcut/puppy-video-test-tumblr_ox9nfu3Dxj1u3dvrs-v3.ogv’

So, this failure has slightly different details than SC 17.10.


Experimenting with SC v17.10 on Win 10 Pro x64 as a transcoder to deal with weaknesses of other apps use of codecs/file formats. Current target is MP4 to OGG. Acquired a 11-sec MP4 clip of a puppy for small file size.
Dragged MP4 to SC Playlist.
SC plays the clip without complaint.
Select Export then Ogg Vorbis as destination format.
Processing selections are:
Video tab: Accept SC given defaults for Resolution, Aspect ratio, Frames/sec, Scan mode, Field order. Deinterlacer YADIF. Interpolation Hyper/Lanczos. Check Parallel processing.
Codec tab: Accept all defaults except uncheck Disable video.
Audio tab: Accept all defaults.
Other tab: Accept all.
Export job fails. No source complaints in log.
Destination ogg complaints in log of:

[ogg @ 000000000eabb8c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[ogg @ 000000000eabb8c0] Unsupported codec id in stream 0
[consumer avformat] Could not write header …

So not clear if:

  • SC transcode pipeline set up (ogg codec complaint about deprecated parameter passing), or
  • SC ogg codec ingest processing issue, or
  • Some problem in source MP4 file.

That SC both played the MP4 without complaint and the libx264/h264 input codec did not complain in the log suggests the MP4 file is not an issue.

Have saved log and xml from failed transcode job.

No bug. Encoded an mp4 file successfully to ogg. The audio was extracted to an ogg file.

I believe the reason your encode failed is because you unchecked Disable video in the codec tab.

Ogg Vorbis is an audio file.

Well that would potentially explain the technical failure for attempted transcode to .ogg. I was working off of info from an application forum that probably conflated the OGG container format variants. From Wikipedia:
.oga - Vorbis audio only - /Vorbis Wikipedia page
.ogv - Theora video + optional audio - /Theora Wikipedia page
.ogg - multi-media container format - /Ogg Wikipedia page

In SC, in the upper left panel and tabs, if you select Export tab, you get a search list of output formats where each item drives a default selection of output format filename suffix in the details “Format” drop-down to the right. Ogg Vorbis maps to .ogg, which in the Format drop-down is preceded by .oga and followed by .ogv. So right away SC heads the less experienced (not quite a noob) like me down the wrong path with the mapping of “Ogg Vorbis”->.ogg whereas it should be “Ogg Vorbis”->.oga or for better generality:

“Ogg Vorbis (audio only)”-> .oga
“Ogg”-> .ogg (audio-only “recommended” but NOT technically required)
“Ogg Theora video+audio”-> .ogv

Since 2007, the Xiph.Org Foundation recommends that .ogg only be used for Ogg Vorbis audio files. The Xiph.Org Foundation decided to create a new set of file extensions and media types to describe different types of content such as .oga for audio only files, .ogv for video with or without sound (including Theora), and .ogx for multiplexed Ogg.

Then, if an output format is audio only, why does SC even present output video parameters to be fiddled or allow video output enabled? A little bit of UI fail there.

So, tried MP4 ->.ogv. SC still defaults to Disable Video checked. What? .ogv in theory is a video format, so why would Disable Video checked be a default? Not the same default behavior as other video formats. Un-checked it.

[ogv @ 000000000f1db8c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[ogv @ 000000000f1db8c0] Unsupported codec id in stream 0
[consumer avformat] Could not write header

Oops. This suggests underlying confusion in SC regards OGG content semantics for the .og{a,g,v,x} file formats, at least as described by Wikipedia. OR, transcode to OGG Theora video of any kind not supported but we forgot to intercept those attempts or take .ogv and .ogg off the format list.

IMHO you make a valid point. I’m not qualified to respond. This is best left to the SC developers.

I just did a test to see whether mp4 would transcode to ogg. It does (audio only).:confused: