ustreamer-encode 0.1.0

Hardware video encoding — VideoToolbox (macOS), NVENC (NVIDIA), and direct AMF
Documentation
[package]

name = "ustreamer-encode"
description = "Hardware video encoding — VideoToolbox (macOS), NVENC (NVIDIA), and direct AMF"
version.workspace = true

edition.workspace = true

rust-version.workspace = true

license.workspace = true

repository.workspace = true

homepage.workspace = true

documentation = "https://docs.rs/ustreamer-encode"

readme = "../../README.md"

keywords = ["streaming", "video", "nvenc", "videotoolbox", "wgpu"]

categories = ["multimedia::encoding", "hardware-support", "graphics"]



[features]
default = []
amf-direct = ["dep:libloading"]
nvenc-direct = ["dep:cudarc", "dep:libloading", "dep:nvidia-video-codec-sdk", "ustreamer-capture/vulkan-external"]


[dependencies]

ustreamer-capture = { workspace = true }

ustreamer-proto = { workspace = true }

thiserror = { workspace = true }

tracing = { workspace = true }
wgpu = { workspace = true }
cudarc = { version = "0.19.4", default-features = false, features = ["std", "driver", "fallback-dynamic-loading", "cuda-version-from-build-system", "fallback-latest"], optional = true }
libloading = { version = "0.8.9", optional = true }
nvidia-video-codec-sdk = { version = "0.4.0", optional = true, default-features = false, features = ["ci-check"] }


[dev-dependencies]

ustreamer-capture = { workspace = true, features = ["vulkan-external", "vulkan-external-test-utils"] }



[target.'cfg(target_os = "macos")'.dependencies]

objc2-core-foundation = "0.3.2"

objc2-core-media = "0.3.2"

objc2-core-video = "0.3.2"

objc2-video-toolbox = { version = "0.3.2", features = ["VTErrors", "objc2-core-media", "objc2-core-video"] }