BGPVR Operator guide
Operator guide

BGPVR Live+ Pro

Needs a Pro licence or higher.

Your own 24/7 channels, built from films, series episodes and server recordings that are already in the suite (2.9.480). Live+ plans what plays when, writes a 7-day guide and plays the channel like a TV station. Viewers see an ordinary channel on every device (BGPVR apps, web TV, MAG, Kodi, M3U and Xtream players, HDHomeRun) with no Live+ mark. The content and its rights stay yours: Live+ only schedules media you already hold, and BGPVR, the software vendor, supplies no content. Pro has 1 Live+ channel, Business has 2, Enterprise has no limit.

On this page
  1. Make a Live+ channel
  2. Pick the order
  3. Choose when it encodes
  4. Edit, pause, rebuild or delete
  5. What viewers get
  6. When an item cannot play
  7. Let staff manage Live+
  8. On Free
  9. A Live+ channel needs a package (2.9.482)
  10. Films from Plex or Jellyfin (2.9.482)
  11. The filler library (2.9.483)
  12. A weekly schedule (2.9.483)
  13. Fillers and the logo (2.9.483)
  14. Day preview (2.9.483)
  15. Which film files Live+ plays (2.9.486)
  16. Episodes in the Live+ guide (2.9.487)
  17. A logo for the channel: drop it, upload it or pick one (2.9.487)
  18. Audio and subtitle languages (2.9.497)
  19. Burn in subtitles for set-top boxes (2.9.497)
  20. The item check (2.9.497)
  21. Where viewers choose the language (2.9.497)
  22. Missing subtitles are fetched for you (2.9.505)
  23. Schedule editor keys (2.9.506)
  24. Ad breaks (2.9.509)
  25. Live+ radio (2.9.510)
  26. Connect a NAS music folder
  27. Watch out

Make a Live+ channel

Live+ → "New Live+ channel". Four steps, with a 24 h preview (NOW, NEXT and the timeline) beside each one except step 3. "1 · What": pick categories, series, single titles or server recordings; the step shows how many items and hours you picked and which items it will skip (missing file, unknown length). "2 · How": the order, "Quality" (1080p or 720p) and "When it encodes". "3 · Audio & subtitles": the languages the channel offers (see "Audio and subtitle languages"). "4 · Channel": number, name, group, logo (initials or your own picture) and packages. "Publish" puts the channel on air and writes its guide. Viewers' own recordings and remote links can never be used.

Pick the order

"In order" plays the items as listed. "Shuffle" mixes everything. "Shuffle, episodes in order" mixes the titles but keeps each series' episodes in order. To mix again later, open Edit → "More" → "New order": the channel is re-planned from now with a new shuffle, after an in-page confirm.

Choose when it encodes

"Only while watched" (the default): the GPU works only while someone watches the channel, and tuning in takes 6 to 10 s while it starts. "Always on": the channel encodes all the time, also when nobody watches, so it uses the GPU all day.

Edit, pause, rebuild or delete

Each row has "Edit", "Pause" (or "Resume") and "Rebuild". "Rebuild" plans the channel again from its sources and rewrites the guide; it also restarts a channel in Error. "Delete channel" is in Edit → "More", with an in-page confirm: it removes the channel and its guide; the films, episodes and recordings stay in the library. The states: Live, Paused, Draft (saved, not published) and Error (red).

What viewers get

The channel sits in its packages like any channel. Tuning in joins the programme in the middle, at the point the guide shows. The guide covers 7 days and is written again every night and after each edit. In the web TV guide, a programme on a Live+ channel offers "Watch from the start": it opens the film, episode or recording itself from the beginning, only when the viewer's plan already includes that item (a recording only when server recordings are shared with them). The BGPVR apps get the same button in a later app release; until then they show the channel as a normal channel. Pause and rewind on these channels come later.

When an item cannot play

Viewers see a short "We'll be right back" card in English and Bulgarian, and the channel moves on to the next item. Change the card on Modules → In-Player Denial Slates, kind "Live+ break". After three failures in a row the channel stops and shows Error in red until you press "Rebuild".

Let staff manage Live+

Staff → profile → "Manage Live+ channels". It is off by default and covers only Live+ channels, so a programmer can run them without the right to edit other channels.

On Free

The Live+ page stays in the menu and says "BGPVR Live+ comes with Pro, Business and Enterprise." with a "Compare plans" link to the License page.

A Live+ channel needs a package (2.9.482)

In "4 · Channel" tick at least one package: "Publish" and "Save" stay unavailable until you do, and the reason shows under the packages. With no packages yet the step says so, with "Create a package first". "Next" in "1 · What" also waits until at least one picked title can play (it has a file on this server and a known length).

Films from Plex or Jellyfin (2.9.482)

Films imported from your media server play from that server, so Live+ cannot use them until their files are on this server too. "1 · What" counts them as "imported from Plex/Jellyfin" with a link to Settings → Integrations → Media server import: list the media server's folders there (mounted read-only on this server) and re-sync the import. A file at the same path on both servers needs no path map line.

The filler library (2.9.483)

Live+ › Library holds the clips that play between programmes, one library for every Live+ channel. "Pick a folder": a folder on this server inside a read-only media server folder or the VOD storage (never the data folder); it is read, never written, scanned every 5 minutes, and its files never become films. New files land in "Unsorted" and play nowhere until you put them in a collection. "Upload files" takes video files up to 2 GB. Each item has a kind (promo, ident, trailer, ad, filler loop, slate), a priority (high plays first, then your drag order: drag ⋮⋮ or use ▲▼), and under Edit its dates, days, hours, a limit per hour, Kids-safe and "hide the channel logo". Select several for bulk actions. Files without a length or with a picture we cannot use (10-bit, no video) are flagged and never scheduled.

A weekly schedule (2.9.483)

Live+ › Schedule: pick the channel and put blocks on Monday to Sunday. A block plays what you pick (a category, series, films or recordings) in its order. "Start on the hour" keeps the programme before from running into it (the time is padded with fillers). Time with no block plays the channel's whole pool, and a channel with no schedule keeps working as before. Changes are saved as a draft; Publish makes them live.
What the editor does (updated in 2.9.506):
Change the time: drag a block to move it, or drag its top or bottom edge to change when it starts or ends. Times snap to 15 minutes; hold Alt (⌥ on a Mac) while you drag for 5 minutes. You can also type "Start" and "End" in the side panel: 18:00 and 1800 both work, and −15′ and +15′ buttons sit next to each. An End before the Start means the next day, so a block can run past midnight (22:00 to 02:00) and shows on both days.
Select and delete: click a block; Shift-click or Ctrl-click (⌘ on a Mac) adds or removes blocks. Delete or Backspace deletes the selected blocks at once, without asking, and a message offers "Undo" for 8 seconds. The "Undo" and "Redo" buttons (Ctrl+Z and Ctrl+Y) go back and forward through your last 50 changes, also after Publish: publish again to make an undone change live.
Repeat and copy: "Repeat on…" puts independent copies of the selected block on the days you tick; "Mon–Fri", "Every day" and "Weekend" are one click. "Copy day to…" copies a whole day onto other days and replaces what those days had; Undo brings it back. Copies that would overlap are still made and shown in red.
Block menu: right-click a block (long-press on a touch screen, or use the ⋯ button on the selected block) for Edit, Duplicate, "Repeat on…", "Split at…" and Delete. "Split at…" cuts a block in two at the time you give; the second part continues where the first stops.
Overlaps: blocks that overlap are red, also when one runs past midnight into the next day. When you drop a block onto another, a bar offers "Trim" (the block that was there ends where yours starts), "Move … after" (it starts where yours ends) or "Leave it" to fix later. Under the grid, a bar lists every overlap with its one-click fixes. Publish waits until none are left.
Now and zoom: a line across today's column shows the time now in the server's time zone, and "Now" scrolls to it. "Hour height" − and + make the hours taller or shorter; your browser remembers the choice.
What plays next: select a published block and "Next up" lists its next five titles (S02E05 and so on) and says how the block goes on. Blocks with the same content and order continue each other: a series carries on from one airing to the next, even on another day. For In order and "Shuffle, episodes in order" it says "Continues where the last airing stopped"; for "Shuffle" it says "New shuffle each round". A block you have not published yet says "Shows after you publish".
Special days: a day of its own for one date (24 Dec) replaces its weekday for that date and sits in the "Special days" row. "Add special day" offers to copy its weekday or to start empty.
On a phone the grid is a list for one day; each row has the ⋯ menu with the same items, the editor has Start and End fields, and deleting shows Undo. The keys are in "Schedule editor keys (2.9.506)".

