1. 09 7月, 2020 6 次提交
  2. 08 7月, 2020 8 次提交
  3. 07 7月, 2020 9 次提交
    • J
      Merge pull request #3087 from obsproject/virtualcam · 50ff29e5
      Jim 提交于
      Add Windows Virtual Camera
      50ff29e5
    • J
      UI: Add virtual camera to UI · a72a52fa
      jp9000 提交于
      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.
      a72a52fa
    • J
      win-dshow: Add Virtual Camera (Windows) · 6377fe31
      jp9000 提交于
      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)
      6377fe31
    • J
      Merge pull request #2927 from tt2468/add-tbar-control · 79fff2e1
      Jim 提交于
      UI: Add TBar controls to obs-frontend-api
      79fff2e1
    • T
      UI: Add TBar controls to obs-frontend-api · a03189bb
      tt2468 提交于
      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.
      a03189bb
    • J
      Merge pull request #2916 from Bennik2000/esc-to-close-settings · 39c3b3d6
      Jim 提交于
      UI: Allow the use of Esc key to quit settings window
      39c3b3d6
    • J
      Merge pull request #2917 from cg2121/script-select · 19743e19
      Jim 提交于
      frontend-tools: Automatically select scripts
      19743e19
    • B
      UI: Allow the use of Esc key to quit settings window · f2f33622
      Bennik2000 提交于
      f2f33622
    • J
      Merge pull request #2915 from Bennik2000/stats-dock-steals-focus · 6fcb57da
      Jim 提交于
      UI: Fix bug where stats dock steals focus of main windows
      6fcb57da
  4. 06 7月, 2020 4 次提交
  5. 05 7月, 2020 1 次提交
  6. 30 6月, 2020 1 次提交
  7. 27 6月, 2020 1 次提交
    • J
      obs-ffmpeg, UI: Allow slash in recording names · 002886bb
      jp9000 提交于
      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
      002886bb
  8. 26 6月, 2020 7 次提交
  9. 25 6月, 2020 3 次提交