pub struct VideoServiceClient<C> { /* private fields */ }Trait Implementations§
Source§impl<C: Clone> Clone for VideoServiceClient<C>
impl<C: Clone> Clone for VideoServiceClient<C>
Source§fn clone(&self) -> VideoServiceClient<C>
fn clone(&self) -> VideoServiceClient<C>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<C: Debug> Debug for VideoServiceClient<C>
impl<C: Debug> Debug for VideoServiceClient<C>
Source§impl<C> Service<C> for VideoServiceClient<C>
impl<C> Service<C> for VideoServiceClient<C>
Source§fn new(client: C, runtime: &Arc<ConjureRuntime>) -> Self
fn new(client: C, runtime: &Arc<ConjureRuntime>) -> Self
Creates a new service wrapping an HTTP client.
Source§impl<O, I: Iterator<Item = Result<Bytes, Error>>, __C> VideoService<O, I> for VideoServiceClient<__C>where
__C: Client<BodyWriter = O, ResponseBody = I>,
impl<O, I: Iterator<Item = Result<Bytes, Error>>, __C> VideoService<O, I> for VideoServiceClient<__C>where
__C: Client<BodyWriter = O, ResponseBody = I>,
Source§fn get(&self, auth_: &BearerToken, video_rid: &VideoRid) -> Result<Video, Error>
fn get(&self, auth_: &BearerToken, video_rid: &VideoRid) -> Result<Video, Error>
Returns video metadata associated with a video rid.
Source§fn batch_get(
&self,
auth_: &BearerToken,
request: &GetVideosRequest,
) -> Result<GetVideosResponse, Error>
fn batch_get( &self, auth_: &BearerToken, request: &GetVideosRequest, ) -> Result<GetVideosResponse, Error>
Returns video metadata about each video given a set of video rids.
Source§fn search(
&self,
auth_: &BearerToken,
request: &SearchVideosRequest,
) -> Result<SearchVideosResponse, Error>
fn search( &self, auth_: &BearerToken, request: &SearchVideosRequest, ) -> Result<SearchVideosResponse, Error>
Returns metadata about videos that match a given query.
Source§fn create(
&self,
auth_: &BearerToken,
request: &CreateVideoRequest,
) -> Result<Video, Error>
fn create( &self, auth_: &BearerToken, request: &CreateVideoRequest, ) -> Result<Video, Error>
Creates and persists a video entity with the given metadata.
Source§fn update_metadata(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
request: &UpdateVideoMetadataRequest,
) -> Result<Video, Error>
fn update_metadata( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &UpdateVideoMetadataRequest, ) -> Result<Video, Error>
Updates the metadata for a video associated with the given video rid.
fn update_ingest_status( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &UpdateIngestStatus, ) -> Result<(), Error>
fn get_ingest_status( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<DetailedIngestStatus, Error>
fn batch_get_ingest_status( &self, auth_: &BearerToken, video_rids: &BTreeSet<VideoRid>, ) -> Result<BTreeMap<VideoRid, DetailedIngestStatus>, Error>
fn get_enriched_ingest_status( &self, auth_: &BearerToken, request: &GetEnrichedVideoIngestStatusRequest, ) -> Result<Option<EnrichedVideoIngestStatus>, Error>
Source§fn archive(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
) -> Result<(), Error>
fn archive( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<(), Error>
Archives a video, which excludes it from search and hides it from being publicly visible, but does not
permanently delete it. Archived videos can be unarchived.
Source§fn unarchive(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
) -> Result<(), Error>
fn unarchive( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<(), Error>
Unarchives a previously archived video.
Source§fn get_playlist(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
start: Option<&str>,
end: Option<&str>,
) -> Result<I, Error>
fn get_playlist( &self, auth_: &BearerToken, video_rid: &VideoRid, start: Option<&str>, end: Option<&str>, ) -> Result<I, Error>
Generates an HLS playlist for a video within optional time bounds.
Uses GET with query parameters for HLS.js compatibility.
The HLS playlist will contain links to all of the segments in the video that overlap with the given bounds,
or all segments if no bounds are provided. Read more
Source§fn get_segment_summaries(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
) -> Result<Vec<SegmentSummary>, Error>
fn get_segment_summaries( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<Vec<SegmentSummary>, Error>
Returns the min and max absolute and media timestamps for each segment in a video. To be used during
frame-timestamp mapping.
Source§fn get_playlist_in_bounds(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
request: &GetPlaylistInBoundsRequest,
) -> Result<I, Error>
fn get_playlist_in_bounds( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetPlaylistInBoundsRequest, ) -> Result<I, Error>
Generates an HLS playlist for a video with the given video rid to enable playback within an optional set of
bounds. The HLS playlist will contain links to all of the segments in the video that overlap with the given
bounds.
playlist will be limited to the given bounds.
Source§fn get_playlist_in_bounds_v2(
&self,
auth_: &BearerToken,
request: &GetPlaylistInBoundsForChannelRequest,
) -> Result<I, Error>
fn get_playlist_in_bounds_v2( &self, auth_: &BearerToken, request: &GetPlaylistInBoundsForChannelRequest, ) -> Result<I, Error>
Generates an HLS playlist for a video series (identified by channel + tags) within bounds.
Source§fn get_playlist_v2(
&self,
auth_: &BearerToken,
data_source_rid: Option<&DataSourceRid>,
asset_rid: Option<&AssetRid>,
data_scope_name: Option<&str>,
channel: &str,
tags: Option<&str>,
start: &str,
end: &str,
) -> Result<I, Error>
fn get_playlist_v2( &self, auth_: &BearerToken, data_source_rid: Option<&DataSourceRid>, asset_rid: Option<&AssetRid>, data_scope_name: Option<&str>, channel: &str, tags: Option<&str>, start: &str, end: &str, ) -> Result<I, Error>
Generates an HLS playlist for a video series within time bounds.
Specify either dataSourceRid OR (assetRid + dataScopeName) to identify the series source. Read more
Source§fn get_segment_summaries_in_bounds(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
request: &GetSegmentSummariesInBoundsRequest,
) -> Result<Vec<SegmentSummary>, Error>
fn get_segment_summaries_in_bounds( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetSegmentSummariesInBoundsRequest, ) -> Result<Vec<SegmentSummary>, Error>
Returns the min and max absolute and media timestamps for each segment in a video that overlap with an
optional set of bounds.
Source§fn get_segment_summaries_in_bounds_v2(
&self,
auth_: &BearerToken,
request: &GetSegmentSummariesInBoundsForChannelRequest,
) -> Result<Vec<SegmentSummaryV2>, Error>
fn get_segment_summaries_in_bounds_v2( &self, auth_: &BearerToken, request: &GetSegmentSummariesInBoundsForChannelRequest, ) -> Result<Vec<SegmentSummaryV2>, Error>
Returns the min and max absolute and media timestamps for each segment matching a video series
(identified by channel + tags) within the specified bounds.
Source§fn get_segment_metadata_v2(
&self,
auth_: &BearerToken,
request: &GetSegmentMetadataForChannelRequest,
) -> Result<Option<VideoChannelSegmentsMetadata>, Error>
fn get_segment_metadata_v2( &self, auth_: &BearerToken, request: &GetSegmentMetadataForChannelRequest, ) -> Result<Option<VideoChannelSegmentsMetadata>, Error>
Returns aggregated segment metadata for a video channel series, including total frames,
segment count, min/max timestamps, and average frame rate. Optionally filter by time bounds.
Source§fn get_segment_by_timestamp_v2(
&self,
auth_: &BearerToken,
request: &GetSegmentByTimestampV2Request,
) -> Result<Option<SegmentV2>, Error>
fn get_segment_by_timestamp_v2( &self, auth_: &BearerToken, request: &GetSegmentByTimestampV2Request, ) -> Result<Option<SegmentV2>, Error>
Returns metadata for the segment within a video series containing the requested absolute timestamp.
Source§fn get_segment_at_or_after_timestamp(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
request: &GetSegmentAtOrAfterTimestampRequest,
) -> Result<Option<Segment>, Error>
fn get_segment_at_or_after_timestamp( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetSegmentAtOrAfterTimestampRequest, ) -> Result<Option<Segment>, Error>
Returns metadata for the segment containing the requested absolute timestamp. If no segment contains
the timestamp, returns the closest segment starting after the timestamp. Returns empty if no segment
is found at or after the timestamp.
Source§fn get_file_summaries(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
request: &GetFileSummariesRequest,
) -> Result<GetFileSummariesResponse, Error>
fn get_file_summaries( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetFileSummariesRequest, ) -> Result<GetFileSummariesResponse, Error>
Returns the min and max absolute timestamps from non-archived video files associated with a given video that
overlap with an optional set of bounds. The files on the edges of the bounds will be truncated to segments
that are inside or overlap with the bounds.
Source§fn generate_whip_stream(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
) -> Result<GenerateWhipStreamResponse, Error>
fn generate_whip_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<GenerateWhipStreamResponse, Error>
Generates a stream ID scoped to a video and returns a WHIP URL with a MediaMTX JWT and ICE servers.
Enforces write permission on the video.
Source§fn generate_whep_stream(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
) -> Result<Option<GenerateWhepStreamResponse>, Error>
fn generate_whep_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<Option<GenerateWhepStreamResponse>, Error>
Returns WHEP URL, ICE servers, and token for playing back the active stream.
Returns empty if there is no active stream.
Enforces read permission on the video.
Source§fn get_stream(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
stream_id: &str,
) -> Result<Option<VideoStream>, Error>
fn get_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, stream_id: &str, ) -> Result<Option<VideoStream>, Error>
Returns stream session metadata for a given stream ID scoped to the video.
Enforces read permission on the video.
Source§fn get_streams_in_bounds(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
request: &GetStreamsInBoundsRequest,
) -> Result<GetStreamsInBoundsResponse, Error>
fn get_streams_in_bounds( &self, auth_: &BearerToken, video_rid: &VideoRid, request: &GetStreamsInBoundsRequest, ) -> Result<GetStreamsInBoundsResponse, Error>
Returns all stream sessions for a video that overlap with the specified time bounds.
A stream overlaps if there is any intersection between its [start, end] interval and the provided bounds.
Enforces read permission on the video.
Source§fn end_stream(
&self,
auth_: &BearerToken,
video_rid: &VideoRid,
) -> Result<EndStreamResponse, Error>
fn end_stream( &self, auth_: &BearerToken, video_rid: &VideoRid, ) -> Result<EndStreamResponse, Error>
Marks the active stream session as ended for the video.
Throws VIDEO_NOT_FOUND if no active stream exists.
Enforces write permission on the video.
Source§fn upload_segment_from_media_mtx(
&self,
auth_: &BearerToken,
stream_path: &str,
file_path: &str,
duration: &str,
min_timestamp_seconds: SafeLong,
min_timestamp_nanos: SafeLong,
content_length: SafeLong,
body: impl WriteBody<O>,
) -> Result<(), Error>
fn upload_segment_from_media_mtx( &self, auth_: &BearerToken, stream_path: &str, file_path: &str, duration: &str, min_timestamp_seconds: SafeLong, min_timestamp_nanos: SafeLong, content_length: SafeLong, body: impl WriteBody<O>, ) -> Result<(), Error>
MediaMTX segment upload endpoint. Receives video segments from MediaMTX hooks.
Validates JWT and logs session. Future: create video segments from uploaded files.
Auto Trait Implementations§
impl<C> Freeze for VideoServiceClient<C>where
C: Freeze,
impl<C> !RefUnwindSafe for VideoServiceClient<C>
impl<C> Send for VideoServiceClient<C>where
C: Send,
impl<C> Sync for VideoServiceClient<C>where
C: Sync,
impl<C> Unpin for VideoServiceClient<C>where
C: Unpin,
impl<C> UnsafeUnpin for VideoServiceClient<C>where
C: UnsafeUnpin,
impl<C> !UnwindSafe for VideoServiceClient<C>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request