Fillers and the logo (2.9.483)

Live+ › Fillers, for the channel or one block: a clip before each programme and up to two after it (max 1:00), and "Pad to a clean start" (:00/:30, every 15 minutes or :00 only) from the collections you list, in that order, each by its priority and limits. What nothing fits is filled by the loop you pick, cut to fit, then the slate: the screen is never black. "Kids-safe clips only" is for Kids channels and blocks. The logo bug puts the channel logo in a corner (size, opacity) and can hide it during fillers; the card draws it while encoding. The guide shows each programme with its fillers folded in, so programmes start on time and fillers are never listed. Ad breaks inside programmes come in a later release; clips of kind "Ad" never play as fillers.

Day preview (2.9.483)

Live+ › Day preview: pick a channel and a day. Left, what viewers see in the guide; right, what really plays in the programme you pick, with "Show fillers" on or off. The line on top checks that every programme starts on the grid and that no filler is listed in the guide; a day not planned yet shows what the published schedule will give.

Which film files Live+ plays (2.9.486)

Live+ plays films and episodes in H.264, HEVC (also 10-bit, 1080p and 4K), MPEG-2, VP9, DivX, WMV and VC-1, interlaced or not, any size, and files with cover art; the audio can be AAC, AC-3, E-AC-3, DTS or TrueHD (the channel gets stereo AAC). What the graphics card cannot decode itself (for example H.264 High 10) is decoded in software and still encoded on the card. If a programme cannot play, viewers see the "We'll be right back" card and the suite log names the reason in ffmpeg's own words. After three failures in a row the channel stops with "Error": fix or remove the file, then press Rebuild.

Episodes in the Live+ guide (2.9.487)

Apps, Web TV and MAG show only a programme's title, so the Live+ guide now writes an episode as "Series · S01E02 · Episode title" ("Series · Episode title" when the episode has no number). The plot is the episode's, or the series' plot when the episode has none; the picture is the episode's own, or the series poster. Films and recordings are written as before. The guide of a channel built earlier is rewritten once when 2.9.487 starts; Rebuild on a channel rewrites it at once.

A logo for the channel: drop it, upload it or pick one (2.9.487)

Step 4 (Channel) of the wizard: drag a picture onto the logo tile, press the tile or Upload to choose a file, or press Choose from the logo library to search the logos the suite already has; typing an address works as before. PNG, WebP, JPG or SVG, up to 2 MB; a square picture, a PNG with a transparent background, looks best. The suite checks the file (an SVG with scripts or links to the outside is refused) and keeps it with the channel logos under a new name, so it never replaces another logo. The guide, the apps, Web TV and the channel logo on the picture (Fillers > Logo) all use it.

Audio and subtitle languages (2.9.497)

