AV plugin documentation

av is an IO plugin. It allows to capture video input/output from/to video files (like mp4 files) and to capture input from RTSP streams.

AV Input Configuration

The av plugin can be used by Vahana VR throught a .vah project file. Please see the *.vah file format specification for additional details.

Define an input for each camera. The reader_config member specifies how to read it.

Example

For a video file input :

"inputs" : [
{
  "width" : 2560,
  "height" : 2048,
  ...
  "reader_config" : "C:\\Users\\VideoStitch\\Vahana VR\\Projects\\test.mp4",
  ...
}]

For an RTSP stream input:

"inputs" : [
{
  "width" : 2560,
  "height" : 2048,
  ...
  "reader_config" : "rtsp://10.0.0.203",
  ...
}]

The RTSP stream always has to begin with: "rtsp://" to be read by the av plugin.

AV Output configuration

Video configuration

For a video file output : "output" : { "type" : "mp4", "video_codec" : "h264", "filename" : "C:\Users\VideoStitch\Vahana VR\Projects\test.mp4", "audio_codec" : "aac", "sampling_rate" : 48000, "sample_format" : "fltp", "channel_layout" : "stereo", "audio_bitrate" : 192 }

type

type : string default : required notes : muxer type : "mp4", "mov"

video_codec

type : string default : required notes : video codec : mjpeg, mpeg2, mpeg4, h264, prores, h264_nvenc

filename

type : string default : required notes : the output file name

bitrate

type : int default : 15000000 notes : target bitrate, in bps

profile

type : string default : main notes : H264 profile, baseline | main | high | constrained_high | high444 | stereo Specified values will be ignored if the resolution & fps do not fit in the requested profile.

level

type : automatic default : automatic notes : Any of the H264 standard levels. Specified values will be ignored if the resolution & fps do not fit in the requested level.

bitrate_mode

type : string default : VBR notes : bit rate control mode CBR, VBR (upper case).

gop

type : int default : 250 notes : The target GOP size. Unknown range (0~250 ?). It is unknown wether scenecut detection can overide this or wether automatic GOP size is possible (eeg. w/ gop=0 as in libx264 encoder). All I-Frames are IDR-Frames.

b_frames

type : int default : 0 notes : number of B frames between two P frames

Audio configuration

The audio has to be set also. The following table shows which parameters are supported according to the audio codec.

Audio codec Sampling rate Sample format Channel layout Audio bitrate
"aac" 44100, 48000 "fltp" "mono", "stereo", "3.0", "4.0", "5.0", "5.1", "amb_wxyz" 64, 128, 192, 512
"mp3" 44100, 48000 "s16p" "mono", "stereo" 64, 128, 192
channel_map

type : array of int notes : optional setting to remap audio channels if needed. The array size has to match the number of channels of the channel layout. For example: With a amb_wxyz layout and a channel_map = [0, 3, 1, 2], the default channel order is W, X, Y, Z. The resulting channel order will be W, Y, Z, X.