Media Communications Mesh#
Documentation for FFmpeg Media Communications Mesh (further: Mesh) plugin.
💡 Tip: For up to date documentation refer to: OpenVisualCloud/Media-Communications-Mesh
📝 Notice Not all options are yet available. The strikethrough
optionindicates being under development
⚠️ Important This plugin requires Media Communications Mesh standalone and additional steps to run properly.
FFmpeg Media Communications Mesh Muxer Parameters Table#
Muxer plugin available params#
Parameter |
Description |
Type |
Default |
Possible Values |
---|---|---|---|---|
|
Set the remote IP address to which the media data will be sent. |
String |
|
|
|
Set the remote port to which the media data will be sent. |
String |
|
|
|
Set the payload type for the media data. |
String |
|
|
|
Set the protocol type for the media data transmission. |
String |
|
|
|
Set the video frame size. |
Image size (String) |
|
|
|
Set the video pixel format. |
Pixel format (Enum) |
|
|
|
Set the video frame rate. |
Video rate (String or Rational) |
|
|
|
Set the memif socket name for the media data transmission. |
String |
|
|
|
Set the interface ID for the media data transmission. |
Integer |
|
|
Demuxer plugin available params#
Parameter |
Description |
Type |
Default |
Possible Values |
---|---|---|---|---|
|
Set the remote IP address from which the media data will be received. |
String |
|
|
|
Set the local port on which the media data will be received. |
String |
|
|
|
Set the payload type for the media data. |
String |
|
|
|
Set the protocol type for the media data reception. |
String |
|
|
|
Set the video frame size. |
Image size (String) |
|
|
|
Set the video pixel format. |
Pixel format (Enum) |
|
|
|
Set the video frame rate. |
Video rate (String or Rational) |
|
|
|
Set the memif socket name for the media data reception. |
String |
|
|
|
Set the interface ID for the media data reception. |
Integer |
|
FFmpeg Media Communications Mesh Muxer Plugin Documentation#
The Mesh’s Muxer plugin for FFmpeg is designed to handle the transmission of media data over a network using various protocols and payload types. Below are the input parameters that can be configured for the Mesh’s Muxer plugin.
Input Parameters#
ip_addr
#
Description: Set the remote IP address to which the media data will be sent.
Type: String
Default:
"192.168.96.2"
Flags: Encoding parameter
port
#
Description: Set the remote port to which the media data will be sent.
Type: String
Default:
"9001"
Flags: Encoding parameter
payload_type
#
Description: Set the payload type for the media data.
Type: String
Default:
"st20"
Flags: Encoding parameter
Possible Values:
"st20"
,"st22"
,,"st30"
,"st40"
"rtsp"
protocol_type
#
Description: Set the protocol type for the media data transmission.
Type: String
Default:
"auto"
Flags: Encoding parameter
Possible Values:
"memif"
,"udp"
,"tcp"
,,"http"
,"grpc"
"auto"
video_size
#
Description: Set the video frame size using a string such as
"640x480"
or"hd720"
.Type: Image size (String)
Default:
"1920x1080"
Flags: Encoding parameter
pixel_format
#
Description: Set the video pixel format.
Type: Pixel format (Enum)
Default:
AV_PIX_FMT_YUV422P10LE
Flags: Encoding parameter
Possible Values:
,AV_PIX_FMT_NV12
AV_PIX_FMT_YUV422P
,AV_PIX_FMT_YUV444P10LE
,AV_PIX_FMT_RGB24
,AV_PIX_FMT_YUV422P10LE
frame_rate
#
Description: Set the video frame rate.
Type: Video rate (String or Rational)
Default:
"25"
Flags: Encoding parameter
socket_name
#
Description: Set the memif socket name for the media data transmission.
Type: String
Default:
NULL
Flags: Encoding parameter
interface_id
#
Description: Set the interface ID for the media data transmission.
Type: Integer
Default:
0
Flags: Encoding parameter
Range:
-1
toINT_MAX
Example Usage#
To use the Mesh’s Muxer plugin with FFmpeg, pass the -f mcm
flag and parameters. Here is an example command that sets some of the parameters:
ffmpeg -i input.mp4 -c:v rawvideo -f mcm -ip_addr 192.168.1.100 -port 8000 -payload_type st20 -pixel_format yuv422p10le -protocol_type auto -video_size hd720 -frame_rate 30 -socket_name my_socket -interface_id 2 output.mcm
This command takes an input.mp4
input file, processes the video as rawvideo
, uses the Mesh’s Muxer to send the data to 192.168.1.100
IP address on port 8000
with st20
payload type, protocol type auto
, hd720
video size, 30
frames per second (frame rate), onto socket name my_socket
with socket’s interface ID set to 2
. Output is saved to output.mcm
file.
FFmpeg Media Communications Mesh Demuxer Plugin#
The Mesh’s Demuxer plugin for FFmpeg is designed to handle the reception of media data over a network using various protocols and payload types. Below are the input parameters that can be configured for the Mesh’s Demuxer plugin.
Input Parameters#
ip_addr
#
Description: Set the remote IP address from which the media data will be received.
Type: String
Default:
"192.168.96.1"
Flags: Decoding parameter
port
#
Description: Set the local port on which the media data will be received.
Type: String
Default:
"9001"
Flags: Decoding parameter
payload_type
#
Description: Set the payload type for the media data.
Type: String
Default:
"st20"
Flags: Decoding parameter
Possible Values:
"st20"
,"st22"
,,"st30"
,"st40"
"rtsp"
protocol_type
#
Description: Set the protocol type for the media data reception.
Type: String
Default:
"auto"
Flags: Decoding parameter
Possible Values:
"memif"
,"udp"
,"tcp"
,"http"
,"grpc"
,"auto"
video_size
#
Description: Set the video frame size using a string such as
"640x480"
or"hd720"
.Type: Image size (String)
Default:
"1920x1080"
Flags: Decoding parameter
pixel_format
#
Description: Set the video pixel format.
Type: Pixel format (Enum)
Default:
AV_PIX_FMT_YUV422P10LE
Flags: Decoding parameter
Possible Values:
,AV_PIX_FMT_NV12
AV_PIX_FMT_YUV422P
,AV_PIX_FMT_YUV444P10LE
,AV_PIX_FMT_RGB24
,AV_PIX_FMT_YUV422P10LE
frame_rate
#
Description: Set the video frame rate.
Type: Video rate (String or Rational)
Default:
"25"
Flags: Decoding parameter
socket_name
#
Description: Set the memif socket name for the media data reception.
Type: String
Default:
NULL
Flags: Decoding parameter
interface_id
#
Description: Set the interface ID for the media data reception.
Type: Integer
Default:
0
Flags: Decoding parameter
Range:
-1
toINT_MAX
Example Usage#
To use the Mesh’s Demuxer plugin with FFmpeg, pass the -f mcm
flag and parameters. Here is an example command that sets some of the parameters:
ffmpeg -f mcm -ip_addr 192.168.1.100 -port 8000 -payload_type st22 -protocol_type udp -pixel_format yuv422p10le -video_size hd720 -frame_rate 30 -socket_name my_socket -interface_id 2 -i input.mcm -c:v copy output.mp4
This command receives media data from IP address 192.168.1.100
on port 8000
with st22
payload type, using udp
protocol, hd720
video size, 30
frames per second (frame rate), onto socket named my_socket
that has 2
set as an interface ID; and then copies the video stream to an output file output.mp4
.