Step "3 · Audio & subtitles" sets the languages a channel offers, like a normal multi-language TV channel. "Audio languages": up to 4, in order; the first is the default (marked "Default"). Move a language with ▲▼ (or Alt+↑ / Alt+↓ on its chip) and remove it with ×; once you have chosen one, one stays. "Subtitle languages": up to 4, none is the default. "From your library" counts what your titles have, and "Use suggested" fills both lists with every language at least half of them have (Bulgarian before English on a tie). A new channel fills both lists from your library by itself as soon as the first answer comes, even while the files are still being read, and says so; "Use suggested" fills them again whenever you want. It happens once: if you empty a list it stays empty, and a channel you are editing is never filled for you. Every programme then plays in the same layout whatever its file holds: a title without a language you listed plays the channel's default sound on that track, and a missing subtitle language is an empty track, so the viewer's menu looks the same on every programme. Leave both lists empty and the channel plays as before: each file's own first sound and no subtitles. "Use subtitles from": "Subtitles library, then the file" (the default) takes the subtitles saved for the film or episode first (its Subtitles tab), then the text subtitles inside the file; the other choice swaps the two. Picture subtitles inside a file (PGS, DVB) cannot become text: they only serve burn-in. Saving a changed language list restarts a running channel at once: people watching reconnect for a few seconds, and no Rebuild is needed. A channel with one language and no subtitles is not restarted: the new audio language starts with the next programme.

Burn in subtitles for set-top boxes (2.9.497)

MAG, Enigma2, Kodi and other third-party players cannot show separate subtitle tracks. "Burn in for set-top boxes" draws one of your subtitle languages into the picture those players get; our apps and Web TV keep the clean picture and the viewer's own choice. While it is on the channel uses 2 of your encoders (the step says so: "uses 2 of your N encoders"), so keep it for channels that need it. The choice is disabled, with the reason on the page, when this server's encoder cannot draw subtitles.

The item check (2.9.497)

On step 3 press "Check items" (beside the step) for a table of the channel's titles: the audio languages each has, the subtitle languages with where they come from (library, in file or picture), and a plain note for every gap, for example "No English audio: the English track plays Bulgarian", "English subtitles are a picture: shown only when burned in" or "No Bulgarian subtitles: the track stays empty", with a "Find subtitles" link to that film's Subtitles tab (for an episode it opens its series; subtitles are added per episode). Server recordings have no library subtitles. Filter "All" or "With gaps"; fillers are one summary row. Files still being read are counted and appear when read. The check never blocks Publish.

Where viewers choose the language (2.9.497)

Viewers choose sound and subtitles in the player like on any channel: the Subtitles & audio menu of the BGPVR apps, the language picker of Web TV and the audio button on MAG boxes. In the apps the subtitles show on Android, Android TV, Fire TV and Apple TV, and from app 1.9.10 also on iPhone, iPad, Linux and with the mpv player engine on Android (with the native mpv surface they stay drawn into the picture). Set-top boxes (MAG, Enigma2, Kodi, third-party players) get every audio language on the stream but no separate text subtitles: they show subtitles only when you burn them in. Subtitles come from the Subtitles page (films and episodes) or from the text tracks inside the file. The language the guide (XMLTV) states for a channel is its first audio language.

Missing subtitles are fetched for you (2.9.505)

Save a Live+ channel with subtitle languages and the Subtitles module looks first for every film and episode on it that has no subtitle in one of them, by the rules of its automatic download: only a file that matches yours exactly, and at most half of the downloads left today. Films and episodes added later to the channel's categories or series are looked for after the next library scan. In step 3 each subtitle language shows a line such as "Bulgarian subtitles: 34 of 40 items · 4 searching, 2 not found", the missing items and a "Find subtitles" button for each; recordings keep the teletext or DVB subtitles they were recorded with. It needs "Download by itself after a library scan" and OpenSubtitles in Settings → Integrations → Subtitles; the line says so when either is missing.

Schedule editor keys (2.9.506)

In Live+ › Schedule, click a block or Tab to it, then press (every key also works on several selected blocks):
↑ ↓: move the block 15 minutes
Alt+↑ Alt+↓: move the start earlier or later; the end stays
Shift+↑ Shift+↓: move the end earlier or later; the start stays
← →: move the block to the previous or next day
Delete or Backspace: delete (Undo brings it back)
Ctrl+D: duplicate
Ctrl+Z: undo
Ctrl+Y or Ctrl+Shift+Z: redo
Enter: edit the block
Esc: clear the selection
Shift+F10 or Menu: open the block menu
On a Mac, use ⌘ for Ctrl and ⌥ for Alt. Keys do nothing while you type in a field. For 5-minute steps, type the time in "Start" or "End", or hold Alt while you drag.

