0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

8305 Commits

Author SHA1 Message Date
Jim
9497589b16
Merge pull request #3074 from jpark37/game-capture-remove-scale
win-capture: Remove game capture scaling
2020-07-10 16:47:39 -07:00
Jim
6347a221a0
Merge pull request #3050 from jpark37/qt-warnings-515
UI: Fix warnings for Qt 5.15
2020-07-10 15:30:26 -07:00
Jim
87915489b4
Merge pull request #3035 from brittneysclark/qsv_ui_and_vdenc
obs-qsv11: Simplify QSV settings in UI and Enable AVC VDEnc on ICL+
2020-07-08 20:59:57 -07:00
brittneysclark
17f013d0d0 obs-qsv11: Simplify UI quality parameters
Combine MBBRC and CQM parameters into a perceptual video
enhancement box
2020-07-08 20:24:27 -07:00
brittneysclark
28af453320 obs-qsv11: Enable VDEnc on ICL+
Enable AVC VDEnc (fixed function encode) on ICL+
2020-07-08 20:24:27 -07:00
brittneysclark
8e0e2dd3e9 obs-qsv11: Add latency mode to QSV settings
Simplify UI options by combining LookAhead Depth and Async Depth into
latency mode option. Ultra-low, low, and normal will set these two
encode parameters accordingly.
2020-07-08 20:24:24 -07:00
Joel Bethke
41bc541613
Merge pull request #3141 from JohannMG/update-facebook-streamkey-url
UI: Update Facebook get stream key URL
2020-07-08 20:09:56 -05:00
JohannMG
5020f61589 UI: Update Facebook get stream key URL
Old URL is being phased out for the cleaner interface. Changed in both
the settings pane and the wizard.
2020-07-08 17:42:57 -07:00
Jim
f23d04b67f
Merge pull request #3030 from cmlin2/preferiGPU
obs-qsv11: Set preference for encode to iGPU in case of i+i
2020-07-08 13:03:35 -07:00
cmlin2
477199ef2c obs-qsv11: Set preference for encode to iGPU in case of i+i 2020-07-08 12:03:22 -07:00
Jim
f6043061c0
Merge pull request #3004 from cg2121/projector-screen-removed
UI: Delete projector when monitor is disconnected
2020-07-08 09:32:18 -07:00
Clayton Groeneveld
846c3d5acc UI: Delete projector when monitor is disconnected 2020-07-08 07:40:51 -07:00
Jim
b9de258c16
Merge pull request #2988 from jeremycole/allow_continuous_streams_20200525
obs-ffmpeg: Allow continuous network streaming
2020-07-08 07:39:24 -07:00
Jeremy Cole
974cd4350b obs-ffmpeg: Allow continuous network streaming
This change breaks the tying of the 'close' option to the media
source being a local file vs. network source. In doing so, it is
possible to keep network sources streaming continuously, which
fixes a few things when using network cameras as sources:

* The preview pane works in studio mode.
* There is no delay in switching scenes before video appears.
* The multiview works properly/normally.

This does introduce one bit of weirdness which could be easily fixed
with sufficient knowledge of OBS to do it quickly: if a networked media
source fails with both 'Restart playback when source becomes active' and
'Close file when inactive' disabled, it is slightly tricky to get it to
restart the video stream. (It can be done by enabling those options and
hiding the scene, though.) It would be nice to have a simple "restart
stream" button somewhere to do this more easily.
2020-07-08 07:05:11 -07:00
Jim
5f9f7166f9
Merge pull request #2978 from ioangogo/V4l2-updating-fix
linux-v4l2: Selective stream restart
2020-07-07 21:02:44 -07:00
Jim
d0d7c439cc
Merge pull request #2965 from WizardCM/windows-help-flag
UI: Show help text for launch parameters on Windows
2020-07-07 21:00:34 -07:00
Matt Gajownik
bc472eab95 UI: Show help text for launch parameters on Windows 2020-07-07 20:04:42 -07:00
Jim
d027c41165
Merge pull request #2954 from cg2121/property-list-reorder
UI: Allow drag & drop reorder of property lists
2020-07-07 19:30:33 -07:00
Jim
880d42b56e
Merge pull request #2940 from pkviet/log2
UI: Log monitoring type for global audio devices
2020-07-07 09:37:34 -07:00
Jim
50ff29e533
Merge pull request #3087 from obsproject/virtualcam
Add Windows Virtual Camera
2020-07-07 07:46:57 -07:00
jp9000
a72a52fa38 UI: Add virtual camera to UI
Adds a virtual camera button to the main user interface.  If virtual
camera is not installed, it will not add the button.  On Windows, it
detects whether the virtual camera filters are properly registered, and
will only add the button if the virtual camera filter is confirmed
registered.

