Compare commits
4 Commits
useful-stu
...
master
Author | SHA1 | Date |
---|---|---|
dexterlb | 150e442f37 | |
dexterlb | d57f6258bb | |
dexterlb | acf7d44fb3 | |
dexterlb | a36a5906f8 |
|
@ -0,0 +1,19 @@
|
||||||
|
# Binaries for programs and plugins
|
||||||
|
*.exe
|
||||||
|
*.exe~
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Test binary, built with `go test -c`
|
||||||
|
*.test
|
||||||
|
|
||||||
|
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||||
|
*.out
|
||||||
|
|
||||||
|
# Dependency directories (remove the comment below to include it)
|
||||||
|
# vendor/
|
||||||
|
|
||||||
|
# Go workspace file
|
||||||
|
go.work
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"git.openfest.org/Video/openfest-video/break_player/mainservice"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
if len(os.Args) != 2 {
|
||||||
|
fmt.Fprintf(os.Stdout, "usage: %s <yaml config filename>\n", os.Args[0])
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
svc, err := mainservice.New(os.Args[1])
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stdout, "could not init main service: %s\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = svc.Serve()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stdout, "server died: %s\n", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
web_server:
|
||||||
|
bind: '[::]:8000'
|
||||||
|
|
||||||
|
player:
|
||||||
|
initial_playlist: 'off'
|
||||||
|
start_volume: 100
|
||||||
|
reset_volume_at_each_play: true
|
||||||
|
|
||||||
|
playlists:
|
||||||
|
- name: 'promo'
|
||||||
|
order: 'sequential'
|
||||||
|
media:
|
||||||
|
- '/home/human/s/random/blender_movies/big_buck_bunny_720_stereo-720p.mp4'
|
||||||
|
- '/home/human/s/random/blender_movies/sintel-the-movie-720p.mp4'
|
||||||
|
|
||||||
|
- name: 'openart_casting_couch'
|
||||||
|
media:
|
||||||
|
- 'rtmp://strm.ludost.net/openfest_interviews'
|
||||||
|
|
||||||
|
- name: 'openart_lecture'
|
||||||
|
media:
|
||||||
|
- 'rtmp://strm.ludost.net/openfest_interviews'
|
||||||
|
|
||||||
|
- name: 'ads'
|
||||||
|
order: 'shuffle'
|
||||||
|
media:
|
||||||
|
- '/home/human/s/random/blender_movies/big_buck_bunny_720_stereo-720p.mp4'
|
||||||
|
- '/home/human/s/random/blender_movies/sintel-the-movie-720p.mp4'
|
||||||
|
- '/home/human/s/random/blender_movies/elephants-dream-1080p.mp4'
|
||||||
|
- '/home/human/s/random/blender_movies/tears-of-steel.mp4'
|
||||||
|
|
||||||
|
- name: 'off'
|
||||||
|
media:
|
||||||
|
- '/home/human/s/random/placeholder.png'
|
|
@ -0,0 +1,3 @@
|
||||||
|
module git.openfest.org/Video/openfest-video/break_player
|
||||||
|
|
||||||
|
go 1.22.2
|
|
@ -0,0 +1,16 @@
|
||||||
|
package mainservice
|
||||||
|
|
||||||
|
type MainService struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(configFileName string) (*MainService, error) {
|
||||||
|
// parse config
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *MainService) Serve() error {
|
||||||
|
// start web server in goroutine
|
||||||
|
// start mpvipc in another goroutine
|
||||||
|
// go!
|
||||||
|
return nil
|
||||||
|
}
|
|
@ -1,41 +0,0 @@
|
||||||
# Useful Stuff
|
|
||||||
|
|
||||||
This file contains information, links, tools/commands that can be useful for the video team.
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
### Test Presentation
|
|
||||||
|
|
||||||
http://tochev.net/presentation-test/
|
|
||||||
|
|
||||||
### Sample RTMP Stream
|
|
||||||
|
|
||||||
```sh
|
|
||||||
ffmpeg -re -f lavfi -i testsrc=size=1920x1080:rate=30 -f lavfi -i "sine=frequency=220" -c:v libx264 -tune zerolatency -af "volume=1.0" -c:a aac -f flv rtmp://localhost/test.stream
|
|
||||||
```
|
|
||||||
|
|
||||||
The above command will send a 1080p test pattern with sine audio.
|
|
||||||
|
|
||||||
## Tools
|
|
||||||
|
|
||||||
### Play Video with Audio Bar
|
|
||||||
|
|
||||||
```sh
|
|
||||||
mpv --mute --demuxer-lavf-analyzeduration=30 --lavfi-complex='[aid1] asplit [t1] [ao] ; [t1] showvolume=w=1000:h=100 [t2] ; [vid1] [t2] overlay [vo]' SOME_VIDEO_SOURCE
|
|
||||||
```
|
|
||||||
|
|
||||||
Remove `--mute` if you want to start the video with an audible audio.
|
|
||||||
|
|
||||||
### ffprobe
|
|
||||||
|
|
||||||
```sh
|
|
||||||
ffprobe SOME_VIDEO_SOURCE
|
|
||||||
```
|
|
||||||
|
|
||||||
Test the resolution, length, codec, etc. of a video source.
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
|
|
||||||
### Royalty-Free Music
|
|
||||||
|
|
||||||
- https://pixabay.com/music/ (do check the license of the file)
|
|
Loading…
Reference in New Issue