Commit Graph

4887 Commits (91c292d394d46856d5ab56fafec3e8650d524091)

Author SHA1 Message Date
Richard Stanway 91c292d394
UI: Show error if empty recording path specified
Same as 937ec4d but for advanced output.
2017-08-07 00:40:20 +02:00
Richard Stanway 0c0ffb341c
UI: Report more detailed output errors if available 2017-08-07 00:32:52 +02:00
Richard Stanway ca5f123030
obs-ffmpeg: Improved output error handling
Checks the output path is writable and checks for failure to start the
ffmpeg-mux subprocess.
2017-08-07 00:32:49 +02:00
Richard Stanway f9565febdf
libobs: Export obs_output_get_last_error 2017-08-07 00:32:46 +02:00
Richard Stanway 937ec4d552
UI: Show error if empty recording path specified 2017-08-06 23:59:03 +02:00
SuslikV 77ddce3f9a UI: Fix stats window geometry saving on shutdown
Possible fix for: https://obsproject.com/mantis/view.php?id=923

If you close whole application (not just stats window) it skips the
close event and thus saving of the geometry.  The Qt::WA_DeleteOnClose
was set earlier.

Closes jp9000/obs-studio#984
2017-08-06 05:41:58 -07:00
Jim abc9b94621 Merge pull request #979 from Fenrirthviti/settings-window-fix
UI: Fix settings window minimum width/height
2017-08-06 05:34:26 -07:00
Jim 5f3cd5f5ef Merge pull request #977 from RytoEX/update-autoconfig-beam-to-mixer
UI: Update service names in autoconfig wizard
2017-08-06 05:30:43 -07:00
jp9000 da3e1d974e rtmp-services: Update Switchboard ingests 2017-08-05 21:28:07 -07:00
jp9000 a2d7aa3563 vlc-video: Don't allow VLC sources to be cloned 2017-08-05 21:24:39 -07:00
jp9000 7ec07cf82d obs-x264: Remove VFR mode as an advanced option
VFR encoding mode was originally added experimentally, but in truth,
it's nothing but a detriment because it can cause wild bitrate
fluctuations.  It's still a constant framerate even when VFR mode is on
anyway.
2017-08-05 21:22:51 -07:00
jp9000 10d6c347cc UI: Move adv. audio props. to each audio config button
Instead of having an extra config button that essentially wastes
valuable window space, allow the ability to open advanced audio
properties from each audio meter config button.
2017-08-05 21:20:08 -07:00
cg2121 7549b3a092 image-source: Add "manual (hotkey)" mode to image slideshow
Allows traversing/stopping the slideshow via hotkeys.

Split from jp9000/obs-studio#976
2017-08-04 21:16:44 -07:00
cg2121 1666abe8e6 image-source: Add activate/deactivate behavior to slideshow
When the slideshow is deactivated (not shown to the stream), makes it so
that it can either continue playing regardless, pause, or restart the
slideshow when the source is activated (shown to the stream) again.

Split from jp9000/obs-studio#976
2017-08-04 21:15:23 -07:00
cg2121 7b8a56b933 image-source: Add 'loop' and 'hide on stop' to slideshow
Allows the ability to make it so that a slideshow can stop when all
items have been shown.

Split from jp9000/obs-studio#976
2017-08-04 21:12:07 -07:00
jp9000 a9e9246bde libobs: Add ability to transition to NULL source 2017-08-04 20:33:57 -07:00
Michael Fabian Dirks eecf366f80 enc-amf: Update to 2.2.1
With the newly released Driver 17.7.2, AMD fixed many reported issues and added some much wanted features:

- Pre-Pass and VBAQ are finally working,
- H265/HEVC content can distinguish between IDR- and I- Frames
- and also supports Color Range and Color Space now,
- and the 32-bit only text log crash was fixed.

And now it's time for the plugin to also be updated! This release primarily aims at adding support for AMF 1.4.4 and improving support for older drivers, with some of the recently discovered bugs and crashes fixed.

Hotfix 1: Fixed VBAQ and Pre-Pass being used with Constant QP, causing significant corruption issues and changed some default values for H265.

## Changelog
### 2.2.1
* Fixed a frame corruption bug with Constant QP caused by toggling VBAQ and Pre-Pass after it had already been applied.
* Changed the default value of 'Enforce HRD' to 'Enabled' for H265/HEVC encoding.
* Changed the default value of 'Deblocking Filter' to 'Disabled' for H265/HEVC encoding to fix corruption in strict decoders. (Premiere Pro, After Effects, Vegas, VLC (Software))