Ad breaks (2.9.509)

In Live+ › Ad breaks pick the channel and switch on Ad breaks on this channel. Under When a break comes choose Every N minutes (15 minutes by default) or N per programme. There is never a break in the first and last 5 minutes (No break in the first and last), inside intros and credits, or in Kids blocks. A break moves to a chapter, scene cut or silence within 60 seconds when there is one (Snap to a natural point); otherwise it comes at the exact minute. Films and news get at most one break per 30 minutes, the EU rule, on by default (Films: 1 break per 30 min (EU rule)). Under How long: 1 to 3 ads per break, at most 2:00, and at most 8 ad minutes in any hour. Each break opens with a short Advertising opener. On screen viewers see Ad · advertiser with the seconds left, in the channel's language, and the ads are levelled so they are not louder than the programme. An ad whose label cannot be shown does not air.
Ads come only from your own campaigns with the Video format (see Video ads in Live+ ad breaks). When the day is planned and no ad fits, there is no break. A campaign change fills the next 48 hours of breaks again; programme times never move. A stopped campaign never airs: its time plays your house collection or the “We’ll be right back” card (If a booked ad drops out, play).
The guide shows each programme once at its real time. Watch from the start opens the film or episode itself, with no ads. Every device gets the same channel, with no app update. Kids profiles do not see a channel while its ad breaks are on, and Kids blocks never get breaks. A Kids profile already watching when you switch breaks on is stopped within a minute. The LG TV app does not list such channels unless LG TV app: show ads is on.
A recording from a broadcaster with no recorded consent gets breaks only between programmes; a reviewed recording skips the broadcaster's old ads and the break sits there. Check that your content licences allow ad breaks.
Day preview with breaks and Next breaks show what is planned, and Check lists what needs your attention. Counts only: shown and completed per ad, channel and day, and no viewer data is stored. Staff with the Live+ right see campaign names, advertisers and counts in this tab. Ad breaks come with Business and Enterprise; on Pro the tab is locked.

Live+ radio (2.9.510)

A Live+ channel can be a radio station that plays your own music all day and night. Put the music in a music folder first (see Connect a NAS music folder). Then choose New Live+ channel, and under What are you making? pick Radio station. Under What plays tick a folder, one of its sub-folders (listed as folder name › sub-folder) or a playlist: a folder plays everything in it, also files added later, and a playlist plays only what you put in it. In Live+ › Music you keep Music folders, Playlists (New playlist, or Import .m3u from another player) and Songs, where you can search, correct a song's tags and see why a file cannot play.
Order is Shuffle (every song once before any plays again) or In folder order. Radio rules keep the same artist away for Same artist not again within (30 minutes by default) and the same song for Same song not again within (3 hours by default); a small collection relaxes them by itself. Under Station-ID and jingles, Station-ID at the top of every hour and Station-ID after every (4 songs by default) are on, and Jingle between songs, every is off until you set a number. Pick the clips under Station-IDs from and Jingles from (collections in Live+ › Library). A song is never cut for a station-ID. When a schedule block ends, the song stops with a 3-second fade (Fade out the song (3 s)) or plays on (Finish the song).
Publish needs at least one station-ID that is stored on this server, not on the NAS, so the station never goes silent: if the NAS goes offline, the station plays its station-IDs and jingles until the music is back, then returns to the music by itself.
In 3 · Picture & sound choose the Picture: Now-playing card, drawn for every song with the cover, title, artist and (with Show the next song) the next song, on a Background that is The song’s cover, blurred or My image; or My still image (16:9, PNG or JPG). Loudness gives every song and jingle the same level (−16 LUFS (music) by default) and Quality sets the sound (128, 160 or 192 kbps). A radio station uses no graphics card.
Kids profiles may listen is off by default, because songs carry no reliable “explicit” mark: a radio station stays hidden from Kids profiles until you switch it on. A radio station counts as one of your plan's Live+ channels (Pro 1, Business 2, Enterprise no limit).
Music rights: you hold the music licences, and BGPVR supplies the software only, never music. Before the first radio station goes live, an admin confirms once with Confirm the music rights: “I confirm that my company holds the rights to broadcast this music to its subscribers, including the licences of the collecting societies where it operates. BGPVR supplies the software only.” It is saved with the admin's name and the time. Until then Publish waits, and other staff see An admin must confirm the music rights first. The societies are МУЗИКАУТОР (authors) and ПРОФОН (producers and performers) in Bulgaria, PRS for Music and PPL in the UK, and your national collecting societies elsewhere. The Play log in Live+ › Music lists, for every month, the songs played with title, artist, ISRC, plays and minutes (Download CSV), for you to send to them. No listener data is kept.
What listeners see: the guide lists every song as a programme, with the artist and the cover. Web TV shows the cover, title, artist and the next song under the station name, and MAG boxes show the cover, title and artist in the Radio screen; both change when the song ends. From app 1.9.15, BGPVR Player shows them on its radio screen and, on a phone, also on the lock screen and in the notification. Kodi, Enigma2, TiviMate, VLC and other players play the station as radio and show the Now-playing card picture, or your still image. A station with no song details shows its name only.

