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

1581 Commits

Author SHA1 Message Date
Ryan Foster
79c0f0105c linux-capture: Log window capture's target
Closes jp9000/obs-studio#983
2017-11-26 18:01:28 -08:00
Ryan Foster
d6f6af3c54 mac-capture: Log window capture's target
Closes jp9000/obs-studio#983
2017-11-26 18:01:22 -08:00
Ryan Foster
1db301f907 win-capture: Log window capture's target
Closes jp9000/obs-studio#983
2017-11-26 18:00:51 -08:00
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
Ryan Foster
54ecfc8fe7 cmake: Add CMake option to disable building plugins
Closes jp9000/obs-studio#1070
2017-11-26 03:16:22 -08:00
Alcaros
d33b36e460 rtmp-services: Add MyLive streaming platform
[MyLive](https://mylive.in.th) is a streaming platform in Thailand.
Website founded in 2013 and company established in 2017.

Closes jp9000/obs-studio#1073
2017-11-26 00:54:44 -08:00
Fazrad Karkhani
f1dd048714 rtmp-services: Add Lahzenegar.com streaming platform
Closes jp9000/obs-studio#1063
2017-11-25 20:28:00 -08:00
Jim
9546a9b784
Merge pull request #1065 from damongant/master
rtmp-services: Add us-west1 Picarto ingress
2017-11-25 18:10:03 -08:00
Jim
b744d55530
Merge pull request #1069 from alexandrevicenzi/evtservice
rtmp-services: Add Eventials streaming platform
2017-11-25 17:56:52 -08:00
jp9000
fc61e6ed69 win-wasapi: Fix timestamp calculation
When device timing is used, it shouldn't be modifying the timestamp.
Fixes an issue where certain devices with large audio segments would
seem a bit out of sync.
2017-11-24 23:56:55 -08:00
jp9000
edf34fdf25 obs-ffmpeg: Log bad muxer settings with FFmpeg output 2017-11-24 21:18:57 -08:00
jp9000
ee63fc69ac obs-ffmpeg: Use muxer settings with AVIOContext
In the FFmpeg output, it was not passing the muxer settings to the
AVIOContext, so some settings would not be properly passed to protocols.
2017-11-24 21:18:52 -08:00
jp9000
f0a2ef49cf obs-vst: Update to latest plugin version
Closes jp9000/obs-studio#1035
2017-11-23 18:08:25 -08:00
Jim
6778be17d9
Merge pull request #1033 from Sophira/alsa-custom-fix
linux-alsa: Display the "Custom" entry once only
2017-11-23 00:36:56 -08:00
pkviet
d670d7badb libobs: Fix FFmpeg constants
(This commit also modifies the deps/media-playback, obs-ffmpeg, and
win-dshow modules)

More fixes due to ffmpeg renaming some constants and deprecating
AVFMT_RAWPICTURE and AV_PIX_FMT_VDA_VLD.
Latter replaced by AV_PIX_FMT_VIDEOTOOLBOX per ffmpeg dev advice.

Closes jp9000/obs-studio#1061
2017-11-16 21:38:37 -08:00
Bazhenoff
b9d044267d graphics-hook: blacklist OpenGL capture for "cm_client.exe"
Closes jp9000/obs-studio#1076
2017-11-16 17:57:11 -08:00
Alexandre Vicenzi
d926492ec2 rtmp-services: Add Eventials streaming platform 2017-11-07 11:57:11 -02:00
Alexander Schittler
1a20e40d53 rtmp-services: Add us-west1 Picarto ingress 2017-11-03 10:49:03 +01:00
Alexandre Vicenzi
b1ada2f975 linux-pulseaudio: Get correct default device
Closes jp9000/obs-studio#1030
2017-10-30 02:12:03 -07:00
Richard Stanway
95f20c84ba obs-ffmpeg: Use new ffmpeg constants 2017-10-26 19:17:53 +02:00
jeremiah
5d12c5a328 rtmp-services: Add stream.me streaming platform
Closes jp9000/obs-studio#1056
2017-10-25 11:39:42 -07:00
Alexander Schittler
966480e6e9 rtmp-services: Add Picarto eu-west1 ingress server
Closes jp9000/obs-studio#1054
2017-10-25 11:33:45 -07:00
Xaymar
331d7d8bbb enc-amf: Version 2.2.4
Updates the plugin to work better with the AMF Runtime version 1.4.6.0, which removed some experimental properties.
2017-10-23 01:08:03 +02:00
jp9000
7bd06e7f26 Update translations from Crowdin 2017-10-17 05:39:22 -07:00
jp9000
48a5f0e51a rtmp-services: Don't show "service not found" if name empty
Fixes an issue where the log could have "Could not find service" with an
empty service name when opening properties.
2017-10-15 05:26:11 -07:00
jp9000
5cfefce55e obs-outputs: Only set stop events if still active
The new code in 3032535f56 would signal that the output has stopped to
the back-end and front-end, but the event used in the outputs themselves
to shut down the send thread would still be signaled, causing the next
connection to immediately stop as soon as it had started.  This fixes it
so that the event does not get signaled unless the thread is active.
2017-10-12 09:56:47 -07:00
jp9000
3032535f56 obs-outputs: Signal stop if stop called when not active
Fixes a bug with reconnecting where the reconnecting would get stuck in
the "stopping" state.
2017-10-12 08:20:50 -07:00
jp9000
4330021617 decklink: Use unbuffered by default, and decouple
Use unbuffered async mode by default, and when in unbuffered mode,
decouple audio/video so that audio plays as soon as it's received.

This is a workaround for decklink device drivers having unreliable
video/audio timestamps (audio/video sync drifting over time).  From
testing, it seems that the handling of video and audio is completely
separate in the driver; along with the timestamp calculations.  For
example, when the thread of the decklink audio callback is stalled, it
would cause the timestamps of the audio alone to go out of sync, which
indicates timestamps are calculated more or less on the spot independent
of what video is doing (which is how we replicated the issue fixed by
b63e4b055e).  Because decklink drivers treats the audio and video as
essentially decoupled, we must also treat it as decoupled.  This is what
was causing video/audio to drift out of sync over time.
2017-10-10 07:04:21 -07:00
jp9000
d768717b8c rtmp-services: Only update Twitch ingests when necessary
(This commit also modifies UI)

Instead of pinging Twitch every time the program starts up, only pings
for new servers when the ingests are actually being used, and when the
UI uses the auto-configuration dialog.

If ingests have not been cached when using the "Auto" server, it will
wait for 3 seconds max to query the Twitch ingest API.  If it takes
longer than 3 seconds or fails, it will defer to SF.  If ingests were
already cached, then it will use the existing cache immediately.
2017-10-09 10:10:59 -07:00
jp9000
a0e8c7a5c1 win-dshow: Fix video playback when default format is MJPEG
Video playback doesn't work if the default format is MJPEG and there are
other formats to use; this is because the useDefaultConfig variable is
still set to true, which overrides the format value that would normally
tell it to convert to RGB.
2017-10-04 15:58:06 -07:00
jp9000
9321b822bf vlc-video: Fix shuffle not being quite that random
This changes it so that the chooses indices at random from an index list
until the index list is exhausted.
2017-10-03 18:48:57 -07:00
jp9000
e5d660e944 graphics-hook: Blacklist specific game from GL capture
"Life is Feudal: Your Own" will use Direct3D to render the game, then
OpenGL to render its in-game menus, which causes a conflict with itself.
This specifically blacklists the game from capturing OpenGL to prevent
that from happening.
2017-10-02 15:29:04 -07:00
jp9000
c914c1c23b vlc-video: Set properties to defer update mode
Makes it so that the settings do not update every time the user touches
a property of the source, but instead update when the user is finished.
2017-10-02 07:36:02 -07:00
jp9000
5b20942247 win-wasapi: Subtract frame duration from timestamp
It would appear that the timestamp values returned by devices are not
perfectly accurate, and in some cases may be calculated on the spot --
to combat that, it's best to subtract the audio segment's duration from
the current audio segment's timestamp to ensure the timing is as
accurate as possible.
2017-10-02 07:36:02 -07:00
jp9000
008e38f5b6 win-capture: Remove buffering from window capture
Removes the unnecessary buffering from window capture to prevent window
capture from being one frame out of sync
2017-10-02 07:36:02 -07:00
jp9000
54e80661b6 obs-outputs: Fix up the internal FLV output
Fixes up the FLV output to ensure it functions properly.
2017-10-02 07:36:02 -07:00
jp9000
8d424cf1c7 obs-outputs: Fix FLV muxing bug
The end of an FLV tag would contain the size of the tag, but the code
was erroneously including the end size value in addition, which it's not
supposed to do normally.
2017-10-02 07:36:02 -07:00
jp9000
4a5ac39749 libobs: Fix starting video packet offset in outputs
(This commit also modifies the obs-outputs module)

The first video packet video offset (the value used to set the starting
point of video data) would be set to the DTS value of the first video
packet.  However, when b-frames are used, the first DTS value will be
negative.  This was originally done because FLV muxing requires that the
first packet's DTS start from 0.  Unfortunately, this would also
effectively cause the first packet's PTS/DTS value to be shifted forward
by the negative amount, which would cause video sync to be off by a
video frame or two.

This fixes it to start at the PTS value instead and preserve any
negative offsets.  Additionally, the FLV muxing code has been fixed to
ensure that it adjusts the starting video DTS to 0, and now correctly
adjusts the first audio packet's timestamp according to that DTS as well
(which it didn't do before).
2017-10-02 07:36:02 -07:00
Sophie Hamilton
3feea66d16 linux-alsa: Display the "Custom" entry once only
The "Custom" device entry was added inside the loop that runs for each
device; this causes "Custom" to be added once for each device detected,
or not at all if no device was detected. Moving this outside the loop
(as would appear to have been the original intent, judging by the
indentation) fixes this by adding the entry only after all devices have
been processed.
2017-09-26 13:12:57 +01:00
jp9000
c9182a9878 obs-ffmpeg: Fix potential seek issues with media source
(This commit also modifies deps/media-playback)

Before, the media-playback library would detect whether something was
seekable by checking the filename for "://", which is unideal because
there are other cases where targets may not be seekable.  So instead, an
explicit "seekable" property (off by default) is now in place in the
media source when not in "local file" mode.  Seeking will only be
enabled if local file mode is on, or if "seekable" is explicitly checked
by the user.

Closes jp9000/obs-studio#1022
2017-09-17 05:55:56 -07:00
jp9000
2386bd6556 obs-transitions: Fix integer conversion warning 2017-09-16 13:59:53 -07:00
Makeenon
006fc35a2d obs-transition: Add crossfade option to stinger
Add option in properties that let you choose how audio is mixed during
transition:
- Fade Out/Fade In (existing behavior, default)
- Crossfade

Closes jp9000/obs-studio#1028
2017-09-16 13:59:49 -07:00
Michel
dab278e1b6 obs-transitions: Add audio monitoring to stinger
Closes jp9000/obs-studio#1001
2017-09-16 12:35:17 -07:00
chinasarft
1ef4de7ce3 obs-ffmpeg: Don't mark to destroy media unless valid
Closes jp9000/obs-studio#1021
2017-09-15 05:51:52 -07:00
Jim
dde03af95e Merge pull request #987 from seirl/master
Add fix to watch for VisibilityNotify events.
2017-09-12 05:30:36 -07:00
Christoph Hohmann
5813a4bfbf linux-pulseaudio: Use actual sink device names
Uses the sink device names rather than the "Monitor of" names.

Closes jp9000/obs-studio#990
2017-09-12 04:01:06 -07:00
pkuznetsov
03659d8706 rtmp-services: Add looch.tv streaming platform 2017-09-11 16:43:39 +03:00
Andrew Surzhynskyi
c830f919d7 rtmp-services: Update ingest list for Restream.io 2017-09-11 13:29:26 +03:00
Jim
e8f66d6c18 Merge pull request #998 from ErunamoJAZZ/master
rtmp-services: Fix misspelled country name
2017-09-11 02:47:52 -07:00
cg2121
be77b13e58 vlc-source: Add media control hotkeys
This adds play/pause, restart, stop, next, and previous hotkeys to the
VLC source.

Closes jp9000/obs-studio#972
2017-09-11 01:13:59 -07:00