Commit Graph

1249 Commits (d19342442ffd72977b4c76cc8ee85fe1f5dca294)

Author SHA1 Message Date
Michael Fabian Dirks ccbb542eb0 enc-amf: Update to 1.3.3.1 2016-10-07 00:47:06 +02:00
Michael Fabian Dirks 70fc27d34a enc-amf: Update to 1.3.2.3 2016-10-04 20:21:17 +02:00
Jim dbfb1f9796 Merge pull request #638 from Xaymar/plugin_enc-amf
enc-amf: Fix warnings caused by warnings( push/pop )
2016-09-29 12:20:49 -07:00
Michael Fabian Dirks 846db36d6e enc-amf: Fix warnings caused by warnings( push/pop ) 2016-09-29 21:20:01 +02:00
Michael Fabian Dirks 4bafe668ee obs-text: Add gradient feature
Closes jp9000/obs-studio#636
2016-09-29 12:15:17 -07:00
Michael Fabian Dirks 832c62e026 enc-amf: Update submodule to 1.3.1.0 2016-09-29 19:59:45 +02:00
Richard Stanway a8020b37be obs-ffmpeg: Fix possible NVENC crash
If the codec hasn't even been fully initialized, calling these functions
in the shutdown code could cause a crash.
2016-09-28 15:24:04 -07:00
CoDEmanX 78d09e6ac2 rtmp-services: Add Asian Livecoding.tv server and increase video bitrate 2016-09-28 21:29:03 +02:00
jp9000 32378124af obs-text: Change file update interval to 1 sec (from 2) 2016-09-28 02:01:30 -07:00
Gol-D-Ace aadc7263c0 Update translations from Crowdin 2016-09-28 01:17:24 +02:00
jp9000 a8f3351173 enc-amf: Remove unused locale files 2016-09-27 16:13:40 -07:00
Jim 60224b2480 Merge pull request #633 from Xaymar/plugin_enc-amf
enc-amf: Update submodule to 1.3.0.3
2016-09-27 16:07:12 -07:00
Michael Fabian Dirks 5bc7003d12 enc-amf: Update submodule to 1.3.0.3 2016-09-27 23:45:08 +02:00
jp9000 677ae3798d obs-browser: Add browser plugin as a submodule 2016-09-27 13:33:57 -07:00
Michael Fabian Dirks b4f9229cf7 enc-amf: Update submodule to 1.3.0.1 2016-09-27 19:48:52 +02:00
jp9000 66d0e25a86 enc-amf: Update submodule to 1.3.0 2016-09-26 18:53:23 -07:00
Richard Stanway 4d23e84837
librtmp: Remove reconnect on close behavior
For some reason librtmp treats a close message as a request to reconnect.
It does this syncronously, and uses the same event processing so that
another close request will continue the cycle until the stack is exhausted
and the application crashes.