Also adds a virtual camera option to the auto-configuration wizard,
which will just simply set the user's resolution/scale to 1920x1080 at
30 FPS.
2020-07-07 06:09:59 -07:00
jp9000
6377fe3177 win-dshow: Add Virtual Camera (Windows)
The virtual camera adds the ability to use the output of OBS itself as a
camera that can be selected within other Windows applications.  This is
very loosely based upon the catxfish virtual camera plugin design.

There is a shared memory queue, but instead of having 10-20 frames in
the queue, there are now only 3 frames in the queue to minimize latency
and reduce memory usage.  The third frame is mostly to ensure that
writing does not occur on the same frame being read; the delay is merely
one frame at all times.

The frames of the shared memory queue are NV12 instead of YUYV, which
reduces the memory and data copied, as well as eliminate unnecessary
conversion from NV12.  Some programs (such as chrome, which uses webrtc
to capture) do not support NV12 however, so an I420 conversion is
provided, which is far less expensive than YUYV.  The CPU cost of NV12
-> I420 is negligible in comparison.

The virtual camera filter itself is based upon the output filter within
the libdshowcapture library, which was originally implemented for other
purposes.  This is more ideal than the Microsoft example code because
for one, it's far less convoluted, two, allows us to be able to
customize the filter to our needs a bit more easily, and three, has much
better RAII.  The Microsoft CBaseFilter/etc code comprised of about 30
source files, where as the output filter comprises of two or three
required source files which we already had, so it's a huge win to
compile time.

Scaling is avoided whenever possible to minimize CPU usage.  When the
virtual camera is activated in OBS, the width, height, and frame
interval are saved, that way if the filter is activated, it will always
remember the last OBS resolution/interval that the virtual camera was
activated with, even if OBS is not active.  If for some reason the
filter activates before OBS starts up, and OBS starts up with a
different resolution, it will use simple point scaling intermittently,
and then will remember the new scaling in the future.  The scaler could
use some optimization.  FFmpeg was not opted for because the FFmpeg DLLs
would have to be provided for both architectures, which would be about
30 megabytes in total, and would make writing the plugin much more
painful.  Thus a simple point scaling algorithm is used, and scaling is
avoided whenever possible.

