Commit graph

47 commits

Author SHA1 Message Date
Gabe Kangas
47770feaa5 Remove TODO 2020-12-16 22:59:13 -08:00
Gabe Kangas
0b66f3b79f
Support video-only streams if there is no audio in the inbound stream. (#401)
Closes #400
2020-12-02 00:19:55 -08:00
Gabe Kangas
036a981ef3 Removing transcoding performance warnings. Not currently helpful. 2020-11-19 22:40:09 -08:00
Gabe Kangas
92dc98a0ea Make things not break if video passthrough is enabled + update admin to display video settings a bit clearer. A start to #306 2020-11-19 22:12:48 -08:00
Gabe Kangas
a24dbc418b Tame down encoding performance alerts. Closes #338 2020-11-16 21:02:48 -08:00
Gabe Kangas
4d2066a76d
Start cleaning up linter errors. (#358)
* Start cleaning up linter errors. For #357

* Fix unmarshalling NullTime values

* More linter fixes

* Remove commented code

* Move defer up

* Consolidate error check lines

* Move error check to make sure row iteration was successful

* Cleaner error check + do not recreate pipe if it exists

* Consolidate hashing to generate client id
2020-11-14 18:39:53 -08:00
Christian Muehlhaeuser
2e1f8d29b5
Fix godoc style comments (#356) 2020-11-12 15:14:59 -08:00
Christian Muehlhaeuser
3f9dd2870f
Explicitly ignore io.Copy's return values (#352)
We're probably ignoring any errors here, since we're writing to a memory
buffer here. Let's make it clear we didn't just forget to check, but
really want to ignore these values.
2020-11-12 14:42:01 -08:00
Christian Muehlhaeuser
2c504eb8be
Handle filepath.Walk errors (#351) 2020-11-12 14:29:17 -08:00
Christian Muehlhaeuser
00129c5942
Stick to the documented default bitrate of 1200 in case of config parsing issues (#350) 2020-11-12 14:23:52 -08:00
Christian Muehlhaeuser
21df28160a
Avoid unnecessary conversion (#349) 2020-11-12 14:18:32 -08:00
Christian Muehlhaeuser
8d9eb1e79f
Log potential errors returned by http.ListenAndServe (#345) 2020-11-12 12:42:18 -08:00
Gabe Kangas
a9586b03fc Disable persistent http connections in transcoder 2020-11-11 00:28:01 -08:00
Gabe Kangas
34fe55b5a3 Add getter for stream variant encoder preset w/ test 2020-10-26 09:14:20 -07:00
Gabe Kangas
2b8aea8797 Support a local working directory copy of ffmpeg. Closes #276 2020-10-21 21:47:42 -07:00
Gabe Kangas
ea9579d899 Add multiple variants to the transcoder test 2020-10-19 21:34:42 -07:00
bitspill
bfbac8cc57
Variable collisions; Possible use of nil value (#256)
* Variable '*' collides with imported package name

* Variable 'error' collides with builtin interface

* '*' may have 'nil' or other unexpected value as its corresponding error variable may be not 'nil'
2020-10-16 15:04:31 -07:00
Gabe Kangas
8f740c4cb6 Cleanup private and optinally public segments on a timer instead of after every save. Closes #254 2020-10-15 17:50:17 -07:00
Gabe Kangas
6ea9affce0
HLS video handling/storage/state refactor (#151)
* WIP with new transcoder progress monitor

* A whole different WIP in progress monitoring via local PUTs

* Use an actual hls playlist parser to rewrite master playlist

* Cleanup

* Private vs public path for thumbnail generation

* Allow each storage provider to make decisions of how to store different types of files

* Simplify inbound file writes

* Revert

* Split out set stream as connected/disconnected state methods

* Update videojs

* Add comment about the hls handler

* Rework of the offline stream state.  For #85

* Delete old unreferenced video segment files from disk

* Cleanup all segments and revert to a completely offline state after 5min

* Stop thumbnail generation on stream stop. Copy logo to thumbnail on cleanup.

* Update transcoder test

* Add comment

* Return http 200 on success to transcoder. Tweak how files are written to disk

* Force pixel color format in transcoder

* Add debugging info for S3 transfers. Add default ACL.

* Fix cleanup timer

* Reset session stats when we cleanup the session.

* Put log file back

* Update test

* File should not be a part of this commit

* Add centralized shared performance timer for use anywhere

* Post-rebase cleanup

* Support returning nil from storage provider save

* Updates to reflect package changes + other updates in master

* Fix storage providers being overwritten

* Do not return pointer in save. Support cache headers with S3 providers

* Split out videojs + vhs and point to specific working versions of them

* Bump vjs and vhs versions

* Fix test

* Remove unused

* Update upload warning message

* No longer valid comment

* Pin videojs and vhs versions
2020-10-14 14:07:38 -07:00
leowmjw
769fc3a561
Fixes #211: Update mod paths (#221)
Co-authored-by: Michael Leow <mleow@moneylion.com>
2020-10-05 10:07:09 -07:00
Gabe Kangas
922dfec77a
Remove custom paths and add constants (#216) 2020-10-03 14:35:03 -07:00
Gabe Kangas
9b7784634b
First pass at YP registration/configuration (#209)
* Spike: Ping YP service with instance details

* WIP: Add to the config to support YP

* Add YP response endpoint

* Handle YP errors. Use config. Off by default

* Show message about YP support on launch

* Add animated gif preview when generating thumb

* Increase quality of preview gif and only create it if YP is enabled

* Do not allow re-registration by clearing the key

* Make large and small logos actually structured

* Change log level

* Fix default YP service URL

* Point to default hostname

* Set default value for YP to false
2020-10-01 23:55:38 -07:00
Anoop
6946d4b3ea
Make video segment filename unique (#214)
* Make video segment filename unique

* fix typo

* Remove type casting function
2020-10-01 23:34:29 -07:00
Gabe Kangas
ef3796a033 Use default video variants if none supplied. Fixes #199 2020-09-27 20:12:45 -07:00
Gabe Kangas
d21f136120
Transcoder updates for bitrate validator warnings (#106)
* Transcoder updates for validator warnings (gop, max-bitrates) for #50

* Make the variant settings easier to set/read in code

* Update test to reflect update to transcoder

* Reduce the buffer to give it a little more room to improve the quality. It feels a bit crunched right now.

* Fix test due to changed bitrate buffer ratios

* Tweak buffer size one more time to get errors in the validator to zero

* Saw errors w/ different bitrates, so tweaking it again
2020-08-06 12:19:35 -07:00
Gabe Kangas
b754ee01bf Remove IPFS. For #74 2020-07-19 21:15:53 -07:00
Gabe Kangas
2afde7b3f9 Fix missing default video bitrate if none is supplied 2020-07-15 23:56:14 -07:00
Gabe Kangas
95fd8aed96 Added a basic transcoder test 2020-07-14 18:54:52 -07:00
Gabe Kangas
4559bde977 Most things have 30 as a standard fps instead of 25 2020-07-13 20:58:45 -07:00
Gabe Kangas
a9a83f78a3 Set a default framerate so we can specify the correct iframe settings 2020-07-13 19:37:25 -07:00
Gabe Kangas
fe102e7164 Make setting the offline content optional 2020-07-13 15:13:24 -07:00
Gabe Kangas
0027957a33 Make setting the max # of segments in playlist optional 2020-07-13 14:55:21 -07:00
Gabe Kangas
44806d1a8e Make setting save location paths optional 2020-07-13 14:45:54 -07:00
Gabe Kangas
d51901e191 Make setting the segment length optional 2020-07-13 14:39:44 -07:00
Gabe Kangas
51e2e68017 Support default path of ffmpeg and not needing to specify it in the config 2020-07-13 14:32:12 -07:00
Gabe Kangas
2bd016ae15 Add default video settings if none are provided 2020-07-12 09:52:54 -07:00
Gabe Kangas
873e2535f8 Additional log msg 2020-07-12 09:52:54 -07:00
Gabe Kangas
1409477dce Use the built-in AAC codec 2020-07-12 09:52:54 -07:00
Gabe Kangas
8f832dad5a Add support for stopping the transcoding process 2020-07-12 09:52:54 -07:00
Gabe Kangas
6624670813 Do not die if there is a missing audio or video stream in source. #34 2020-07-12 09:52:54 -07:00
Gabe Kangas
f54d1eba38 Add additional logging of ffmpeg output to file. Help troubleshoot #34 2020-07-12 09:52:54 -07:00
Gabe Kangas
4344ab6b00 Revert "Create thumbnail from end of segment. Closes #14"
This reverts commit 266fe51028.
2020-07-06 22:39:07 -07:00
Gabe Kangas
266fe51028 Create thumbnail from end of segment. Closes #14 2020-07-06 22:16:40 -07:00
Gabe Kangas
259923b303 Set logging preferences via command line flags. Closes #20 2020-07-06 21:27:31 -07:00
Gabe Kangas
1133edf716 Use the highest quality video segment to creat thumbnails from. Closes 2020-07-06 20:34:34 -07:00
Gabe Kangas
04dc0796d8
New video transcoder (#27)
* New video transcoder

* Set a smaller max muxing size + logging tweaks

* No need to return an err since it wiill panic anyway

* Use a default encoder preset if one is not supplied

* Rename to NewTranscoder.  Add comments.

* Rename Bitrate to VideoBitrate. Config file changes required with this rename.

* Allow overrides of segment length. Allow offline stream to live in a single segment

* Append offline state video to existin HLS stream instead of overwriting because players do not like that

* Make properties private as they do not need to be exported
2020-06-25 17:44:47 -07:00
Bradley Hilton
487bd12444
Project restructure (#18)
* First pass at restructuring the project; untested but it does compile

* Restructure builds and runs 🎉

* Add the dist folder to the gitignore

* Update core/playlist/monitor.go

* golint and reorganize the monitor.go file

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2020-06-22 18:11:56 -07:00