e0039da2e4
Removed packetization flag for revid-cli as no longer required. Packetization will be decided based on outputs. Removed buffer type definition and Write receiver func in mtsSender_test.go as this is now defined in revid.go. Made ringbuffer size and element size consisten no matter the output methods, as we're now going to only be putting h264 in there. Modified H264 lex function to take an io.Writer rather than an Encoder. Removed destination []loadSender slice from revids fields and added an encoder []stream.Encoder slice to hold encoders used during a particular configuration. Each encoder will write to the desired outputs. Modified logic regarding encoder and sender setup. We now check what outputs we have and add encoders to revid's encoder slice depending on what each output requires. Modified outputClips routine such that it ranges through revid's encoders and encodes to them. They then write to the senders and they handle logic regarding the amount of data they send out and when. They also handle actions to perform on send failures. Wrote multiSender struct which will be written to from encoders. It will then use it's senders to distribute the data accordingly to senders that work with the encoding from said encoders. Modified senders so that their load methods no longer take ring chunks, but rather slices. Modified senders such that their release methods no longer perform chunk closing. |
||
---|---|---|
.circleci | ||
cmd/revid-cli | ||
exp | ||
init | ||
revid | ||
rtmp | ||
startup | ||
stream | ||
Makefile | ||
Readme.md | ||
contributors.txt | ||
go.mod | ||
go.sum |
Readme.md
Readme
av is a collection of tools and packages written in Go for audio-video processing.
Authors
Alan Noble Saxon A. Nelson-Milton saxon.milton@gmail.com
Description
- revid: a tool for re-muxing and re-directing video streams.
- RingBuffer: a package that implements a ring buffer with concurrency control.
License
Copyright (C) 2017 the Australian Ocean Lab (AusOcean).
It is free software: you can redistribute it and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License or more details.
You should have received a copy of the GNU General Public License along with revid in gpl.txt. If not, see GNU licenses.