Fixes https://obsproject.com/mantis/view.php?id=634
2016-09-27 00:37:59 +02:00
jp9000 7ee3dfe9e4 enc-amf: Update to 1.3.0rc6 2016-09-26 14:46:57 -07:00
jp9000 1e0d5e7b3e obs-ffmpeg: Add b-frame support to NVENC (default: 2)
It was unintentionally using intra-only before, impacting quality.
2016-09-26 14:46:56 -07:00
Richard Stanway 7ea59ff3b4
rtmp-services: Remove Twitch H264 profile requirement
Twitch no longer recommend Main profile on their "Broadcast requirements"
page. The number of devices that can't decode High profile is very small
and limited to old, legacy devices such as the 1st generation iPad (six
years old). Additionally, these devices have limited resolution / FPS
support, so streams are often encoded at levels beyond what they could
decode even disregarding the H264 profile requirement. It's not worth
degrading the quality of streams for modern devices just to support these
legacy decoders. Twitch still provides low-complexity transcodes for
devices which cannot handle Source quality streams.
2016-09-26 20:32:37 +02:00
Robin Hielscher e3a1ba0c77 rtmp-services: Update Facebook Live recommendations (#629)
* rtmp-services: Update Facebook Live recommendations

* Update package.json
2016-09-26 01:31:08 -07:00
jp9000 ff05574654 obs-text: Change default font size to 36 2016-09-22 20:57:43 -07:00
Jim e92f683ee0 Merge pull request #623 from hwdro/obs-text-bk
obs-text: Add bk color/opacity properties
2016-09-22 20:54:58 -07:00
Christoph Hohmann 43dd63aeaf pulse-input: Fix design flaw where source is not created
When a pulseaudio source is created from existing settings and the
device is not found, then the private data will return NULL, making it
impossible to change the source to use a different device.  NULL should
never be returned when possible, otherwise settings cannot be changed
and properties cannot be displayed.

Closes jp9000/obs-studio#604
2016-09-22 18:26:56 -07:00
Michael Hoang 7d6bf872e2 linux-alsa: Add ability to specify a custom PCM
Closes jp9000/obs-studio#599
2016-09-22 18:18:55 -07:00
jp9000 108a4aa40e obs-outputs: Add max shutdown timeout (30 seconds)
The maximum shutdown timeout value was added as a setting, but never
actually fully implemented.  This implements it properly, and sets its
default timeout value to 30 seconds.
2016-09-21 21:51:22 -07:00
Michael Fabian Dirks d4c4d7b674 enc-amf: Fix locale typo and add VBR_LAT 2016-09-21 08:17:01 -07:00
hwdro a4cde72698 obs-text: Add bk color/opacity properties 2016-09-21 00:09:53 +03:00
jp9000 69c4dbe4ed enc-amf: Remove superfluous locale text 2016-09-20 09:28:49 -07:00
Michael Fabian Dirks ed616ac593 enc-amf: Add AMD h.264 encoder
Closes jp9000/obs-studio#611
2016-09-20 09:08:21 -07:00
jp9000 84613cecff win-dshow: Disable plugin and warn if submodule not found 2016-09-20 05:07:30 -07:00
jp9000 6736aeebde rtmp-services: Remove forced zerolatency on service 2016-09-19 17:58:15 -07:00
jp9000 ba47bcafc8 Revert "rtmp-services: Add ability to specify tune param"
This reverts commit 4b0f22d05a.

Services should not force tunes.
2016-09-19 17:57:59 -07:00
Andrei Nistor 95f364dd29 rtmp-services: Add CAM4 streaming service
Closes jp9000/obs-studio#606
2016-09-19 07:33:44 -07:00
Andrei Nistor 4b0f22d05a rtmp-services: Add ability to specify tune param
Some services need to set up tune=zerolatency
for low-latency streaming
2016-09-19 07:04:41 -07:00
derrod 3b3933b42f obs-ffmpeg: Fix (put back in) "profile" NVENC setting
The profile setting may have been unintentionally removed in 0157d02564.

Closes jp9000/obs-studio#616
2016-09-16 19:55:18 -07:00
jp9000 b2a85a2820 obs-text: Reload whenever file timestamp has changed
Rather than reload when the timestamp is greater than the previous
timestamp, reload whenever the timestamp has changed.
2016-09-16 19:47:24 -07:00
Jim 1946ee6443 Merge pull request #617 from RytoEX/master
image-source: Reload file when timestamp has changed
2016-09-16 19:46:31 -07:00
jp9000 31f106c1b5 obs-text: Fix typo 2016-09-15 05:20:59 -07:00
jp9000 1bbe152a55 obs-text: Fix call type for GDIObj helper class
The call type for the deleter function used with the GDIObj helper class
is __stdcall.  Without it, it'll fail to build in 32bit properly.
2016-09-15 04:52:22 -07:00
jp9000 5af1a2b5bb text-freetype2: Deprecate on windows 2016-09-14 16:59:46 -07:00
jp9000 34eb4cd409 obs-text: Add GDI+ text source 2016-09-14 16:59:46 -07:00
Ryan Foster c8a81bba72 image-source: Reload file when timestamp has changed
This commit fixes the issue outlined in the following thread:
https://obsproject.com/forum/threads/50045/

When the image source file was replaced by an outside process, it would
only reload when the file's new timestamp was newer than the file's
previous timestamp.  This fixes that behavior.  Now an image source
will reload any time the file's new timestamp is different than its
previous timestamp.
2016-09-14 05:43:48 -04:00
jp9000 c5c1e34d09 obs-ffmpeg: Free remaining NVENC frames on exit
This clears out remaining NVENC frames to ensure that the encoder has
finished processing before shutting down.
2016-09-13 09:17:07 -07:00
jp9000 001f3c751b win-dshow: Add tooltip to "Use Buffering" option 2016-09-11 04:16:14 -07:00
jp9000 50d7cc8ae6 obs-outputs: Allow forced stop even when stopping 2016-09-09 17:39:20 -07:00
jp9000 9a58772a01 obs-ffmpeg: Allow ffmpeg_mux forced stop even when stopping 2016-09-09 17:39:19 -07:00
rpslack a8b59b70ea rtmp-services: Add AfreecaTV streaming service 2016-09-06 08:31:44 +02:00
jp9000 562b3c2990 rtmp-services: Add meridex service 2016-08-30 18:24:53 -07:00
Gol-D-Ace f8fd87bbf6 rtmp-services: Update Restream.io ingest servers 2016-08-22 16:25:40 +02:00
Radzaquiel 7b2fb21ded rtmp-services: update Hitbox.tv ingest servers
Added: "US-East: New York - 2"
Modified: "US East: New York" to "US-East: New York - 1"

Closes jp9000/obs-studio#601
2016-08-22 06:48:49 -07:00
Cephas Reis 1ae46a2940 linux-jack: Allow jack support on OSX
Allows usage of jack on OSX (as well as windows later).

Closes jp9000/obs-studio#587
2016-08-20 13:08:02 -07:00
Jim ceb723dc9b Merge pull request #588 from reboot/fix_noise_surpression_step_size
obs-filters: Fix step size for surpress level of noise surpression filter
2016-08-20 12:48:49 -07:00
jp9000 ba1112470d vlc-video: Comment libvlc_video_get_size usage with video files 2016-08-20 12:15:34 -07:00
Andreas Reischuck e6f950fde9 vlc-video: Fix URLs not working on windows
libvlc_media_new_path implies a file.  To get media based upon URLs, use
libvlc_media_new_location.  Additionally, if using a URL, it's best to
give it some playback caching/buffering, at least 100 milliseconds.

Closes jp9000/obs-studio#590
2016-08-20 12:15:22 -07:00
Richard Stanway eca0ca8424
obs-outputs: Prefer IPv4 addresses for RTMP connections 2016-08-15 17:58:01 +02:00
jp9000 34590b4b6a obs-outputs: Allow p-frames to be dropped
Previously, for an unknown reason p-frames were marked as highest
priority along with i-frames (keyframes), which means they could not be
dropped.  This would cause a problem where if for whatever reason
there's too much congestion, data would continually buffer.  This fixes
the issue by dropping p-frames at a separate (higher) threshold than
b-frames.
2016-08-13 16:35:05 -07:00
jp9000 630207d590 obs-outputs: Improve frame drop testing
Measures packet data rate and sleeps to prevent data from going above
the set data rate.  Uncomment the TEST_FRAMEDROPS macro, then set
DROPTEST_MAX_KBPS to the desired kb/s (for example 3000 for 3000
kilobits per second), and then it will limit the data rate to that
specified amount, forcing the thread to sleep to ensure it can only
output the desired data rate.
2016-08-13 01:24:32 -07:00
jp9000 6d33f7e091 win-capture: Add trick to ensure game cap. shared tex support
This new trick forgoes the use of patches and allows the ability to use
shared GPU resources despite being a Direct3D 9.0c context.
2016-08-12 18:44:54 -07:00
jp9000 27ac2cf940 obs-outputs: Remove custom version from FMLE string
Causes issues with certain servers that don't parse it properly and only
expect a specific string.

Use the RTMP onMetaData to get the OBS version instead when possible.
2016-08-12 15:47:57 -07:00
Jamy Timmermans 6f9065ba3b rtmp-services: Add new Beam.pro ingests 2016-08-12 02:56:42 +02:00
Christoph Hohmann 92b216b468 obs-filters: Fix step size for noise suppression filter 2016-08-11 20:56:38 +02:00
jp9000 83a042f95c win-capture: Add missing game capture "Mode" string 2016-08-08 16:03:33 -07:00
Gol-D-Ace cb036b2713 Update translations from Crowdin 2016-08-08 16:21:48 +02:00
jp9000 2c531f04df win-capture: Fix game capture hotkey activating immediately
When game capture was set to hotkey mode by the user, it would try to
activate the capture right away without waiting for the user to press a
hotkey.
2016-08-08 04:57:10 -07:00
jp9000 d193a7d547 rtmp-services: Update package version 2016-08-06 23:40:11 -07:00
jp9000 7bf1f9f189 rtmp-services: Add Coderwall service
Closes jp9000/obs-studio#574
2016-08-06 23:38:13 -07:00
jp9000 2f0cb25bf2 rtmp-services: Add Interactive LifeStream service 2016-08-06 23:36:15 -07:00
jp9000 2f21a8fc6b rtmp-serves: Rename joicaster to switchboard 2016-08-06 23:35:51 -07:00
jp9000 06b42f4f27 win-capture: Always allow conf. of game capture hotkey
Even if the hotkey is not enabled, always allow configuration of the
hotkey.  Fixes a bug where the hotkey configuration settings would not
save if the settings were changed.

Annoyingly this means that the hotkey will still be shown to the user,
possibly confusing the user as to whether they can use it, but for the
time being it's better than having their hotkey configuration removed
each time they change the mode.
2016-08-06 20:17:29 -07:00
jp9000 f39f15325a vlc-video: Allow URLs to be used with VLC video source 2016-08-06 20:05:11 -07:00
jp9000 cbc1f63990 vlc-video: Allow all VLC-supported file types
Instead of just having a limited number of video file types that can be
used, allow all files types that VLC supports.
2016-08-06 19:47:50 -07:00
jp9000 571c3a6859 win-capture: Update D3D9 patches
Fixes performance issues with windows 10.0.14393.0
2016-08-06 15:27:33 -07:00
jp9000 183ee11e24 win-capture: Fix lookup order for d3d9 patch
It's supposed to look for patch segments in ascending order, from the
smallest offset to the largest offset.  Patch type/comparison is
identical to the one it's being swapped with, so only the offsets need
to be swapped.
2016-08-06 15:27:33 -07:00
John Bradley 92f7ff8221 win-mf: Remove extensions/profile from AAC header
With this change "Movies & TV" (version 3.6.2251.0) and Firefox 47.0
play audio encoded with mf_aac
2016-08-07 00:17:43 +02:00
Will Jamieson 39bdf1b666 rtmp-services: Add Stre.am service
Closes jp9000/obs-studio#577
2016-08-05 22:04:44 -07:00
Jim 6e98cd89a1 Merge pull request #579 from hwdmedia/master
rtmp-services: Add Boomstream service
2016-08-05 21:59:28 -07:00
jp9000 b41a88f39f win-mf: Make minor adjustment to windows 7 warning
Instead of saying "windows versions less than 8", say "windows versions
prior to 8".
2016-08-05 18:59:37 -07:00
jp9000 8fe01f2de1 win-capture: Do not blacklist league lobby window
The league lobby window can apparently be captured by game capture, and
may actually be useful to capture for some people.
2016-08-05 18:59:37 -07:00
jp9000 efd5584c31 coreaudio-encoder: Clarify "couldn't load encoder" message 2016-08-05 18:59:36 -07:00
jp9000 526d390adb libobs: Reduce unnecessary logging (info -> debug)
(Note: This commit also modifies coreaudio-encoder, win-capture, and
win-mf modules)

This reduces logging to the user's log file.  Most of the things
specified are not useful for examining log files, and make reading log
files more painful.

The things that are useful to log should be up to the front-end to
implement.  The core and core plugins should have minimal mandatory
logging.
2016-08-05 18:59:32 -07:00
pipll 91d37cbf11 rtmp-services: Add Boomstream service 2016-08-03 06:03:18 +03:00
jp9000 4f3fc21a20 obs-outputs: Fix author for net-if.* files
These files were heavily modified but originally written by:
B. Lee <bl4@postpile.net>
2016-07-31 05:45:36 -07:00
jp9000 bf166c07f4 win-capture: Blacklist specific executables from game capture
Prevents the common problem of injecting in to certain processes and
getting the hook DLL "stuck":
- windows explorer
- steam
- battle.net
- gog galaxy
- skype
- uplay
- origin
- microsoft visual studio
- task manager
- league of legends lobby window
- windows 10 system settings window
2016-07-30 13:04:53 -07:00
jp9000 17667b8b9d win-capture: Add game capture hotkey support
Changed the first property of game capture to be a "mode" list (with
"any fullscreen window", "specific window", and "hotkey").

When hotkey mode is set, it'll add a hotkey pair to hotkey settings to
activate/deactivate game capture.  When the hotkey to activate is
pressed, it'll treat the current foreground window as the target window
similar to "selected window" mode; it'll keep trying to capture the same
window even if the window or its application closes/reopens, and will
continue to do so until deactivated via the deactivate hotkey, or until
a new window is set via the activate hotkey.
2016-07-30 13:04:53 -07:00
jp9000 383c96744e win-capture: Expose helper funcs to get win. class/title 2016-07-30 11:24:39 -07:00
jp9000 289ccee447 obs-outputs: Add ability to bind to an IP address for RTMP 2016-07-29 15:47:30 -07:00
jp9000 9ebe5349fa obs-outputs: Add Bind-To-IP wrapper functions
Allows enumerating IP addresses so you can select the adapter/IP from
which to stream from.
2016-07-29 15:47:28 -07:00
jp9000 7e8ad0a08e obs-filters: Actually define TRUE/FALSE
Doing something like '#if TRUE' when 'TRUE' isn't defined is the
equivalent to '#if 0' because the preprocessor evaluates an undefined
macro as 0/false.
2016-07-27 10:18:53 -07:00
jp9000 498051b8f0 obs-filters: Fix macro check
This should be checking true or false -- not whether it's defined or
not.
2016-07-27 10:02:12 -07:00
jp9000 71dc8d6407 obs-filters: Add comments to noise suppression filter
These comments have been added to clean up the code and make it more
clear of what the code is doing.  The code felt a bit messy, and this
should help prevent the original author of the noise suppression filter
from being lost in case he decides to modify/improve the filter.
2016-07-26 05:06:26 -07:00
jp9000 6fcb5372e9 obs-filters: Remove redundant code
This variable was always being set to that value regardless a few lines
below.
2016-07-26 04:53:46 -07:00
jp9000 155ddf8996 obs-filters: Handle timestamp jumps for noise sup. filter
When buffering audio data, we don't want to buffer audio data that may
be old.  If the audio timing jumps significant and old audio data is
buffered, clear that old data.
2016-07-26 04:50:18 -07:00
jp9000 55a5664363 obs-filters: Buffer noise suppression audio data
The noise suppression filter mistakenly operated on the assumption that
input audio data would always be in 10ms segments, and would crash if
audio data was larger than that size.

Because speexdsp operates on fixed audio frame sizes only, we must
buffer audio data to fit that frame processing size.  This creates a
troublesome situation where you must buffer around that specified frame
size.

The new steps for processing are:
1. Push audio data to input circular buffer.
2. Push number of audio frames and timestamp for that audio packet to an
   'info' circular buffer.
3. Check size of input circular buffer, and while it's equal to or above
   the speexdsp frame size (10ms for minimum latency), pop from the
   input buffer to a temporary buffer (10ms frames) and process it, then
   push that temporary buffer to the output circular buffer.
4. Peek at the front of the 'info' circular buffer.
5. If the output circular buffer frame size is equal or larger than next
   expected number of frames, pop both the info and output buffer, and
   return the audio data with the expected audio frames/timestamp.
2016-07-26 04:29:50 -07:00
Simon f3d0272f57 obs-filters: Add speexdsp-based noise suppression filter 2016-07-25 20:17:13 -07:00
John Bradley 26ec2dee44 obs-x264: Fix default value type of rate_control 2016-07-22 13:30:20 -05:00
jp9000 67ac11f40e vlc-video: Fix downmixing issue
libVLC doesn't seem to provide full speaker configuration info, so when
downmixing audio from a file that had more than 2 channels, the audio
would sound wrong.

This change makes it so that libVLC does the downmixing to stereo rather
than libobs, just due to that lack of speaker configuration info.
2016-07-20 15:12:04 -07:00
hwdro 938943e72b obs-transitions: Add 'Luma Wipe' transition
Closes jp9000/obs-studio#558
2016-07-20 07:05:27 -07:00
Christoph Hohmann 83aab23242 linux-capture: Add OBS_SOURCE_DO_NOT_DUPLICATE to window capture sources
It seems that it is not possible to create multiple OpenGL textures
for the same window. When sources are duplicated in studio mode this
causes window capture sources to become black. The
OBS_SOURCE_DO_NOT_DUPLICATE flag prevents that this happens.
2016-07-18 18:05:40 +02:00
Andrew Surzhynskyi 8fc93f6b15 rtmp-services: Update Restream.io ingests/settings
Update Restream.io ingests list and set recommended keyframe interval to
2.

(Commit edited and formatted by Jim: Fixed commit message)

Closes jp9000/obs-studio#565
2016-07-18 07:23:28 -07:00