(If another willing participant wants to have a go at improving the
scaling then go for it.  But otherwise, it avoids scaling whenever
possible anyway, so it's not a huge deal)
2020-07-07 06:09:59 -07:00
Jim
79fff2e13b
Merge pull request #2927 from tt2468/add-tbar-control
UI: Add TBar controls to obs-frontend-api
2020-07-06 18:24:44 -07:00
tt2468
a03189bb68 UI: Add TBar controls to obs-frontend-api
Adds `obs_frontend_set_tbar_position` and `obs_frontend_release_tbar`,
which allow plugins and scripts to control the tbar in OBS.
This specific change is required for the `SetTBarPosition`
request to be added to obs-websocket.
2020-07-06 17:48:30 -07:00
Jim
39c3b3d687
Merge pull request #2916 from Bennik2000/esc-to-close-settings
UI: Allow the use of Esc key to quit settings window
2020-07-06 17:47:51 -07:00
Jim
19743e19d2
Merge pull request #2917 from cg2121/script-select
frontend-tools: Automatically select scripts
2020-07-06 17:30:53 -07:00
Bennik2000
f2f336229d UI: Allow the use of Esc key to quit settings window 2020-07-06 17:24:21 -07:00
Jim
6fcb57daa7
Merge pull request #2915 from Bennik2000/stats-dock-steals-focus
UI: Fix bug where stats dock steals focus of main windows
2020-07-06 14:01:38 -07:00
Jim
c21fd6f275
Merge pull request #2907 from cg2121/script-defaults
frontend-tools: Add defaults button to script dialog
2020-07-05 19:37:48 -07:00
Clayton Groeneveld
bb082e0a9d frontend-tools: Add defaults button to script dialog 2020-07-05 18:58:03 -07:00
Jim
feecdbb0a0
Merge pull request #2884 from cg2121/rename-strings
UI: Change audio device string in settings
2020-07-05 10:04:05 -07:00
Jim
43bb2cc380
Merge pull request #2876 from Yohox/feature-ffmpeg-source-reconnect
obs-ffmpeg: Add auto reconnect to remote media sources
2020-07-05 09:55:28 -07:00
yoho
0a4b1d622c obs-ffmpeg: Add auto reconnect to remote media sources
(Note: This commit also modifies deps/media-playback)

Co-authored-by: Eric Lindvall <eric@5stops.com>
Co-authored-by: Ryan Foster <RytoEX@gmail.com>
Co-authored-by: Jim <obs.jim@gmail.com>
2020-07-05 08:31:05 -07:00
Jim
0fff23d8e1
Merge pull request #2774 from DDRBoxman/libobstests
libobs: Add sample unit tests leveraging cmocka
2020-06-29 15:43:23 -07:00
jp9000
002886bbac obs-ffmpeg, UI: Allow slash in recording names
Automatically generate directories if slashes are present in a recording
name format set in advanced settings or in the replay buffer
prefix/suffix settings.

Fixes obsproject/obs-studio#2416
Closes obsproject/obs-studio#2858
2020-06-27 05:21:14 -07:00
Jim
bb890a674e
Merge pull request #2821 from Bennik2000/always_on_top_projectors
UI: Add always on top checkbox to projector context menu
2020-06-26 06:14:25 -07:00
Jim
3b11e170b7
Merge pull request #2836 from jpark37/yuv-image-fix
Fix FFmpeg YUV to RGB conversion by adding extra destination padding to line sizes
2020-06-26 06:13:45 -07:00
Bennik2000
d8c215df0e UI: Add always on top checkbox to projector context menu
This checkbox overrides the global always on top setting
2020-06-26 05:59:17 -07:00
Jim
4929de408d
Merge pull request #2795 from Codex-/obs_text_antialias_option
obs-text, text-freetype2: Add Enable Antialiasing option
2020-06-26 04:06:26 -07:00
Jim
f40abba2d4
Merge pull request #2790 from hosaka-corp/crop-xshm-capture
linux-capture: Add support for cropping the input source
2020-06-26 01:41:48 -07:00
Jim
8e28c89a93
Merge pull request #2786 from pkubaj/patch-1
Add CFLAGS necessary on PPC64(LE) to libobs.pc
2020-06-26 01:39:45 -07:00
Colin Edwards
35088e0d9e libobs: Add sample unit tests leveraging cmocka 2020-06-25 15:21:58 -07:00
Joel Bethke
381960a7bc
Merge pull request #3100 from PatTheMav/macos-azure-pipelines-fix
CI: Quick fix to cover pre-installed Homebrew dependencies for macOS
2020-06-24 18:13:01 -05:00
PatTheMav
e9bc9e6995
CI: Quick fix to cover pre-installed Homebrew dependencies for macOS 2020-06-25 00:42:21 +02:00
Jim
803df3a40a
Merge pull request #2744 from cg2121/auto-config-dialogs
UI: Remove first run auto-config prompts
2020-06-24 14:47:35 -07:00
Jim
76c42215d6
Merge pull request #2755 from exeldro/keep_filters
libobs: Don't check filter compatibility on not loaded sources
2020-06-24 14:13:48 -07:00
Jim
f055847854
Merge pull request #2721 from cg2121/unknown-device-label
UI: Highlight unknown audio device label in settings
2020-06-24 14:03:02 -07:00
Jim
f75e26a578
Merge pull request #2699 from whoishina/master
rtmp-services: Add weabook.live
2020-06-24 13:35:09 -07:00
Jim
8b2b09bec3
Merge pull request #2690 from Scrxtchy/window-projector-size
UI: Add "Fit window to content" to windowed projectors
2020-06-24 13:34:59 -07:00
Jim
baa6b04077
Merge pull request #2701 from exeldro/sort_audio
UI: sort audio sources by name locale aware
2020-06-24 13:33:11 -07:00