Skip to content

Commit 136f959

Browse files
committed
Revert "Merge pull request #134 from btelliot/5.3-develop"
This reverts commit 927a74b, reversing changes made to 83513cd.
1 parent 927a74b commit 136f959

File tree

7 files changed

+12611
-12752
lines changed

7 files changed

+12611
-12752
lines changed

README.md

Lines changed: 21 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,32 @@
1-
# OpenBroadcaster Player
1+
---
2+
layout: default
3+
title: index
4+
---
25

3-
## Project Overview
6+
* TOC
7+
{:toc}
48

5-
OpenBroadcaster Player (OBPlayer) is an open-source media playback and broadcasting tool for radio stations and media professionals. It works with OBServer to play scheduled media but can also function as a standalone or network-controlled player. Designed for continuous broadcasting, OBPlayer syncs with OBServer to update schedules, media, and priority broadcasts. If the schedule has gaps, it plays a default playlist. If that fails, it switches to Fallback Media Mode, then to analog input bypass, and finally to a test signal as a last resort. OBPlayer always prioritizes valid Common Alerting Protocol (CAP) messages.
69

7-
## Key Features
8-
- Multi-format media playback (audio, video, images)
9-
- Live assist web interface
10-
- Support for multiple streaming protocols
11-
- Configurable outputs
12-
- Remote override capabilities
13-
- Integrated logging and monitoring
14-
- Automatic fallback mechanisms
15-
- Emergency alert (CAP) prioritization
10+
## About the Player
11+
{:toc}
1612

17-
## Supported Configurations
18-
- Headless OBPlayer (CLI process)
19-
- GTK Desktop application
13+
OBPlayer is a stable and secure UNIX-based media streaming playout application that can operate as a standalone player or controlled over a network by a managing OBServer instance. It can be installed remotely at a transmitter site, in the studio or as a virtual headless process on a server.
2014

21-
## Dependencies
15+
OBPlayer is built with rules based intelligence to continue broadcasting no matter what happens. It functions by continually syncing with OBServer, looking for updated schedules, media, and priority broadcasts. If there is a blank spot in the schedule, it falls back to a Default Playlist. If that fails, it goes into Fallback Media Mode. If that fails, it plays from the analog input bypass. Finally, it will play a test signal as a last resort.
2216

23-
### Core Dependencies
24-
- Python 3.7+
25-
- GStreamer 1.0+
26-
- GTK 3.x
27-
- inotify
28-
- requests
29-
- gi (GObject Introspection)
30-
- FFmpeg
17+
OBPlayer will always play valid CAP (Common Alerting Protocol) Alerts at the highest priority.
3118

19+
OBPlayer can be run in a variety of configurations:
3220

33-
## Installation
34-
OBPlayer is designed to run on Linux Ubuntu 24.04. Installation scripts and containerized versions are available:
35-
- [Reference Installer](https://github.com/pikaspace/openbroadcaster-reference-installer/blob/main/ubuntu-noble-obplayer.sh)
36-
- [Containerized Version](https://github.com/btelliot/openbroadcaster-containers)
21+
+ Headless OBPlayer (Virtual Process)
22+
+ LIVE Assist with Mobile HTML5 Touch Screen interface
23+
+ GTK desktop application for a Digital Video Screen.
24+
+ Standalone Emergency Alerting CAP Player supporting audio, image and video
25+
+ Coming Soon Support For IPAWS CAP Profile Version 1.0
3726

38-
## Core Modules
27+
OpenBroadcaster Player
28+
https://openbroadcaster.com/
3929

40-
### `Scheduler/`
41-
- Manages media scheduling and playlists
42-
- Handles show timing, transitions, and priority content
43-
- Fallback content management
30+
Copyright 2012-2024 OpenBroadcaster, Inc.
4431

45-
### `Player/`
46-
- GStreamer-based media playback engine
47-
- Supports audio/video pipelines, transitions, and multiple outputs
48-
- Includes playback logging and error recovery
49-
50-
### `HTTPAdmin/`
51-
- Web dashboard for managing and monitoring the player
52-
- Provides secure configuration, alert management, and playback control
53-
54-
### `LiveAssist/`
55-
- Web-based control interface for real-time playback and microphone input
56-
- Playlist management and playback control
57-
58-
### `Streamer/`
59-
- Handles output streaming with protocols like Icecast and RTMP
60-
- Manages stream encoding and network connectivity
61-
62-
63-
## Priority System
64-
65-
1. **Highest Priority**
66-
- Emergency alerts (CAP)
67-
- Station override signals
68-
- Live assist input
69-
70-
2. **Normal Priority**
71-
- Scheduled content
72-
- Regular playlists
73-
- Advertisements
74-
75-
3. **Fallback Priority**
76-
- Default playlist
77-
- Fallback media
78-
- Test signal
79-
80-
## Contributing
81-
82-
1. Fork the repository
83-
2. Create a feature branch
84-
3. Commit your changes
85-
4. Push to the branch
86-
5. Create a Pull Request
87-
88-
## License
89-
90-
OpenBroadcaster Player is released under the GNU Affero General Public License v3.0.
91-
92-
## Support
93-
94-
- GitHub Issues: https://github.com/openbroadcaster/obplayer/issues
95-
- Support Website: https://support.openbroadcaster.com/
32+
Licensed under GNU AGPLv3. See COPYING.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.3.0-20250104
1+
5.3.0-20240601

obplayer/data.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -425,16 +425,6 @@ def validate_setting(self, setting_name, setting_value, settings=None):
425425
):
426426
return "station_override_passwords_invalid"
427427

428-
if setting_name == "fade_duration":
429-
try:
430-
fade_value = float(setting_value)
431-
if fade_value < 0:
432-
return "fade_duration_invalid"
433-
if fade_value > 20:
434-
return "fade_duration_too_long"
435-
except ValueError:
436-
return "fade_duration_not_numeric"
437-
438428
return None
439429

440430
"""
@@ -450,7 +440,6 @@ def check_defaults(self):
450440
"audio_caps",
451441
"audio/x-raw,channels=2,rate=44100,format=S16LE,layout=interleaved",
452442
)
453-
self.add_setting("fade_duration", "5.0", "float")
454443
self.add_setting("audio_out_mode", "auto", "text")
455444
self.add_setting("audio_out_alsa_device", "default", "text")
456445
self.add_setting("audio_out_jack_name", "", "text")

0 commit comments

Comments
 (0)