Commit Graph

2527 Commits (2ba2df6e59463d8a819a3f840d3056fad9e53a6b)

Author SHA1 Message Date
Jim 2ba2df6e59
Merge pull request #3167 from WizardCM/duplicator-log
win-capture: Log duplicator display when updating properties
2020-07-15 06:59:51 -07:00
Matthew 62c776db05 rtmp-services: Update Uscreen service
rtmp-services: Update Uscreen service

rtmp-services: Update Uscreen service
2020-07-14 11:38:14 -06:00
Matt Gajownik 0e07e034a0 win-capture: Log duplicator display when updating properties 2020-07-14 22:40:15 +10:00
Juliane Holzt 19890b25ee
linux-v4l2: Fix case of variables to snake_case
This commit fixes the case of two recently added attributes of the
v4l2_data struct (in PR #2978). The new attributes were named
"frameRateUnchanged" and "resolutionUnchanged", i.e. using CamelCase
while all other attributes use snake_case. This change changes the
name of the two attributes to snake_case.
2020-07-13 21:20:49 +02:00
Jim f094369c1d
Merge pull request #3158 from exeldro/obs-ffmpeg_fix
obs-ffmpeg: Fix play pause crash
2020-07-12 16:02:00 -07:00
fengyifan 4ffe5859a1 obs-outputs: Use FLV codec IDs for videocodecid/audiocodecid
Fixes the codec IDs in onMetaData to be compliant with FLV spec.  Using
string representation of these values is non-standard
2020-07-12 14:00:56 -07:00
Exeldro 663605f650 obs-ffmpeg: Fix play pause crash 2020-07-12 20:11:47 +02:00
Jim baf55054e6
Merge pull request #3122 from Don-Stive/master
Add "Taryana - Apachat" streaming service.
2020-07-10 20:44:00 -07:00
Jim 5728df6cef
Merge pull request #3149 from jpark37/vulkan-32bit
win-capture Fix 32-bit Vulkan capture
2020-07-10 20:39:13 -07:00
iRonBot 893d55a694 rtmp-services: Add "Taryana - Apachat" streaming service 2020-07-10 20:22:14 -07:00
Jim 97ecf23df0
Merge pull request #3121 from jpark37/chrome-window-priority
win-capture: Don't use Chrome classes for priority
2020-07-10 20:20:26 -07:00
Jim 6c37f6faea
Merge pull request #3113 from jpark37/vulkan-swap-decouple
win-capture: Decouple swap and frame indices
2020-07-10 20:15:38 -07:00
Jim e055a1ffd8
Merge pull request #3108 from pkviet/macdevice
mac-capture: Add several virtual audio drivers to Desktop audio
2020-07-10 19:20:49 -07:00
Jim 04348871cc
Merge pull request #3078 from eric/librtmp-connect-errors
obs-outputs: Handle NetStream.Publish.BadName from rtmp server
2020-07-10 17:21:48 -07:00
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
jpark37 7772a56a97 win-capture: Fix 32-bit Vulkan capture
Vulkan loader needs pure name, which needs manual fix-up on 32-bit.
2020-07-09 22:10:34 -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
cmlin2 477199ef2c obs-qsv11: Set preference for encode to iGPU in case of i+i 2020-07-08 12:03:22 -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
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
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
jpark37 4ec9081f3a win-capture: Don't use Chrome classes for priority
Avoids accidental fallback to Discord for example.
2020-07-03 00:12:21 -07:00
jpark37 3ac17d11c4 win-capture: Decouple swap and frame indices
The swap image index may not be a rotating value, so manage a separate
index to avoid reusing frame data early and stalling.
2020-06-30 08:22:34 -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 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
pkviet 77fa8aef0e mac-capture: Add several virtual audio drivers to Desktop audio
This allows the following virtual audio devices to be listed as Desktop Audio devices:
- loopback;
- iShowU;
- BlackHole.
2020-06-26 08:46:19 +02:00
weabook 740b551c01 rtmp-services: Add weabook.live 2020-06-24 13:09:26 -07:00
Farzad Karkhani 4386dcee33 rtmp-services: Update Lahzenegar RTMP 2020-06-23 14:43:25 +04:30
jpark37 6393399758 win-capture: Remove game capture scaling
The performance save is not worth accidental usage support.

Also remove unnecessary copies from the shmem paths.
2020-06-22 15:07:07 -07:00
Jim 0f27cf4983
Merge pull request #3089 from derrod/purge-services
rtmp-services: Remove offline servers/services
2020-06-21 18:03:34 -07:00
derrod 591cab8339 rtmp-services: Remove offline servers/services
* cybergame.tv - Servers and website gone (defunct)
* castr AU - DNS resolution fails
* stream.live - Defunct by the looks of it (dns fail, website broken)
2020-06-21 20:23:19 +02:00
Jim 088a72129a
Merge pull request #3061 from jpark37/vulkan-best-practices
win-capture: Reset command pool rather than buffer
2020-06-21 11:21:33 -07:00
Jim 76ea0336ad
Merge pull request #2882 from RytoEX/log-window-capture-method
win-capture: Log window capture method
2020-06-21 07:00:36 -07:00
jpark37 cdd912b162 win-capture: Reset command pool rather than buffer
Reorganize data to avoid best practices layer warning. Sort of a false
positive in our case because we only have one buffer per pool now, but
implicit layers should be clean citizens.
2020-06-21 06:47:22 -07:00
chirenonsteem c3d7ca0399 rtmp-services: Add VIMM
VIMM is a decentralized video platform for gamers and independent
creators.

Closes obsproject/obs-studio#2962
2020-06-21 06:25:52 -07:00
Jim 62491cace3
Merge pull request #3042 from matoi974/patch-1
image-source: change color source default color to d1d1d1
2020-06-21 06:09:18 -07:00
Jim d16bc7ebee
Merge pull request #3034 from karenkim-AfreecaTV/patch-1
rtmp-services: AfreecaTV Update
2020-06-21 05:59:15 -07:00
Jim d072798fbd
Merge pull request #3037 from khng300/oss-audio-locale
oss-audio: Add en-US translation data file
2020-06-21 05:49:38 -07:00
matoi974 57a1bab187 color-source: Change default color to d1d1d1
The default color can trigger photosensitivity in users suffering from
it; the new color should reduce or avoid the trigger.
2020-06-21 05:48:22 -07:00
karenkim-AfreecaTV e958e89f14 rtmp-services: Update AfreecaTV 2020-06-21 05:37:26 -07:00
tlivegaming 1a4d132de7 rtmp-services: Update Madcat service
Closes obsproject/obs-studio#3005
2020-06-21 05:25:57 -07:00
Jim 9c107738f6
Merge pull request #3015 from jpark37/vulkan-external-fixes
win-capture: Improve Vulkan synchronization
2020-06-21 05:02:20 -07:00
Jim 9938e6f23f
Merge pull request #3049 from jpark37/old-vkresult
win-capture: Remove dead VkResult values
2020-06-21 04:54:16 -07:00
jbpratt78 cc66198164 rtmp-services: add angelthump 2020-06-20 16:42:13 -05:00
Eric Lindvall 1939472912 obs-outputs: Log unhandled rtmp status responses
rtmp status responses that are not handled are currently silently ignored
making it difficult to identify issues.
2020-06-18 18:00:45 -07:00
Eric Lindvall 6a880530f1 obs-outputs: Handle rtmp NetStream.Publish.BadName response
Adobe Media Server and nginx-rtmp can return this status response to a
publisher if the key is already being used to publish.
2020-06-18 18:00:45 -07:00