Sound is disabled by default #47358

Closed
opened 2016-02-08 00:01:27 +01:00 by Aaron Carlisle · 15 comments
Member

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 #50168

  • If you are using a video output most likely you will want audio.
  • Extra step to take to get audio.

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

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 #50168 - If you are using a video output most likely you will want audio. - Extra step to take to get audio. # 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
Author
Member

Changed status to: 'Open'

Changed status to: 'Open'
Author
Member

Added subscribers: @Blendify, @neXyon

Added subscribers: @Blendify, @neXyon

Added subscriber: @ideasman42

Added subscriber: @ideasman42

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.

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.
Member

Added subscriber: @JoshuaLeung

Added subscriber: @JoshuaLeung
Member

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.

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.

Added subscriber: @ThomasDinges

Added subscriber: @ThomasDinges

@JoshuaLeung 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

@JoshuaLeung 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
Member

Added subscriber: @BrendonMurphy

Added subscriber: @BrendonMurphy
Member

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

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

Added subscriber: @intracube

Added subscriber: @intracube

"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.

In #47358#357396, @ThomasDinges wrote:
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.

> "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. > In #47358#357396, @ThomasDinges wrote: > 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.
Member

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.

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.
Author
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Aaron Carlisle self-assigned this 2021-08-30 22:31:23 +02:00
Author
Member

I am going to consider this resolved after 70f890b510

Video editing is the main case where audio output is needed unless speaker objects are being used which aren't used that much and in these cases I expect users to render the audio and animation separately.

I am going to consider this resolved after 70f890b510 Video editing is the main case where audio output is needed unless speaker objects are being used which aren't used that much and in these cases I expect users to render the audio and animation separately.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#47358
No description provided.