Commit Graph

318 Commits (a94c0e055b879f68bb7b378bfc53fb1412754d9b)

Author SHA1 Message Date
pkviet bbac3280c1 libobs: Add surround sound audio support
(This commit also modifies the following modules: UI,
deps/media-playback, coreaudio-encoder, decklink, linux-alsa,
linux-pulseaudio, mac-capture, obs-ffmpeg, obs-filters, obs-libfdk,
obs-outputs, win-dshow, and win-wasapi)

Adds surround sound audio support to the core, core plugins, and user
interface.

Compatible streaming services: Twitch, FB 360 live
Compatible protocols: rtmp / mpeg-ts tcp udp
Compatible file formats: mkv mp4 ts  (others untested)
Compatible codecs: ffmpeg aac, fdk_aac, CoreAudio aac,
		   opus, vorbis, pcm (others untested).
Tested streaming servers: wowza, nginx
	 HLS, mpeg-dash : surround passthrough
Html5 players tested with live surround:
	 videojs, mediaelement, viblast (hls+dash), hls.js
Decklink: on win32, swap channels order for 5.1 7.1
         (due to different channel mapping on wav, mpeg, ffmpeg)
Audio filters: surround working.
Monitoring: surround working (win macOs linux (pulse-audio)).
VST:	 stereo plugins keep in general only the first two channels.
	 surround plugins should work (e.g. mcfx does).
OS: win, macOs, linux (alsa, pulse-audio).
Misc: larger audio bitrates unlocked to accommodate more channels
NB: mf-aac only supports mono and stereo + 5.1 on win 10
         (not implemented due to lack of usefulness)

Closes jp9000/obs-studio#968
2017-11-26 03:41:53 -08:00
cg2121 e86754c2a0 UI: Add ability to rename audio sources from the mixer
This adds the ability for users to change the names of audio sources
from the mixer including desktop and mic/aux sources.

Closes jp9000/obs-studio#1055
2017-11-25 00:59:01 -08:00
nleseul d22a75401d UI: Make streaming/recording buttons checkable
This makes it so the buttons appear "pressed" while streaming/recording
to more visibly help indicate that they are currently active.

