0

Achieving Gapless Looping Video from a MRSS Feed

I'm trying to create a BrightAuthor presentation that seamlessly loops a video file specified from a MRSS feed but every loop has a ~0.6 second stutter. My goal is to dynamically control what looping content is played on a BrightSign from a remote server where the content is encoded dynamically.

The video file has the following MediaInfo:

General
Complete name : ...\example-clean.v2.h264.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 4.23 MiB
Duration : 21 s 0 ms
Overall bit rate : 1 692 kb/s
Writing application : Lavf58.45.100

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.2
Format settings : 4 Ref Frames
Format settings, CABAC : No
Format settings, Reference : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 21 s 0 ms
Bit rate : 1 686 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 60.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.014
Stream size : 4.22 MiB (100%)
Writing library : x264 core 161 r3027 4121277
Encoding settings : cabac=0 / ref=4 / deblock=0:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=34 / lookahead_threads=5 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=0 / open_gop=0 / weightp=0 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=10.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Codec configuration box : avcC

(No audio track)

All other video files tested with MRSS exhibit the same stutter. When this file is loaded directly onto the BrightSign via BrightAuthor the playback is perfectly looped and gapless.

My best guess is that something with BrightAuthor's dynamic video playback doesn't cache the current video plane instance when looping and is creating/destroying playback instances.

Linked here is an example project which exhibits this behavior on a BrightSign HD224.

Any suggestions would be appreciated!

1 comment

Please sign in to leave a comment.