### 2.2.0
* Added support for AMF 1.4.4 and improved support for older drivers like 16.11.5 and 16.12.1.
* Fixed a memory corruption crash due to misuse of managed DirectX 11 objects.
* Fixed a frame corruption bug caused by applying 'VBAQ' and 'Pre-Pass' when using 'Constant QP' Rate Control Method.
* Fixed a string comparison bug causing Simple Output Mode to always use the Profile 'Constrained Baseline'
* Fixed a crash when enabling 'Debug' on 32-bit OBS caused by different type sizes.
* Fixed a crash with H265/HEVC caused by use of the undocumented Intra-Refresh properties.
* Changed the default value for 'Profile' to 'High'.
* Changed the default value for 'VBAQ' to 'Disabled' for improved performance.
* Changed the default value for 'Queue Size' to 8 for improved stability in spontaneous load situations.
* Changed the log crash work around to only apply to older AMF versions than 1.4.4.
* Removed unnecessary configuration changes.
* Removed unsupported Pre-Pass options 'Half Size' and 'Quarter Size'.
2017-08-04 20:00:51 -07:00
Ryan Foster 670dfdad2b UI: Update Hitbox to Smashcast in autoconfig wizard 2017-08-03 08:46:31 -04:00
Jim b78f3a31e9 Merge pull request #986 from RytoEX/fix-del-hotkey
UI: Fix Delete key not working on scenes/sources
2017-08-03 05:39:40 -07:00
jp9000 f4a1ee3658 deps/media-playback: Add concat playback support
Allows using a makeshift playlist file with media playback.
2017-08-03 02:07:58 -07:00
Ryan Foster c21d83c2f3 UI: Fix Delete key not working on scenes/sources
This commit fixes two regressions introduced by the modular UI (commit
25bb8a444f):

 - the Delete key no longer works in the scene list
 - the Delete key no longer works working in the source list

