1. 27 1月, 2016 1 次提交
  2. 17 9月, 2015 1 次提交
    • K
      mac-vth264: Add Apple H264 encoder · 595f451e
      kc5nra 提交于
      Adds a VideoToolbox based H264 encoder for OSX, which most notably
      allows the use of hardware encoding (Quicksync).
      
      NOTES:
      - Hardware encoding is handled by Apple itself internally.  The plugin
        itself has little control over many details due to the way that Apple
        designed the VideoToolbox interface.  Generally however, quicksync is
        used if available on the CPU, and quicksync is almost always available
        due to the fact that macs are exclusively Intel.
      
      - The VideoToolbox does not seem to implement CBR, so it won't be
        available.  These encoders are generally not recommended for
        streaming.
      595f451e
  3. 08 7月, 2015 1 次提交
    • J
      win-mf: Add Media Foundation AAC Encoder · 3ae747dd
      John R. Bradley 提交于
      Adds Microsoft Media Foundation AAC Encoder that supports
      96k to 192k bitrates.  This plugin is only enabled on Microsoft
      Windows 8+ due to performance issues found on Windows 7.
      3ae747dd
  4. 07 6月, 2015 2 次提交
  5. 05 5月, 2015 1 次提交
  6. 26 3月, 2015 1 次提交
    • J
      obs-filters: Add async delay filter · 55534d5d
      jp9000 提交于
      Adds a filter for delaying asynchronous video/audio data, for example
      from webcams, video devices, or media playback sources.  Mainly intended
      to allow users to sync up their webcams to other devices.
      55534d5d
  7. 22 3月, 2015 3 次提交
    • S
      decklink: Add Windows DeckLink project · dd739d1e
      Skyler Lipthay 提交于
      The code specific to Windows: helps convert `BSTR` instances to
      `std::string`s; provides a Windows COM-specific implementation of
      `CreateDeckLinkDiscoveryInstance`; aliases CFUUIDGetUUIDBytes,
      CFUUIDBytes, and IUnknownUUID (the Linux SDK does this, but for some
      reason the Windows SDK does not).
      dd739d1e
    • S
      decklink: Add Linux DeckLink project · 70f8369a
      Skyler Lipthay 提交于
      The code specific to Linux helps convert `const char *` instances to
      `std::string`s.
      70f8369a
    • S
      decklink: Add Mac DeckLink project · 496031e8
      Skyler Lipthay 提交于
      The code specific to Mac OS X helps convert `CFString` instances to
      `std::string`s.
      496031e8
  8. 26 1月, 2015 1 次提交
  9. 04 10月, 2014 1 次提交
    • P
      Add mac-syphon plugin · 019a70f0
      Palana 提交于
      Allows adding Syphon servers as sources, and provides game-capture if
      used with SyphonInject (specifically the scripting additions have to be
      installed for SyphonInject to work from within OBS)
      019a70f0
  10. 30 8月, 2014 2 次提交
  11. 18 8月, 2014 1 次提交
  12. 10 7月, 2014 1 次提交
  13. 29 6月, 2014 1 次提交
    • J
      Add image source plugin · cf0b8be3
      jp9000 提交于
      A simple plugin that does nothing more than display an image file as a
      source.
      cf0b8be3
  14. 19 6月, 2014 1 次提交
  15. 30 5月, 2014 2 次提交
    • J
      Add preliminary DirectShow capture plugin · c55b1771
      jp9000 提交于
      This covers the basics of devices.  Mostly functional but not at 100%
      yet.  Uses 'libdshowcapture' library to capture directshow video/audio.
      Both libdshowcapture and the plugin still need some work.  Should at
      least capture basic webcams and capture cards for the time being.
      c55b1771
    • J
      Plugins: Remove old dshow plugin · 796ad993
      jp9000 提交于
      796ad993
  16. 23 5月, 2014 1 次提交
  17. 09 5月, 2014 1 次提交
  18. 29 4月, 2014 1 次提交
    • P
      Add basic OSX AV capture plugin · 88574a27
      Palana 提交于
      Currently only cameras using interleaved 4:2:2 YCbCr are supported, e.g.
      recent internal iSight cameras
      88574a27
  19. 20 4月, 2014 1 次提交
    • J
      Add 'common' and 'custom' RTMP services · 43057038
      jp9000 提交于
      This plugin is just a generic service plugin for basic RTMP streaming
      service stuff.
      
      This just has a 'common' service that has a list of common/simple
      streaming services that don't have their own custom service modules, and
      then a 'custom' service that allows you to enter in the stream URL and
      key manually, without a service/server list.
      
      Also, copy the jansson VS projects file (don't modify the old one) so
      that it's located in the vs/2013 directory, so that other libraries can
      properly link with it without having to enter in extra information just
      to include jansson
      43057038
  20. 02 4月, 2014 1 次提交
    • J
      Add preliminary FLV/RTMP output (incomplete) · 0cf9e0cf
      jp9000 提交于
       - obs-outputs module:  Add preliminary code to send out data, and add
         an FLV muxer.  This time we don't really need to build the packets
         ourselves, we can just use the FLV muxer and send it directly to
         RTMP_Write and it should automatically parse the entire stream for us
         without us having to do much manual code at all.  We'll see how it
         goes.
      
       - libobs:  Add AVC NAL packet parsing code
      
       - libobs/media-io:  Add quick helper functions for audio/video to get
         the width/height/fps/samplerate/etc rather than having to query the
         info structures each time.
      
       - libobs (obs-output.c):  Change 'connect' signal to 'start' and 'stop'
         signals.  'start' now specifies an error code rather than whether it
         simply failed, that way the client can actually know *why* a failure
         occurred.  Added those error codes to obs-defs.h.
      
       - libobs:  Add a few functions to duplicate/free encoder packets
      0cf9e0cf
  21. 17 3月, 2014 1 次提交
    • J
      Implement encoder interface (still preliminary) · fd37d9e9
      jp9000 提交于
       - Implement OBS encoder interface.  It was previously incomplete, but
         now is reaching some level of completion, though probably should
         still be considered preliminary.
      
         I had originally implemented it so that encoders only have a 'reset'
         function to reset their parameters, but I felt that having both a
         'start' and 'stop' function would be useful.
      
         Encoders are now assigned to a specific video/audio media output each
         rather than implicitely assigned to the main obs video/audio
         contexts.  This allows separate encoder contexts that aren't
         necessarily assigned to the main video/audio context (which is useful
         for things such as recording specific sources).  Will probably have
         to do this for regular obs outputs as well.
      
         When creating an encoder, you must now explicitely state whether that
         encoder is an audio or video encoder.
      
         Audio and video can optionally be automatically converted depending
         on what the encoder specifies.
      
         When something 'attaches' to an encoder, the first attachment starts
         the encoder, and the encoder automatically attaches to the media
         output context associated with it.  Subsequent attachments won't have
         the same effect, they will just start receiving the same encoder data
         when the next keyframe plays (along with SEI if any).  When detaching
         from the encoder, the last detachment will fully stop the encoder and
         detach the encoder from the media output context associated with the
         encoder.
      
         SEI must actually be exported separately; because new encoder
         attachments may not always be at the beginning of the stream, the
         first keyframe they get must have that SEI data in it.  If the
         encoder has SEI data, it needs only add one small function to simply
         query that SEI data, and then that data will be handled automatically
         by libobs for all subsequent encoder attachments.
      
       - Implement x264 encoder plugin, move x264 files to separate plugin to
         separate necessary dependencies.
      
       - Change video/audio frame output structures to not use const
         qualifiers to prevent issues with non-const function usage elsewhere.
         This was an issue when writing the x264 encoder, as the x264 encoder
         expects non-const frame data.
      
         Change stagesurf_map to return a non-const data type to prevent this
         as well.
      
       - Change full range parameter of video scaler to be an enum rather than
         boolean
      fd37d9e9
  22. 11 3月, 2014 1 次提交
  23. 06 3月, 2014 1 次提交
    • J
      Reimplement monitor capture · 4f7ab552
      jp9000 提交于
       - Implement windows monitor capture (code is so much cleaner than in
         OBS1).  Will implement duplication capture later
      
       - Add GDI texture support to d3d11 graphics library
      
       - Fix precision issue with sleep timing, you have to call
         timeBeginPeriod otherwise windows sleep will be totally erratic.
      4f7ab552
  24. 04 3月, 2014 1 次提交
    • J
      Add WASAPI audio capture · 34858825
      jp9000 提交于
       - Add WASAPI audio capture for windows, input and output
      
       - Check for null pointer in os_dlopen
      
       - Add exception-safe 'WinHandle' and 'CoTaskMemPtr' helper classes that
         will automatically call CloseHandle on handles and call CoTaskMemFree
         on certain types of memory returned from windows functions
      
       - Changed the wide <-> MBS/UTF8 conversion functions so that you use
         buffers (like these functions are *supposed* to behave), and changed
         the ones that allocate to a different naming scheme to be safe
      34858825
  25. 27 2月, 2014 1 次提交
    • J
      Add mac audio capture · 33dc028c
      jp9000 提交于
       - Add CoreAudio device input capture for mac audio capturing.  The code
         should cover just about everything for capturing mac input device
         audio.  Because of the way mac audio is designed, users may have no
         choice but to obtain the open source soundflower software to capture
         their mac's desktop audio.  It may be necessary for us to distribute
         it with the program as well.
      
       - Hide event backend
      
       - Use win32 events for windows
      
       - Allow timed waits for events
      
       - Fix a few warnings
      33dc028c
  26. 10 2月, 2014 1 次提交
  27. 25 1月, 2014 1 次提交