Connect a NAS music folder

BGPVR plays music from any folder the server can read, such as a share on your NAS. The share is mounted on the host (the machine that runs the suite's container), read-only, and handed to the suite like your films folder. The console only lists such a folder and never asks for a NAS password: if the NAS needs one, it stays in a file on the host.
1. On the host, mount the share read-only as a soft mount, so that a NAS that is off answers with an error instead of freezing the server. NFS: add ro,soft,timeo=50 (timeo counts tenths of a second, so 5 seconds), for example nas:/music /mnt/nas/music nfs ro,soft,timeo=50 0 0. CIFS (SMB): add ro,soft and x-systemd.automount, which mounts the share when it is first used and does not hold up the start while the NAS is down, for example //nas/music /mnt/nas/music cifs ro,soft,x-systemd.automount,credentials=/root/.nas 0 0. The credentials file holds the NAS user and password, is readable by root only and never goes into BGPVR.
2. Hand the folder to the suite read-only, as the films folder is, with a line like /mnt/nas/music:/data/Music:ro under the suite's volumes, then apply it with docker compose up -d.
3. Settings › Integrations › Media server folders: add /data/Music.
4. Live+ › Music › Add a music folder: pick it and press Add folder.
Each folder shows Online, Reading tags, Waiting to scan or Offline. Offline means the server cannot read the folder now (the NAS is off, the share is not mounted, or it did not answer in time). Nothing is removed: the stations that use it play their station-IDs and jingles until it is back, and its songs return at the next scan; Scan now does it at once. If many songs vanish from a folder in the same moment, the console asks you to confirm that you removed them, because a NAS problem is the likelier cause. The first read of a big NAS folder takes 1 to 2 hours and measuring the loudness of every song about a day; a song can play as soon as its tags are read, so the station does not wait. Keep the station-IDs and jingles on the server (Live+ › Library), not on the NAS.

Watch out

  • Live+ needs the suite's NVIDIA GPU to convert video. Without one, only items already in the channel's format can play; the others cannot.
  • The cap counts every Live+ channel that exists: Pro 1, Business 2, Enterprise unlimited. Paused channels and drafts count too. Live+ channels also count toward the plan's channel limit.
  • Record is refused on Live+ channels on every device, MAG and Kodi included: "This channel cannot be recorded. Its programmes can be watched from the start instead." The films and episodes are already in the library, so a recording would only fill the disk.
  • "Watch from the start" never opens an item the viewer's plan does not include. Without it, the viewer only gets the channel.
  • One adult item makes the whole channel adult, so Kids profiles and the adult lock hide it. Items from a private category are allowed only on a channel restricted to packages that grant that category.
  • The group starts as the pool's main category (for example Films), never "Live+". Viewers see the group name in M3U and Xtream players, so a group called "Live+" would show them a mark the channel otherwise never has.
  • The content stays yours. Live+ schedules only media you already hold in the suite; BGPVR is the software vendor and supplies no content.