Page MenuHome

Sound is disabled by default
Open, Confirmed, LowPublic

Description

Currently by default when using a video output there is no sound enabled by default. However, this is bad from the user point of view.
There are several examples of new users who have no idea why sound is coming from Blender but after rendering there is no sound. See T50168

  1. If you are using a video output most likely you will want audio.
  2. Extra step to take to get audio.
  3. If you don't want sound you will not have an audio object.

My purpose is to enable a common/ universal audio codec by default e.g. .mp3

Details

Type
Design

Event Timeline

Aaron Carlisle (Blendify) updated the task description. (Show Details)
Aaron Carlisle (Blendify) raised the priority of this task from to Needs Triage by Developer.
Aaron Carlisle (Blendify) set Type to Bug.

In the case of video editing this is typically true, however for rendering animations its common to render without sound.

Would leave default as-is.

Campbell Barton (campbellbarton) triaged this task as Confirmed, Low priority.Feb 8 2016, 2:22 AM
Campbell Barton (campbellbarton) changed Type from Bug to Design.

Weighing in on this:
I agree with Aaron that we should enable suitable audio codecs on the appropriate outputs. I've run into this a few times, and agree that it sucks.

From what I gather, anyone rendering animations without the sound are already doing so because they're rendering to png's (or similar) and then using FFMPEG to recombine the image/audio streams separately afterwards, so enabling this won't really do them much more harm. Of course, I could be wrong about this, since I spend more time writing code + testing features than exporting videos. (For example, one notable reason to not do this may be that, if there's no audio, but setting the codec causes additional bloat + corrupted files because no there's no audio to save to the file, then doing something like this may cause more trouble than it's worth)


I guess this also ties into the whole debate about the video export presets/options in Blender, and what market we're aiming at here. Currently, we seem to have a half-way position that doesn't serve anyone at all.

  • IMO, at the very least, we should have a preset that would be sufficient to anyone who's generally ignorant/uninformed about all the different video format stuff should be able to just pick the preset, press "Render", and have Blender output a video file (complete with sound + ok/decent video quality) that can then be uploaded to Youtube/video sharing sites "as-is". By "decent" here, I'm not referring to optimal video quality, optimal compression, etc. - but rather, there are no clear artifacts visible, the video may be slightly bloated, but otherwise it plays. (Oh, and Blender doesn't crash while making this file :)

    (From poking around the docs, FFMPEG seems to come bundled with a few presets which are meant for this kind of thing. Unless the API's are really that hideous, I don't really understand why we can't just take those presets, make the necessary API calls to set up the encoding state correctly in the same way as the presets would do, and then expose that as a way for exporting video).
  • Separate to this, we can probably have some presets (or ability to make presets) that anyone wanting "higher quality" stuff (for later recombination + encoding with better tools) should be able to use. Again, a focus on using the types of settings that are typically used, and that's it. <--- For this, we should really just look at using whatever settings Francesco is using/piping into FFMPEG when creating the BI production exports, and baking these into the Blender binary/internal API's so that they can be used from Blender directly. (It doesn't even have to be via the GUI, if we expose suitable PY API hooks to call whatever has been set up to trigger that codepath, meaning that we can just put this "on the farm", as is done now with FFMPEG manually).
  • Finally, for anyone who isn't happy with either of these options, we still have the options to export to a series of stills and/or export the audio to a single file, so that everything can be done by external tools.

Regardless, it seems to me that the current video encoding options exposed in Blender need to change.

@Joshua Leung (aligorith) I fully agree with you, the current workflow is just stupid. You can pick all kinds of audio/video combinations and hope that one of them ends up as compliant file, which plays fine outside of Blender.

Here some discussions about renewing the UI for export:
http://wiki.blender.org/index.php/User:Rocketman/Encoding_ui_proposal
http://wiki.blender.org/index.php/User:Mpan3/Encoding_Panel_Improvement

hi, any activity here? seems valid & agreed upon? Are there actions to take yet?

"My purpose is to enable a common/ universal audio codec by default e.g. .mp3"

There probably isn't a single suitable audio codec supported by all Blender's containers. For example, DV doesn't support MP3, only PCM. So there would need to be some internal rules defined to choose valid combinations.

You can pick all kinds of audio/video combinations and hope that one of them ends up as compliant file, which plays fine outside of Blender.

Yep, this has been a frustration for a while. There's actually two issues;

  • the user can choose impossible encoding options in the UI, which then get ignored by Blender/ffmpeg (so that the output remains compliant)
  • or sometimes container/codec combinations _might_ be valid, but are unusual and not supported by some media players (not really a fault of Blender)

This has been commented on quite a few times:
https://developer.blender.org/T44468
https://developer.blender.org/T50074
https://developer.blender.org/D2242#55502

If a subset of valid container/codec/bitrate combinations were defined in an XML file (or maybe an internal Python structure, eg a multi-dimensional array), it could be used to control which UI options are visible/greyed out, etc.

With respect to enable/disable, we could make the following change: Add a choice between enabled, disabled and automatic and for automatic determine whether the scene has sound or not and enable automatically in that case. The choice of codec is a different problem, but a default codec for each file format shouldn't be difficult to choose.