1653 Commits

Author SHA1 Message Date
Shaolin
b452338f62 linux-capture: Request at least 8 bits for alpha
10bpc support is under active development all over the linux stack
so while we wait for it to mature, request an alpha size of 8.
2018-03-12 22:36:50 -03:00
jp9000
4b54bde426 cmake, libobs, win-capture: Fix VS2017 warnings 2018-03-12 16:16:38 -07:00
Gol-D-Ace
7337b7ffb8 obs-ffmpeg: Fix locale typo 2018-03-01 22:44:43 +01:00
Jim
f3551ff5fa
Merge pull request #1199 from mixer/ftl-update
obs-output: Update ftl-sdk version and ftl logging values
2018-02-27 06:11:00 -08:00
sorayuki
e00e081111 image-source: Fade to transparency if slideshow list is cleared
Fixes a bug where the last image would be permanently shown if the user
clears the file list of a slideshow source.

Closes jp9000/obs-studio#1206
2018-02-27 05:51:31 -08:00
Ben Stahl
b8402daa2f rtmp-services: Add Vimeo to services list
This commit adds Vimeo RTMP ingest to services.json.

Closes jp9000/obs-studio#1178
2018-02-27 05:41:10 -08:00
jp9000
aa58b9cf5f obs-ffmpeg: Use FFmpeg's "fast" AAC encoder by default
FFmpeg has recently made their "fast" AAC encoder the default, which
uses less CPU and sounds better at common bitrates.
2018-02-26 00:11:30 -08:00
jp9000
a89470d2ea obs-ffmpeg: Remove cutoff hack for AAC encoder
The cutoff hack was added many, many years ago as recommended by
Konverter.  Since then, there has been much work on the AAC encoder, so
this hack should no longer be necessary.
2018-02-25 23:50:09 -08:00
jp9000
26595b58b9 win-mf: Deprecate plugin
The windows media foundation H264 encoders have been deprecated for over
a year, and microsoft's media foundation AAC encoder has had a continued
issue with occasional random audio glitches.  The FFmpeg AAC encoder has
had recent development, and is more than sufficient to be able to handle
the task of encoding in terms of both quality and performance, so it's
better just to use the FFmpeg encoder from here on out.

As this plugin is no longer needed, for the next year or two it'll still
be compiled and included, but as a blank plugin that does nothing.  The
reason why it's still being included as a blank no-operation plugin is
to overwrite older versions of the plugin.  That way if a user installs
a newer OBS version over an older one, it won't load up the older win-mf
plugin where the encoders still were enabled.

This also fixes some rarely reported media foundation crashes that can
happen on startup.
2018-02-25 22:37:56 -08:00
jp9000
8a16fa8341 win-capture/graphics-hook: Fix memory offset calculation
Fixes an issue where align_pos could be smaller than
sizeof(struct shmem_data), potentially overwriting memory of the header.

References jp9000/obs-studio#1202
2018-02-24 21:48:50 -08:00
Shaolin
7f3a6844b5 obs-filters: Clear unused parameter warning
Closes jp9000/obs-studio#1188
2018-02-20 01:33:19 -08:00
astudios123
ef7a64228f rtmp-services: Add SermonAudio to services list
This commit adds SermonAudio RTMP ingest to services.json

Closes jp9000/obs-studio#1190
2018-02-19 20:03:25 -08:00
Quinn Damerell
90d3732247 obs-output: Update ftl-sdk version and ftl logging values 2018-02-15 16:11:23 -08:00
Exeldro
277b664001 obs-ffmpeg: Add speed percentage option
(Note: This commit also modifies the deps/media-playback module.)

Allows modifying the speed of local file playback.

Closes jp9000/obs-studio#1091
2018-02-15 15:18:13 -08:00
jp9000
dc0363d3e8 deps/media-playback: Use a struct for media init data
Instead of using countless parameters for the media initialization data,
use a structure.
2018-02-15 13:32:35 -08:00
Colin Edwards
7b6da2c430 obs-vst: Add layout to QMacCocoaViewContainer (update submodule) 2018-02-06 20:54:46 -06:00
Colin Edwards
4109be4511 obs-vst: Link Qt5::MacExtras (update submodule) 2018-02-06 18:52:38 -06:00
pkviet
645d6ae8dd libobs/media-io: Change speaker layout to match FFmpeg aac.
(This commit also modifies the obs-ffmpeg module)

The default channel layouts from aac spec are implemented in FFmpeg
native aac encoder as follows:

    AV_CH_LAYOUT_MONO,
    AV_CH_LAYOUT_STEREO,
    AV_CH_LAYOUT_SURROUND,
    AV_CH_LAYOUT_4POINT0,
    AV_CH_LAYOUT_5POINT0_BACK,
    AV_CH_LAYOUT_5POINT1_BACK,
    AV_CH_LAYOUT_7POINT1,

The correspondence of speaker layouts to AV_CH_LAYOUT from FFmpeg is
changed to reflect the previous table.

Although FFmpeg native aac encoder can now encode all the layouts listed
in avutil channel_layout.h (on master), there might be issues with older
FFmpeg binaries.

Note that 2.1 speaker layout will be encoded as AV_CH_LAYOUT_SURROUND
(FL FR FC) because it is not listed as the default layout for three
channels.

This just means some optimizations for LFE channel will not be used by
the encoder which will treat it as an SCE (single channel element).

Closes jp9000/obs-studio#1182
2018-02-06 06:14:24 -08:00
jp9000
4eb5be4903 obs-filters: Fix hard cross-lock when using ducking 2018-01-22 16:44:22 -08:00
jp9000
bd30a0874d win-dshow: Fix decoding issues from encoded devices 2018-01-22 14:41:00 -08:00
jp9000
cee790a5c6 enc-amf: Prevent detect-amf from showing fail dialogs
Prevents the user when detect-amf piped program crashes due to driver
crash.
2018-01-22 07:29:55 -08:00
jp9000
cb47c61e42 Revert "obs-outputs: Fix FMS auth with query string"
This reverts commit 5cf11d6726d48cd599ca64a0da169d3fd6f7535a.
2018-01-22 05:40:26 -08:00
Gol-D-Ace
ae22886f67 Update translations from Crowdin 2018-01-22 04:55:52 +01:00
jp9000
d976bc94db enc-amf: Test for AMF support in separate process first
Adjusts the enc-amf submodule remote to the jp9000 fork, which tests AMF
support in a separate process before attempting to initialize AMF
in-process.  Reduces the possibility of driver crashes caused by AMF
initialization.
2018-01-20 11:20:24 -08:00
Jim
b183b49b5e
Merge pull request #1077 from Xaymar/plugins-enc-amf
enc-amf: Version 2.3.1
2018-01-20 10:50:25 -08:00
jp9000
6774bbdb83 obs-ffmpeg: Remove NVENC detection code for now
The reason this code is being reverted/removed is because this code is a
risk to startup stability.  This check will be added again in the
future, however this code needs to be executed from a secondary piped
process instead of directly in the process to reduce risk of
driver/hardware issues impacting program startup.  The same needs to be
accomplished for the AMF plugin as well.
2018-01-20 05:31:58 -08:00
jp9000
f5c3af1bda obs-ffmpeg: Fix signed mismatch warning 2018-01-19 16:19:10 -08:00
Jim
77643cce1e
Merge pull request #1139 from takev/pulseaudio-surround-selection
linux-pulseaudio: Surround speaker map
2018-01-19 16:14:04 -08:00
jp9000
655288baec obs-ffmpeg: Do not return last replay path if currently muxing 2018-01-18 08:54:43 -08:00
jp9000
8fc486339c obs-ffmpeg: Add proc to get last replay buffer
Allows getting the path of the last replay buffer saved via the
procedure handler of the FFmpeg muxer output.
2018-01-18 05:34:26 -08:00
Lucian Poston
ff45b7b119 obs-ffmpeg: Call av_register_all before nvenc check
Closes jp9000/obs-studio#1157
2018-01-18 01:36:46 -08:00
jp9000
653d3ceb33 obs-ffmpeg: Don't try to detect NVENC on mac 2018-01-18 01:36:46 -08:00
Michel
054d607c2d obs-ffmpeg: Improve NVENC detection
This improves detection by performing an actual check on encoder
capability directly with the NVENC/CUDA libraries.
2018-01-18 01:35:45 -08:00
Tjienta Vara
48a8e750bb linux-pulseaudio: Surround speaker map
When using more than two channels, the channel map of pulse-audio is incorrect.

Add an API for getting a speaker map based on OBS speaker layout. Then use the
speaker map when connecting to a pulse-audio device, for both source and
monitor output.
2018-01-17 13:05:04 +01:00
jp9000
ae259bf8d8 win-capture: Make minor clarification to locale string 2018-01-13 18:30:23 -08:00
jp9000
17560bf86a Revert "obs-ffmpeg: Improve NVENC detection"
This reverts commit 94b5982216f253f4f4d355109a6dcb81f3a3b980.

Reverting this commit because it had some negative side effects, such as
adding 500 milliseconds to the startup time.  NVENC detection should
really be done through its proper API, and not via creating an encoder
on startup.
2018-01-12 05:35:01 -08:00
jp9000
7764848070 decklink: Default to 5.1 if invalid channel value 7
Value 7 was actually 5.1 surround mode, not 7.1.
2018-01-08 19:17:10 -08:00
jp9000
ed5ee5aae2 decklink: Fix bug with old channel formats
There were cases where the channel format could be set to 7, which used
to be a valid format but now no longer is.  If that format is set, just
use SPEAKERS_7POINT1 instead.
2018-01-08 19:04:40 -08:00
Joel Bethke
10b27723a3 win-capture: Change string for memory capture option
Makes it a bit more clear this option shouldn't be used unless you're on
SLI/crossfire.

