Skip to content
This repository has been archived by the owner on Mar 3, 2020. It is now read-only.

Releases: facebookarchive/360-Capture-SDK

FB Capture SDK 2.35 Release

16 Jan 20:44
3a74ce2
Compare
Choose a tag to compare

New Feature

  • Software Encoding Support
    In previous version, video encoding process could be failed by GPU issues but you will take software encoding path as fallback from this version when it's failed by GPU issues. It means you're able to record video or go live on even intel GPUs.
    (We're using OpenH264 library for software encoding and you'll be able to see their copyright on header files in the 3rdParty folder.

Fixes

  • Fixed "DX11 device lost" bug which could be happened on screenshot and video encoding

Due to LFS issue, we can't push large size file through git command. You should manually download attached 3rdParty.zip files and put them under "Source Codes\FBCaptureSDK" folder.

FB Capture SDK 2.25 Release

05 Sep 23:26
81113c0
Compare
Choose a tag to compare

Fixes

  • Fixed creating DirectX device on wrong GPU at multiple GPU environment
    • There was bug picking wrong GPU to create DirectX device at multiple GPU environment. For example, when you have Intel, AMD and nVidia GPUs at one PC and one of monitors or VR devices are connected to AMD, then there was potential issue it creates the DirectX device on nVidia. But this version will fix the problem.
  • Fixed blank screenshot output in Unity sample
    • Because of wrong Unity render texture update cycle, it used to generate blank screenshot with just black color, but this version will fix the issue.

Since we can't push large size file through git command by LFS issue, you should manually download attached zip files and put them under "Source Codes\FBCaptureSDK" folder and "Sample\Unity\Assets\Plugins\x86_64". Sorry for the inconvenience!

AMD.zip: Source Codes\FBCaptureSDK\AMD

NVidia.zip: Source Codes\FBCaptureSDK\NVidia

RTMP.zip: Source Codes\FBCaptureSDK\RTMP

Spatialmedia.zip: Source Codes\FBCaptureSDK\Spatialmedia

Wamedia.zip: Source Codes\FBCaptureSDK\Wamedia

FBCapture.dll: Samples\Unity\Assets\Plugins\x86_64

IDE: Visual Studio 2015

If you encounter any issue on building project, please feel free to ask on Issues thread.
Thanks,

FB Capture SDK 2.2 Release Note

06 Aug 18:23
Compare
Choose a tag to compare

Improves

  • Enable video encoding without any audio devices
    We were not able to get video output when no audio device is attached, but now you can get video output without any audio devices. It means you're able to get mp4 and live streaming without audio devices.

  • Clean up encoding session clearly in nVidia
    Since nVidia Encode doesn't allow to have multiple encoding sessions in driver layer, it can make conflict with other nVidia encode program if it holds encoding session. So now it cleans up encoding session clearly after encoding and capability check(for nvidia driver version check).

Fixes

  • Fixed getting wrong resolution on non-360 screenshot and video in Unity Sample
  • Fixed not getting screenshot output(sometimes w/ crash) in standalone build of Unity Sample
  • Fixed encoding corruption bug with passing null texture from Unity
  • Fixed crash bug happening on exiting app in AMD driver

Since we can't push large size file through git command by LFS issue, you should manually download attached zip files and put them under "Source Codes\FBCaptureSDK" folder and "Sample\Unity\Assets\Plugins\x86_64". Sorry for the inconvenience!

AMD.zip: Source Codes\FBCaptureSDK\AMD

NVidia.zip: Source Codes\FBCaptureSDK\NVidia

RTMP.zip: Source Codes\FBCaptureSDK\RTMP

Spatialmedia.zip: Source Codes\FBCaptureSDK\Spatialmedia

Wamedia.zip: Source Codes\FBCaptureSDK\Wamedia

FBCapture.dll: Samples\Unity\Assets\Plugins\x86_64

Build tool: Visual Studio 2015

If you encounter any issue on building project, please feel free to ask on Issues thread.
Thanks,

Capture SDK v2.01 Source Code Release

22 May 20:45
Compare
Choose a tag to compare

Hi,

About three weeks ago, we've release capture sdk 2.0 successfully. Now we're excited to release source code along with it.
Since there is issue on lfs file uploading, you should manually download attached zip files and put them under "Source Codes\FBCaptureSDK" folder. Sorry for the inconvenience!

  • Source Codes\FBCaptureSDK\AMD

  • Source Codes\FBCaptureSDK\Encoder

  • Source Codes\FBCaptureSDK\NVidia

  • Source Codes\FBCaptureSDK\RTMP

  • Source Codes\FBCaptureSDK\Spatialmedia

  • Source Codes\FBCaptureSDK\Wamedia

  • Build tool: Visual Studio 2015

If you encounter any issue on building project, please feel free to ask on Issues thread.
Thanks,

Capture SDK v2.0 Documentation!!!

04 May 21:28
Compare
Choose a tag to compare

FBCAPTURE SDK 2.0 DOCUMENTATION

Release Note

  • RGB-D Capture Support
    • We're starting to support RGB-D capture for euqirectangular videos. You will be able to see recorded RGB-D video with RGB-D video player.
  • Metadata Injection for recorded 360 video.
    • Another file named “xxxx_injected.mp4” will be generated for metadata injected video file. You can upload 360 video to FB or Youtube without any additional work.
  • More simple APIs and integration process
    • All threads for encoding and screenshot are now managed in FBCapture SDK
    • Single APIs will handle start and stop encoding
  • Webcam Capture Support with overlay
    • You're able to capture webcam and overlay it on the captured video
  • Windows 7 Support (SP1 or greater)
  • 32 Bit Support
  • Bug fixes, performance improvement and memory optimizations
    • Improved many parts of performance including async texture encoding, memory, and stability on live and vod we got on FBCapture SDK 1.0

Compatibility

  1. Hardware AND Software Compatibility
  • NVidia
    • GPU: NVIDIA Quadro, Tesla, GRID or GeForce products with Kepler, Maxwell and Pascal generation GPUs.
    • NVidia Windows display driver: 375.95 or newer
  • AMD
    • GPU: AMD GPUs supporting following driver
    • AMD Windows display driver: AMD Radeon Software Crimson 17.1.1 or later
  • OS
    • Windows 7 SP1 or Greater

Download

  1. Unity Full Sample Project Download:
    https://github.com/facebook/360-Capture-SDK/tree/master/Samples/Unity

  2. FBCapture SDK 2.0 Unity Package Download:
    https://github.com/facebook/360-Capture-SDK/blob/master/FBCaptureSDK.unitypackage

FBCAPTURE SDK 2.0 Unity Integration Guide

  1. Integration Guide

    1. DLL copy
      1. Download attached DLLs in this page and copy them into plugin folders in the Sample Project
    2. Unity package import
      1. Import FBCapture SDK Unity package into your Unity project
      2. Drag and drop FBCapture prefab into your scene
      3. That's it. Now you're ready to go for video and image capture
  2. Folder Structure

    1. Scripts
      • DisplayDepth.cs: Rendering depth texture with the ConvertDepth material
      • FBCaptureSDK:* Main script calling FBCAPTURE SDK’s APIs
    2. Shaders
      • ConvertDepth: Reading from Unity Depth texture and converting to RGB-D inverse depth
      • CubemapDisplay: Generating cubemap texture
      • CubemapToEquirect:* Generating equirect texture from cubemap texture
    3. Prefab
      • FBCapture: Capturing video and screenshot for 360, non-360 and RGB-D.
        It’s everything you need to put in the scene for capturing video and screenshot.
  3. FBCapture Prefab and Interface on Unity Inspector
    FBCapture prefab handles all encoding and screenshot sessions with “FBCapture.dll”.

    • 360 Capture Camera
      • The cameras will be used for generating cubemap, equirect and depth textures for 360 capture
    • Capture Options
    • Capture Mode: You're able to select capture mode for 360 capture and non 360 capture
    • Capture Texture Format: You're able to select texture format for RGB and RGB-D captures
    • Projection Type: You're able to select projection type for 360 (EQUIRECT, CUBEMAP) capture
    • Video Capture Type: You're able to select video capture type for VOD and Live streaming
    • Capture Hotkeys
      • Hotkeys to start or stop video encoding and screenshot
    • Live Video Settings
      • Live Video Preset
        • CUSTOM: Custom resolution and bit rate
        • 720P: 1280 x 720, 2 megabit per second
        • 1080P: 1920 x 1080, 4 megabit per second
        • 4K: 4096 x 2048, 10 megabit per second
      • Live Video Width: Set video resolution for width
      • Live Video Height: Set video resolution for height
      • Live Video Frame Rate: Set live video FPS
      • Live Video Bit Rate: Set live video bit rate
      • Live Stream Url: Set live stream key for streaming server
    • VOD Video Settings
      • Vod Video Preset
        • CUSTOM: Custom resolution and bit rate
        • 720P: 1280 x 720, 2 megabit per second
        • 1080P: 1920 x 1080, 4 megabit per second
        • 4K: 4096 x 2048, 10 megabit per second
      • VOD Video Width: Set video resolution for width
      • VOD Video Height: Set video resolution for height
      • VOD Video Frame Rate: Set vod video FPS
      • VOD Video Bit Rate: Set vod video bit rate
      • Full Vod Save Path: Set video save path for recorded video including file name (file format should be mp4 or h264)
    • Screenshot Settings
      • Screenshot Preset
        • CUSTOM: Custom resolution
        • 720P: 1280 x 720
        • 1080P: 1920 x 1080
        • 4K: 4096 x 2048
      • Screenshot Width: Set screenshot resolution for width
      • Screenshot Height: Set screenshot resolution for height
    • Preview Video Settings
      • Preview Video Preset
        • CUSTOM: Custom resolution and bit rate
        • 720P: 1280 x 720, 2 megabit per second
        • 1080P: 1920 x 1080, 4 megabit per second
        • 4K: 4096 x 2048, 10 megabit per second
      • Preview Video Width: Set preview video resolution for width
      • Preview Video Height: Set preview video resolution for height
      • Preview Video Frame Rate: Set preview video FPS
      • Preview Video Bit Rate: Set preview video bit rate
      • TODO: The function is implemented in FBCapture SDK, but the Unity sample doesn’t include this feature. We will update this feature in Unity sample later.
    • Shader Settings
      • The shaders will generate cubemap, equirect textures with Surround Capture Cameras.

4. FBCapture SDK Calling Conventions (Sample Unity C# Integration Code)

1. Set up Session
APIs needed to be called once at start encoding

(1) Check capabilities

private static extern FBCAPTURE_STATUS fbc_getCaptureCapability();

It will check hardware and software capabilities. Currently it checks windows version(Win 7 SP1 or greater), Graphics driver version(Nvidia: 375.95 or newer, AMD: Radeon Software Crimson 17.1.1 or later) and Graphics manufacturer(AMD, NVIDIA). If your specs doesn't meet SDK's minimum specs, it will return failure reason and won't start encoding.

(2) Set configurations depending on capture types

// Live configurations
private static extern FBCAPTURE_STATUS fbc_setLiveCaptureSettings(
int width,
int height,
int frameRate,
int bitRate,
float flushCycleStart,
float flushCycleAfter,
string streamUrl,
bool is360,
bool verticalFlip,
bool horizontalFlip,
PROJECTIONTYPE projectionType,
STEREO_MODE stereoMode);

// VOD configurations
private static extern FBCAPTURE_STATUS fbc_setVodCaptureSettings(
int width,
int height,
int frameRate,
int bitRate,
string fullSavePath,
bool is360,
bool verticalFlip,
bool horizontalFlip,
PROJECTIONTYPE projectionType,
STEREO_MODE stereoMode);

// Screenshot Configurations
private static extern FBCAPTURE_STATUS fbc_setScreenshotSettings(
int width,
int height,
string fullSavePath,
bool is360,
bool verticalFlip,
bool horizontalFlip);

// Preview configurations
private static extern FBCAPTURE_STATUS fbc_setPreviewCaptureSettings(
int width,
int height,
int frameRate,
bool is360,
bool verticalFlip,
bool horizontalFlip);

It will configure encoding or screenshot properties. In the Unity sample, we can easily set them on inspector of Unity editor.

(3) Set VR audio device in used

private static extern FBCAPTURE_STATUS
fbc_setMicAndAudioRenderDeviceByVRDeviceType(VRDeviceType vrDevice);

It will set VR audio device that FBCapture SDK will capture for output(headphone) and input(microphone).

(4) Enable audio...

Read more

Capture SDK v1.30 Released

12 Apr 23:22
Compare
Choose a tag to compare

Release Note (FB Capture SDK 1.30)

Fixed crash issue happened on exit by windows media foundation
Fixed bug which is encoding only one texture on some GPUs
Fixed memory leaks on nvidia encoding
Improved encoding component management on AMD and NVDIA with reusing most resources
Enabled 4K encoding settings on AMD

FB Capture SDK 1.20 Release

05 Mar 19:33
Compare
Choose a tag to compare

Release Note (FB Capture SDK 1.20)

  1. Fixed glitchy video encoding bug happened on the latest AMD driver
  2. Improved encoding performance ( Got 2x performance on 4K x 4K texture encoding)
  3. Fixed crash bug happened on DirectX surface creation
  4. Fixed crash bug happened on Audio capture
  5. Improved quality and stability on live streaming
  6. Fixed resolution setting bug on Unity script

Latest Core SDK DLL

18 Jan 19:05
Compare
Choose a tag to compare

You should download attached FBCapture.dll and put it in the path below for sample test. The DLL has bunch of improvements on live streaming, audio and video encoding, VIVE support for VR, etc.

<path_to_FBCapture>Samples\Unity\Assets\Plugins\x86_64

Wamedia dependency lib files [Release]

19 Oct 21:48
Compare
Choose a tag to compare
Pre-release

If you want to build FBCapture.dll yourself in [Release], you need to install the lib files below and place them to the respective indicated path in FBCapture for lib linking:

<path_to_FBCapture>\Wamedia\common\lib\Release\wamediacommon.lib
<path_to_FBCapture>\Wamedia\flvmuxer\lib\Release\flvoperations.lib
<path_to_FBCapture>\Wamedia\mp4muxer\lib\Release\mp4operations.lib
<path_to_FBCapture>\Wamedia\streams\lib\Release\wamediastreams.lib

Wamedia dependency lib files [Debug]

19 Oct 21:11
Compare
Choose a tag to compare
Pre-release

If you want to build FBCapture.dll yourself in [Debug], you need to install the lib files below and place them to the respective indicated path in FBCapture for lib linking:

  • <path_to_FBCapture>\Wamedia\common\lib\Debug\wamediacommon.lib
  • <path_to_FBCapture>\Wamedia\flvmuxer\lib\Debug\flvoperations.lib
  • <path_to_FBCapture>\Wamedia\mp4muxer\lib\Debug\mp4operations.lib
  • <path_to_FBCapture>\Wamedia\streams\lib\Debug\wamediastreams.lib