theopponent / mr-otcs Goto Github PK
View Code? Open in Web Editor NEWAutomated video looping, streaming, and schedule generation
License: MIT License
Automated video looping, streaming, and schedule generation
License: MIT License
[Info] RTMP process started on 2024-05-20 15:46:22.413979.
[Play] 20. /home/pi/videos/b.mp4 - Length: 0:18:05.
[Info] 47:40:53 left before restart.
[Notice] Not writing schedule for b: Name matches SCHEDULE_EXCLUDE_FILE_PATTERN.
[Info] Encoding started on 2024-05-20 15:46:22.414878.
[Error] RTMP process ended unexpectedly on 2024-05-20 15:46:22.466986, exit code 1. Restarting stream.
[Error] Stream interrupted. Attempting to restart.
RETRY_ATTEMPTS
timesWhen running the python script I keep getting this error message
[NULL @ 0x2996aa0] Failed to parse extradata
[h264_omx @ 0x29ab1c0] /opt/vc/lib/libopenmaxil.so not found
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
Would you have any idea what could be wrong with this?
i.e. up to the next 8 hours of content. It should be possible since all of the upcoming video lengths are calculated in advance.
Attempt to keep the stream alive while searching for a missing file.
For certain types of videos like station breaks or commercials, it may not be desirable to add them to the schedule. For these videos, allow the user to define a file name pattern that excludes matches from getting added to the schedule. Their lengths will still be calculated and added to the length of the previous file so that subsequent videos are offset properly.
This would allow very short video files like commercials to be automatically excluded from the schedule file without needing to add their file names to SCHEDULE_EXCLUDE_FILE_PATTERN
.
Hello mate.
Hope you can help me out here. I'm setting this up on a small Ubuntu VM but I've run into a small issue when starting ./ffmpeg gives the error...
root@Ubuntu20:/home/joe/mr-otcs-1.5.2# ./ffmpeg.sh ./ffmpeg.sh: line 16: ts: command not found
Nginx is running with the RTMP module, stream key is working and paths are set correctly.
When installing ffmpeg fork on Debian.
Resolved easy by apt install yasm
, though.
I've attempted to make a docker container for mr-otcs to run on a Synology NAS and am getting the following errors looping forever that aren't clear as to the cause.
[Info] RTMP process started on 2023-10-21 17:24:02.933743.
[Play] 1. /videos/test.mkv - Length: 0:04:48.
[Info] 47:54:10 left before restart.
[Info] Encoding started on 2023-10-21 17:24:03.004853.
[Error] RTMP process ended unexpectedly on 2023-10-21 17:24:03.415517, exit code 1. Restarting stream.
[Error] Stream interrupted. Attempting to restart.
I realize that's out of the scope of your project, but was hoping you may have had some insight where to look to find what's happening to the stream.
Find more efficient ways to work with lists or thread the schedule generation process somehow.
Add up cumulative duration of played videos. If the duration of the next video will exceed 48 hours, restart the stream before continuing the playlist.
For unknown reasons, the relay ffmpeg process will fail to reconnect to the third-party RTMP destination following a disconnect, requiring a restart of ffmpeg.sh.
Write lengths in a JSON file or something. This assumes lengths won't change while the script runs.
This would allow for a natural end to the stream without interrupting programming if immediate termination is not needed or desired.
Check if there's at least one actual filename in MEDIA_PLAYLIST
. Infinite loop happens if the playlist has no valid entries.
When encoding videos with differing framerates, such as 60 FPS to 30 FPS, after the higher framerate video finishes and the lower framerate video begins, the stream loses audio until it is restarted manually. Changing the video encoding parameters on either the encoding or RTMP processes does not appear to resolve the issue.
Related to #7, ffmpeg padding should be accounted for in video duration calculation.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.