This commit also enables the Delete key on sources that were selected by
clicking on them in the preview, which addresses Mantis Bug 576
(https://obsproject.com/mantis/view.php?id=576).
2017-08-03 03:55:27 -04:00
jp9000 8a5cf99aa7 UI: Test first 3 closest Twitch ingests in auto-config
If auto is available, test the first 3 closest Twitch ingests rather
than using a region-based selection.
2017-08-02 15:13:09 -07:00
jp9000 c0b8bdf89e libobs: Log output frame count instead of encoded count
Instead of logging the relative encoded count (which is susceptible to
integer overflow), log the output frame count instead.  If there's an
issue with encoding, it'll show up when all encoding stops regardless.
2017-08-02 15:13:09 -07:00
jp9000 ba33bb7745 Revert "libobs: Fix an int underflow in log_frame_info"
This reverts commit 4e3e67bb8c.

The way this is handled will erroneously report 0 frames encoded when
frames have actually been properly encoded, which is best avoided.
Additionally, and overflow would be generated for drawn frames where
none occurred before.  The encoded value should probably not even be
present in the log for the output due to the way it's handled.
2017-08-02 15:13:09 -07:00
jp9000 72d20de8e7 Revert "UI: Add support for Twitch "Auto" server in auto-config"
This reverts commit 2604db6e40.

The API to get the closest server can be down occasionally, so instead
just revert to its previous behavior.
2017-08-02 15:13:09 -07:00
jp9000 9add73f656 rtmp-services: Remove Twtich "Auto" if API down and not cached
Prevents new users from having a poor user experience if the Twitch API
for getting the closest servers is currently down.
2017-08-02 15:13:09 -07:00
Jim 02b4ea028e Merge pull request #975 from RytoEX/update-picarto
rtmp-services: Update Picarto maximum audio bitrate
2017-08-01 03:02:47 -07:00
Michael Fabian Dirks fbefa080b0 UI: Fix incorrect properties set for Hardware (AMD)
Due to an oversight in enc-amf with strcmp, the code currently causes
certain weirdness to appear.  This fixes it so it will use "High"
Profile instead of attempting to use "Constrained Baseline" and also
changes it to actually set things up for "Constant Bitrate" instead of
"Variable Bitrate (Latency Constrained)".  Finally I've added a slight
change that always makes it set the B-Frame Pattern to 0 in order to
work better with VCE2.0 and VCE3.0 cards.

Closes jp9000/obs-studio#978
2017-08-01 03:00:42 -07:00
jp9000 2604db6e40 UI: Add support for Twitch "Auto" server in auto-config
Uses the "Auto" server automatically for Twitch rather than doing a
region-based test on multiple servers.
2017-08-01 02:50:26 -07:00
jp9000 2b2956ae98 rtmp-services: Add "Auto" server option for Twitch
Automatically selects the server closest to the user based upon the
Twitch ingest API.
2017-08-01 02:50:26 -07:00
jp9000 435e251809 rtmp-services: Add Twitch ingest update API
Updates ingests via Twitch's ingest API.  The servers are ordered by
closest to farthest from the user via the API.  It's probably still good
to keep the services.json Twitch ingests updated in case there are
issues with the Twitch ingest API, but otherwise the ingests will update
from Twitch itself every time the program is opened automatically.
2017-08-01 02:50:26 -07:00
jp9000 3786a203c7 rtmp-services: Fix ingest update request user agent
The user agent for the obsproject.com ingest update request would have
the version string baked in to the plugin, so if the plugin library
wasn't updated with the rest of the project, it would return the
incorrect version.  This makes sure it returns the correct version by
requesting the version string from libobs itself.
2017-08-01 02:38:42 -07:00
jp9000 c5b26fe75c UI: Return false if audio encoder creation fails 2017-08-01 02:27:35 -07:00
jp9000 d98bda8fee UI: Remove trailing whitespace 2017-08-01 02:27:35 -07:00
Quinn Damerell 4581a8164a UI: Update Mixer (formerly Beam) in auto configuration
Closes jp9000/obs-studio#980
2017-08-01 02:27:34 -07:00
Quinn Damerell 535f4a7fcf rtmp-services: Add Mixer FTL service
Adds "Mixer FTL" service and renames the original service with RTMP
servers to "Mixer RTMP".

Closes jp9000/obs-studio#980
2017-08-01 02:27:34 -07:00
Quinn Damerell 6f8e38e0a0 obs-outputs: Add FTL output
Closes jp9000/obs-studio#980
2017-08-01 02:27:34 -07:00
jp9000 fa611dcd76 obs-ffmpeg: Add Opus audio encoder 2017-08-01 02:14:58 -07:00
jp9000 d2ffd0fdd2 obs-ffmpeg: Ensure sample rate is supported in audio encoder
Ensures that the sample rate is supported in the audio encoders, and if
not, then make it automatically resample to the closest sample rate.
2017-07-31 14:51:21 -07:00
jp9000 0089d379b0 obs-ffmpeg: Make FFmpeg audio encoder abstractable
Abstracts the FFmpeg audio encoder to allow other codecs to use the same
code, and makes the AAC encoder derived from it.
2017-07-31 14:48:20 -07:00
jp9000 58c4f0ac91 obs-ffmpeg: Rename obs-ffmpeg-aac.c file
Renames obs-ffmpeg-aac.c to obs-ffmpeg-audio-encoders.c due to the fact
that it can be abstracted for multiple audio encoders.
2017-07-31 14:29:50 -07:00
jp9000 81fa5179cd deps/file-updater: Add func to get single remote file 2017-07-31 13:56:20 -07:00
jp9000 e423492d61 libobs: Add API function to get version string
Some plugins are using the OBS_VERSION macro obs-config.h to specify the
current version, which will bake the string in to the plugin, making it
so that if the plugin is not replaced for a patch, it could potentially
have the incorrect version.  This makes it so that a plugin/frontend can
get the current version string that's baked in to libobs itself.
2017-07-31 13:52:08 -07:00
Joel Bethke 086e9cf0dc UI: Fix settings window minimum width/height
This fixes the issue presented in:

https://obsproject.com/mantis/view.php?id=885

Minimum size is changed to 700x512. I arrived at this number from testing
the minimum sizes that I felt the settings UI was still perfectly usable
and readable. Any smaller, and things became difficult to see and adjust.
As a note, this does increase the minum width of the settings window, as
the previous minimum allowed you to cut off objects and render the window
too small to be usable.
2017-07-28 11:34:26 -05:00
jp9000 8b68ccdc13 UI: Fix build issue with older linux Qt5 packages
QMainWindow::resizeDocks isn't supported on certain long-term support
distros (ubuntu trusty in particular), so instead just restore the
starting state and don't try to recalculate the ideal positioning.
2017-07-27 22:50:25 -07:00
jp9000 25bb8a444f UI: Add modular UI
Changes the UI to an adjustable user interface, allowing the user to
fully customize how the scenes list, sources list, the mixer,
transitions, and the buttons are oriented on the main window window.
2017-07-27 12:17:18 -07:00
Richard Stanway d69652503b
UI: Add "Below Normal" priority option 2017-07-26 23:45:40 +02:00
jp9000 960958a4ca UI: Fix potential crash when outputs change
If the service settings change and the output type changes, the previous
signals would attempt to disconnect after the output has been destroyed,
and subsequently that would cause a crash.
2017-07-25 19:01:29 -07:00
Ryan Foster 29e0d5bd4f rtmp-services: Update Picarto maximum audio bitrate
Remove the limit on maximum audio bitrate for Picarto.
http://help.picarto.tv/knowledge_base/topics/how-to-configure-open-broadcaster-software
2017-07-25 01:09:51 -04:00
Jim fd3791a57d Merge pull request #971 from canbal/master
rtmp-services: Add Twitter / Periscope as a service
2017-07-21 09:08:33 -07:00