Closes jp9000/obs-studio#1039
2017-11-23 00:54:06 -08:00
jp9000 7bd06e7f26 Update translations from Crowdin 2017-10-17 05:39:22 -07:00
Jim 34b0f29dc5 Merge pull request #1003 from Fenrirthviti/theme-updates
UI: Allow volume peak to be customized via .qss
2017-09-15 09:33:52 -07:00
cg2121 76b6266689 UI: Allow hiding/unhiding sources in the mixer
Allows the ability to hide/unhide sources in the mixer that the user
doesn't care about or doesn't necessarily want to see (such as video
sources that have audio but don't have any audio playing).  If all
sources are hidden, the user can right-click the mixer's empty area and
choose "unhide all" via a context menu.

Closes jp9000/obs-studio#1002
2017-09-13 21:17:44 -07:00
Joel Bethke 5576823f24 UI: Allow volume peak to be customized via .qss
With the addition of the peak volume indicator, themes may wish to change
these colors but there was no way to do so. This change updates the
VolumeControl widget to allow a stylesheet to adjust all possible colors
for the volume bar. In addtion, the Rachni theme is updated to demonstrate
this new capability.
2017-08-11 21:07:31 -05:00
Gol-D-Ace 8d8c2e5a22 Update translations from Crowdin 2017-08-10 16:07:40 +02:00
jp9000 25bb8a444f UI: Add modular UI
Changes the UI to an adjustable user interface, allowing the user to
fully customize how the scenes list, sources list, the mixer,
transitions, and the buttons are oriented on the main window window.
2017-07-27 12:17:18 -07:00
Richard Stanway d69652503b
UI: Add "Below Normal" priority option 2017-07-26 23:45:40 +02:00
Jim 9ad8e0c5f0 Merge pull request #947 from Fenrirthviti/new-theme
UI: Add new theme, update theme capabilities
2017-07-01 15:48:05 -07:00
cg2121 2d84da2f7e UI: Add "Defaults" button to filters/properties windows
This adds a "Defaults" button in the source and filter properties, which
will clear and reset all settings.

Closes jp9000/obs-studio#875
2017-06-26 17:44:34 -07:00
cg2121 b8d907f399 UI: Add fullscreen UI option to view menu
(Edit by Jim: Removed "Fullscreen Preview" because that's already sort
of served by the normal fullscreen projector option via the preview
context menu)

Closes jp9000/obs-studio#846
2017-06-26 09:49:43 -07:00
Joel Bethke 432e285257 UI: Add new theme, update theme capabilities
I have always felt that the out of the box themes for OBS were quite
lacking, and have spent a lot of time going through and sorting out the
difficulties with the current setup. I've added a new themeID parameter to
several elements that were otherwise impossible to target with QSS in a
theme. Since Qt has pushed for the use of QML over QSS at this point,
these should be considered workarounds. Included is the theme I was
working on that can serve as a base. I'm hoping to encourage others to
make their own themes, so we can grow the available themes for OBS.

I am happy for any feedback on the theme itself, or other updates that
can me made to make creating new themes easier overall.
2017-06-13 14:37:59 -05:00
Gol-D-Ace 5d25d800ad Fix German locale inconsistencies 2017-05-20 20:24:46 +02:00
Gol-D-Ace 3d2cacd782 Update translations from Crowdin 2017-05-20 10:18:41 +02:00
jp9000 96ce9633e0 UI: Warn user if multiple instances of the UI are open
Uses a named mutex to detect if multiple instances of the program are
open, and if so warns the user.  When running in portable mode, uses a
separate unique mutex name mapped to the user's config directory to
ensure that no two portable builds use the same config directory.  This
way, portable builds do not conflict with normal builds or other
separate portable builds.
2017-05-14 15:25:34 -07:00
jp9000 b40f940b51 UI: Add option to show stats on startup to general 2017-05-13 20:47:47 -07:00
jp9000 35454f7fc5 UI: Fix a few locale items, and add a few missing ones 2017-05-13 13:01:56 -07:00
jp9000 0e1ae62355 UI: Add stats dialog
Shows performance stats, and streaming/recording stats, and helps warn
the user when they have less-than-optimal values with coloring on the
values (e.g. yellow when getting low on disk space, red when getting
really low)
2017-05-13 01:52:54 -07:00
jp9000 ee734c17a5 UI: Add themeID values for colors to style sheets 2017-05-13 01:52:53 -07:00
jp9000 4049a5a882 UI: Add auto-configuration wizard
The auto-configuration wizard is designed to allow first-time or
novice/uneducated users or to set up video and encoding settings in a
very quick and easy way.  It'll automatically perform a bandwidth test,
and/or test the user's video settings to determine the most ideal
settings for streaming and recording (assuming a 1-pc setup).
2017-05-08 02:12:03 -07:00
jp9000 51e5f5fc64 UI: Remove colon from a few locale items
The colon makes it difficult to use these locale items for other
purposes, and the colon isn't used much elsewhere, so just remove them.
2017-05-06 12:12:37 -07:00
Richard Stanway a23c009a69 Various: Optimize bundled PNG files
By losslessly recompressing and removing redundant metadata, this saves
around 910 KB.
2017-05-05 19:56:00 +00:00
cg2121 71c5753207 UI: Add ability to output to window
Closes jp9000/obs-studio#841
2017-05-04 17:07:36 -07:00
mntone 9efd2b87aa UI: Add option to disable audio ducking on windows
The audio subsystem of windows is by default configured to lower the
volume of other things while a communications device (mic) is currently
active.  This patch prevents that from being enabled with OBS.  If the
user needs audio ducking enabled again for whatever reason, there is now
an option to re-enable it in advanced settings.

Closes jp9000/obs-studio#884
2017-05-03 11:05:30 -07:00
cg2121 5e65254f2c UI: Add window name to remux dialog 2017-04-09 01:31:50 -05:00
cg2121 bcd491a3d6 UI: Add copying/pasting of sources/filters
Closes jp9000/obs-studio#860
2017-03-25 04:29:49 -07:00
cg2121 66dbf8f258 UI: Add workaround to fix deleting final scene bug 2017-03-13 13:18:10 -05:00
Gol-D-Ace dbf95bdc15 Update translations from Crowdin 2017-03-05 23:40:11 +01:00
Gol-D-Ace de1bbf4342 Update translations from Crowdin 2017-03-04 07:04:03 +01:00
Gol-D-Ace a13c0a3c29 Update translations from Crowdin 2017-02-27 20:54:02 +01:00
cg2121 d74372c9e0 UI: Fix typo in general settings 2017-02-25 13:28:16 -06:00
Jim 5c1984366e Merge pull request #787 from derrod/mp4-warning
UI: Add warning for recording to mp4 format
2017-02-25 09:30:52 -08:00
derrod f7be55e451 UI: Add warning about recording to mp4 format 2017-02-25 18:25:45 +01:00
derrod 3fe2a79c81 UI: Add codec compatability checkbox to ffmpeg output
Closes jp9000/obs-studio#804
2017-02-25 09:16:46 -08:00
derrod 1fd302218b UI: Add gop size option for custom ffmpeg output
Closes jp9000/obs-studio#804
2017-02-25 09:08:01 -08:00
derrod 379b41aa0e UI: Add options for new socket loop 2017-02-25 06:21:24 -08:00
jp9000 db345e2e48 UI: Improve accessibility text on main window 2017-02-24 03:38:41 -08:00
jp9000 c1c84e9101 UI: Add front-end auto-updater 2017-02-20 22:45:34 -08:00
jp9000 8bc516afe7 UI: Clean up general pane of settings dialog
So many checkboxes were together almost senselessly.
2017-02-20 22:45:32 -08:00
derrod 6bc1ecc794 UI: Add warning if starting the output fails
This is mainly to give visual feedback to those affected by NVENC not
working with older driver versions. Currenlty obs fails silently which
could go unnoticed for users who are using hotkeys as well as confuse
users who are not trained to read their logs when issues occur.

Closes jp9000/obs-studio#788
2017-02-14 19:21:19 -08:00
jp9000 7639b277ce UI: Add audio monitoring to settings/adv audio props.
Adds audio monitoring selection to advanced audio properties, and adds
the ability to select the device in advanced settings.
2017-02-06 11:44:04 -08:00
Gol-D-Ace e181db7845 UI: Fix locale text alignment 2017-02-06 01:39:44 +01:00
jp9000 be7389ed2e UI: Clarify "Always minimize to tray" option
Makes it a bit more clear that this always minimizes to system tray.
2017-01-30 18:39:53 -08:00
dennis 21584fa2c0 UI: Add auto-start replay buf. opt. when stream starts
Closes jp9000/obs-studio#748
2017-01-29 19:09:23 -08:00
cg2121 29f22e72a8 UI: Add option to save projectors
This adds an option to the general settings to save the opened
projectors on exit.

(Note: Fixed conflicts -Jim)

Closes jp9000/obs-studio#743
2017-01-29 06:02:15 -08:00
SuslikV abe4bfd96e UI: Add option to always minimize to tray
Closes jp9000/obs-studio#737
2017-01-25 20:22:45 -08:00
Gol-D-Ace e4f32aa54a Update translations from Crowdin 2017-01-16 12:44:07 +01:00
Gol-D-Ace 6223ed6520 Update translations from Crowdin 2017-01-07 00:23:16 +01:00
Gol-D-Ace 69f0bc244a Update translations from Crowdin 2016-12-23 20:46:47 +01:00
jp9000 09a12fcf98 UI: Update locale for 6 tracks 2016-12-21 17:41:59 -08:00
cg2121 9f0c48d9c7 UI: Add import/export of scene collections & profiles
Closes jp9000/obs-studio#721
2016-12-19 04:44:57 -08:00
Ryan Foster 42a646f28e UI: Add ability to copy-paste scene item transforms
This commit adds the ability to copy a scene item's transform and crop
settings and paste those settings onto another scene item in any scene
or scene collection. It also changes the menu shortcut key for the
Transform action "Center to screen" from "C" to "n" because "C" is the
standard shortcut key for "Copy" in most other applications.

Closes jp9000/obs-studio#719
2016-12-18 17:21:58 -08:00
jp9000 f790d0fe08 UI: Separate replay buffer from recording
Replay buffer and recording should be separate in case the user wants to
start recording from a specific point rather being forced to reconfigure
for regular recording.

Creates a new button on the main window below the recording button for
turning on/off the replay buffer.
2016-12-09 14:47:03 -08:00
jp9000 8f36d122be UI: Clarify replay buf. hotkey error message
It should specify that the user specifically needs to set the "save"
hotkey, not just "the replay buffer hotkey".
2016-12-09 14:46:17 -08:00
jp9000 752c118f2e UI: Add replay buffer options to simple output mode 2016-12-08 03:36:19 -08:00
Gol-D-Ace 2d47dc4e2c Update translations from Crowdin 2016-11-20 12:22:26 +01:00
Gol-D-Ace 90e805ad9b Update translations from CrowdIn 2016-11-16 00:32:47 +01:00
Joseph El-Khouri 3b616823a1 UI: Add preview scaling options
Adds preview scaling to the right-click context menu for the preview
pane.  This allows the ability to, for example, zoom the preview and
edit the preview 1:1 (canvas/base resolution).  This was a missing
parity feature.  Additionally, also allows scaling to the
"output/scaled" resolution the program is set to.

When the preview is in scale mode and is the focused widget, you can
hold space and drag with left click to change the zoomed position.

(Notes added by Jim)

Closes jp9000/obs-studio#687
2016-11-09 14:21:47 -08:00
jp9000 ed85b22534 Update translations from CrowdIn 2016-11-03 13:32:52 -07:00
jp9000 d0e186497f UI: Allow the ability to use deprecated sources 2016-11-03 12:28:33 -07:00
cg2121 7e5c7da542 frontend-tools: Add output timers
This adds streaming and recording timers to the frontend tools.

Closes jp9000/obs-studio#625
2016-10-17 02:47:29 -07:00
Gol-D-Ace aadc7263c0 Update translations from Crowdin 2016-09-28 01:17:24 +02:00
Michael Fabian Dirks 857cf00a39 UI: Implement simple output mode presets for AMD
Closes jp9000/obs-studio#630
2016-09-26 18:51:03 -07:00
cg2121 883f9f204b UI: Add reset/close buttons to transform dialog
Adds a reset and close button to the transform dialog.

Closes jp9000/obs-studio#612
2016-09-16 20:30:52 -07:00
jp9000 8836592d92 UI: Add front-end API library
Allows manipulating and modifying the front-end via plugins.
2016-09-06 22:01:48 -07:00
jp9000 01b274f1da UI: Rename 'obs' dir to 'UI'
This is to prevent confusion both when prefixing commits and when
reading the directory structure for the first time.
2016-08-27 20:19:45 -07:00