Panel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
ON THIS PAGE
|
...
Code Block | ||
---|---|---|
CreateObject("roStreamQueue") | ||
Note | ||
|
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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. |