Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
borderColor#3D3D3D
bgColor#F4F4F4
titleColor#3D3D3D
borderWidth0
titleBGColor#3D3D3D
borderStylesolid

ON THIS PAGE

Table of Contents
indent20px

...

The roStreamQueue object only works with
Code Block
CreateObject("roStreamQueue")
Note
titleNote

File Requirements

Video files must meet the following requirements to work with the roStreamQueue object:

  • Files must be Transport Stream (.ts)

...

  • formatted.
  • All files in

...

  • a queue should have identical PIDs

...

  • .
  • Files must begin and end with a closed GOP.
  • Files must have regular PCRs at intervals of 100ms or shorter. Note that the default interval for FFMPEG is 1000ms unless it is configured for CBR muxing (in which case the interval is set to 20ms). The following is an example of an appropriate command-line tp remux:
Code Block
avconv -i clip_short.ts -vcodec copy -acodec copy -muxrate 15M clip_short2.ts

ifSteamQueue

QueueFile(filename As String) As Boolean

...

Code Block
titleExample (roMediaStreamer)
queue = q=createobjectCreateObject("rostreamqueueroStreamQueue")
  m=createobjectqueue.queueFile("romediastreamerfile1.ts")
  qqueue.queueFile("sd://encoder_1080p59_8mbpsfile2.ts")
  qqueue.loop(true)
m  didStream = = CreateObject("roMediaStreamer")
m.setpipeline([q, "decoder:", "encoder:vformat=1080p60&vbitrate=3000"queue, "udp://239.0.156.101:5000/?maxbitrate=0"])
  ? "didStream: "; q
  m.Start()
Warning
titleImportant

We strongly suggest appending the "maxbitrate=0" parameter to UDP streams when using roStreamQueue. This prevents the roMediaStreamer instance from rate-limiting an roStreamQueue stream that is already running at a precise, correct rate.