In the future, something should be put in to the program that detects
laptops and warns on how to set up their adapter for efficient capture.

Closes jp9000/obs-studio#1138
2018-01-08 15:44:05 -08:00
Tjienta Vara
8f6d048817 linux-pulseaudio: Default sample format float32le
This pull request changes the fallback sample format for pulse-audio
to from PA_SAMPLE_S16LE to PA_SAMPLE_FLOAT32LE.

The pulseaudio plugin can handle the following sample format:
* PA_SAMPlE_U8
* PA_SAMPLE_S16LE
* PA_SAMPLE_S32LE
* PA_SAMPLE_FLOAT32LE

When an audio device advertises itself as another format, the pulseaudio-plugin
will ask pulse audio to convert to the fallback sample format.

The fallback PA_SAMPLE_S16LE is not ideal when your audio interface advertises
as PA_SAMPLE_S24LE since the conversion will lose precision.
With PA_SAMPLE_FLOAT32LE there is no precision loss and it is also equals OBS's
internal format.
2018-01-08 19:31:09 +01:00
derrod
9c8acf127b rtmp-services: Add Twitch Helsinki ingest 2018-01-06 22:16:32 +01:00
Jim
93a96a0603
Merge pull request #1117 from takev/v4l2-add-resolutions
linux-v4l2: Add 4k and 21:9 resolutions
2018-01-06 12:33:22 -08:00
Jim
05a8969439
Merge pull request #1120 from pkviet/ffmpeg
obs-ffmpeg: Fix ffmpeg output recording in x264
2018-01-05 16:47:07 -08:00
Matt Morrissette
5cf11d6726 obs-outputs: Fix FMS auth with query string
Fix FMS authentication to support RTMP connection URLs that have a
query string parameter already.

Closes jp9000/obs-studio#1105
2018-01-05 15:52:14 -08:00
pkviet
d5140e9206 mac-capture: Update fix for Soundflower
Some audio devices do not have a fixed number of channels.  For example,
Soundflower.  This was previously fixed by defaulting the speaker layout
to stereo.  With surround sound support, the default has been changed to
the output speaker layout as set in Settings > Audio.

Closes jp9000/obs-studio#1110
2018-01-05 13:48:52 -08:00
pkviet
974e64eb23 decklink: Add 2.1 & 4.1 surround layouts
The list of channel layouts available for decklink input is missing 2.1
& 4.1 layouts.  The commit adds them.  This aligns the decklink input
with the speaker layouts available at outputs.  Having different layouts
as input and output invokes FFmpeg resampler, which remixes the channels
in non trivial way except when downmixing to stereo.  This patch allows
to avoid such uncontrolled remix of channels with decklink input.
2018-01-05 13:44:57 -08:00
pkviet
292ad0fe97 coreaudio-encoder: Surround sound improvements
The core audio aac encoder has bitrates maps specific to speaker
layouts.  Previously, the bitrate map maxed at 320 kbs and was the map
for stereo.  The bitrate map is now tailored to the speaker layout.  In
practice this unlocks higher bitrates.  For instance up to 960 kbs for
7.1.  Additionally the commit fixes a bug with 2.1 with channels not
ordered correctly.
2018-01-05 13:44:57 -08:00
pkviet
c5e14456ca obs-libdk: Unlock bitrates for surround layouts
Bitrate map was previously maxed at 256 kbs which is OK for stereo.
This commit enables up to 1024 kbs which can be used for surround
channel layouts.
2018-01-05 13:44:22 -08:00
pkviet
67e48ecc2c libobs/media-io: Replace quad with 4.0
(also obs, deps/media-playback, libobs/audio-monitoring, decklink,
linux-alsa, linux-pulseaudio, mac-capture, obs-ffmpeg, win-dshow,
win-wasapi)

Default channel layout for 4 channels is 4.0 in FFmpeg.
Replacing quad with 4.0 will improve compatibility since FFmpeg has
better support of its default channel layouts.
2018-01-05 09:48:52 -08:00
pkviet
fb580535c9 libobs/media-io: Clean surround API
(also modifies obs-ffmpeg, audio-monitoring, win-wasapi, decklink,
obs-outputs)

Removes speaker layouts which are not exposed in UI.  The speaker
layouts selectable by users in the UI are the most common ones.  It is
not necessary to keep other layouts.  (This basically removes
5POINT1_SURROUND, 7POINT1_SURROUND, SURROUND =3.0).
2018-01-05 09:47:59 -08:00