Media streaming endpoint
Examples described herein relate to a network interface device that includes circuitry to: receive a request to perform offloaded media encoding and packetization prior to transmission of the media to a receiver, wherein the media comprises video and audio; perform encoding of the media; perform packetization of the encoded media into one or more packets based on Real-time Transport Protocol (RTP) protocol; and cause transmission of the one or more packets to the receiver.
1 . An apparatus comprising:
a network interface device comprising:
a direct memory access (DMA) circuitry;
a host interface;
a network interface to transmit and receive packets; and
circuitry to:
receive a request to perform offloaded media encoding and packetization prior to transmission of the media to a receiver, wherein the media comprises video and audio;
perform encoding of the media, wherein the encoding of the media comprises performing applying a video and/or audio compression encoding on the media;
perform packetization of the encoded media into one or more packets based on a media streaming protocol; and
cause transmission of the one or more packets to the receiver.
2 . The apparatus of claim 1 , wherein the circuitry is accessible via a Peripheral Component Interconnect express (PCIe) interface.
3 . The apparatus of claim 1 , wherein the circuitry is to receive an initialization specifying one or more of: transmit protocol to apply, a video encoding type to apply, an audio encoding type to apply, and destination address of streamed media.
4 . The apparatus of claim 1 , wherein the request comprises one or more of: a request to encode media and a source memory address of the media.
5 . The apparatus of claim 1 , wherein the circuitry is to provide an indication of packet transmission completion or error per frame or per stream.
6 . The apparatus of claim 1 , wherein the circuitry is to request a video encoder to encode the media.
7 . The apparatus of claim 1 , comprising:
a server, wherein the server comprises a processor that is to execute a process that is to provide the request to transmit media to a receiver and wherein the server comprises a memory device to store media that is to be transmitted.
8 . The apparatus of claim 1 , wherein the network interface device comprises:
circuitry to:
receive a second request to perform de-packetization and reconstruction of received media from a transmitter;
receive one or more packets consistent with a media streaming protocol, wherein the one or more packets comprise the received media;
perform jitter buffering; and
perform de-packetization of the received media, wherein the received media comprises video and audio.
9 . An apparatus comprising:
a network interface device comprising:
a direct memory access (DMA) circuitry;
a host interface;
a network interface to transmit and receive packets and
circuitry to:
receive a request to perform de-packetization and reconstruction of received media from a transmitter;
receive one or more packets consistent with a media streaming protocol, wherein the one or more packets comprise the received media;
perform de-packetization of the received media, wherein the received media comprises video and audio;
apply a jitter buffer to the de-packetized received media;
perform reconstruction of the received media by performance of video and/or audio decoding on the received media; and
copy the de-packetized and reconstructed received media after application of the jitter buffer to a destination memory.
10 . The apparatus of claim 9 , wherein the circuitry is accessible via a Peripheral Component Interconnect express (PCIe) interface.
11 . The apparatus of claim 9 , wherein the circuitry is to receive an initialization specifying one or more of: flow identifier of the one or more packets that comprise the received media, applied transmit protocol, video decoding to apply, audio decoding to apply, or destination address to store the received media.
12 . The apparatus of claim 9 , wherein the request comprises one or more of: a request to decode media and an address in memory to store the received media.
13 . The apparatus of claim 9 , wherein the circuitry is to provide an indication of packet receipt per frame or per stream.
14 . The apparatus of claim 9 , wherein the circuitry is to request a video decoder to decode the received media.
15 . The apparatus of claim 9 , comprising:
a server, wherein the server comprises a processor that is to execute a process that is to provide the request to perform de-packetization and reconstruction of received media from a transmitter and wherein the server comprises a memory device to store the received media.
16 . At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
execute an operating system (OS) to:
configure circuitry of a network interface device to perform a request to perform media encoding and packetization prior to transmission of the media to a receiver, wherein:
the media comprises video and audio,
the media encoding comprises performing applying a video and/or audio compression encoding on the media, and
the network interface device comprises: a direct memory access (DMA) circuitry, a host interface, and a network interface to transmit and receive packets.
17 . The at least one computer-readable medium of claim 16 , wherein the request comprises one or more of: a request to encode media or a source memory address of the media.
18 . The at least one computer-readable medium of claim 16 , comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
execute the OS to configure the circuitry of the network interface device to perform a second request to perform de-packetization and reconstruction of received media from a transmitter.
19 . The at least one computer-readable medium of claim 18 , wherein the second request comprises one or more of: a request to decode media and a memory address to store the decoded media.
20 . The at least one computer-readable medium of claim 16 , wherein the network interface device comprises one or more of: a network interface controller (NIC), a remote direct memory access (RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU).