* Add support for Windows
* Fixes for Windows
* Update unit tests
* Fix ffreport setting
* Add test script equivalents
* Fix fontconfig error in test stream
* Fix thumbnail generator
* Fix lint warnings
* Fix warnings in test stream script
* Implement cross-platform ocTestStream
* Migrate to cross-platform script
* Revert ocTestStream.sh
* Add missing EOL
* Alternative test scripts for non-linux environments
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* feat: enable Intel Quicksync with support for FFmpeg 4.x to 7.1
* fix(go): fix linter warning
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* add videotoolbox codec
* add -realtime flag for medium and below quality
* add quality level to extra arguments
* use variant flags instead of extra arguments
* add videotoolbox test
* fix test
* Expand the linters and types of warnings to improve consistency and safety
* Fail lint workflow if there are errors
* golint has been replaced by revive
* Hand-pick some of the default exclude list
* Ignore error when trying to delete preview gif
* Ignore linter warning opening playlist path
* Rename user field Id -> ID
* A bunch of renames to address linter warnings
* Rename ChatClient -> Client per linter suggestion best practice
* Rename ChatServer -> Server per linter suggestion best practice
* More linter warning fixes
* Add missing comments to all exported functions and properties
* Query for installed codecs
* Start modeling out codecs
* Can now specify a codec and get the correct settings returned from the model
* Return codecs in admin/serverconfig
* Start handling transcoding errors and return messages to user
* filter available codecs against a whitelist
* Fix merge
* Codecs are working
* Switching between codecs work
* Add apis for setting a custom video codec
* Cleanup the logging of transcoder errors
* Add v4l codec
* Add fetching v4l
* Add support for per-codec presets
* Use updated nvenc encoding parameters
* Update log message
* Some more codec WIP
* Turn off v4l. It is a mess.
* Try to make the lowest latency level a bit more playable
* Use a human redable display name in console messages
* Turn on transcoder persistent connections
* Add more codec-related user-facing error messages
* Give the initial offline state transcoder an id
* Force a minimum segment count of 3
* Disable qsv for now. set x264 specific params in VariantFlags
* Close body in case
* Ignore vbv underflow message, it is not actionable
* Determine a dynamic gop value based on the length of segments
* Add codec-specific tests
* Cleanup
* Ignore goconst lint warnings in codec file
* Troubleshoot omx
* Add more codec tests
* Remove no longer accurate comment
* Bundle admin from codec branch
* Revert back to old setting
* Cleanup list of codecs a bit
* Remove old references to the encoder preset
* Commit updated API documentation
* Update admin bundle
* Commit updated API documentation
* Add codec setting to api spec
* Commit updated API documentation
Co-authored-by: Owncast <owncast@owncast.online>