ydls
ffmpeg-go
ydls | ffmpeg-go | |
---|---|---|
1 | 6 | |
177 | 1,460 | |
- | - | |
8.3 | 3.3 | |
17 days ago | 12 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ydls
-
Would you prefer cgo or os/exec to interface with C software?
Agreeing with this. Unless you have very specific performance codec or packaging needs i think external ffmpeg process etc will work fine. In my experience with transcoding the cpu/memory/etc overhead of an external process is usually dwarfed by the actual transcoding workload. Also the extra process overhead is not typically a problem as you can't really do that many concurrent transcodings on one host anyway. If you want some inspiration you can have a look at https://github.com/wader/ydls
ffmpeg-go
-
Ffmpeg wrapper
I have used the ffmpeg-go in the past and found it quite nice. My usecase was decoding the video to raw frames and then directly processing the raw frame bytes further in Go.
-
Put text over video in golang
Any of the ffmpeg wrappers will do it, like this
-
Is there any way to split mp4 in 2 files in Golang?
Obviously this is tongue in cheek. You could probably do this in Go but I'd recommend just using ffmpeg. There are bindings to ffmpeg in Go but I doubt it's going to be easier than writing it directly in C, unless you aren't proficient with C.
-
created a CLI tool [reddit-dl] to help download reddit videos/images/gif
For merging, yes, it's a bit problematic. From what I saw in the community the use of ffmpeg is often made, but not in raw (exec.Cmd). I would recommend the use of https://github.com/u2takey/ffmpeg-go module which provides a convenient API, permitting to defer the load of ffmpeg CLI API. I never used it but it seems a good solution.
-
run exec.Command
I used u2takey/ffmpeg-go to merge two streams (audio and video) in a project, and worked just fine.
-
How to send chunks of audio file to the client?
There is a Go binding for ffmpeg: https://github.com/u2takey/ffmpeg-go
What are some alternatives?
gh-issues-to-rss - Convert github issues and prs into rss feed
reisen - A simple library to extract video and audio frames from media containers (based on libav).
YoutubeDownloaderGoGUI - GUI implementation of the YoutubeDownloaderGo library (https://github.com/Superredstone/youtubeDownloaderGo)
cloud-morph - Decentralize, Self-host Cloud Gaming/Application
rtsp-stream - Out of box solution for RTSP - HLS live stream transcoding. Makes RTSP easy to play in browsers.
gmf - Go Media Framework
tag - ID3, MP4 and OGG/FLAC metadata parsing in Go
go-reddit - Go library for accessing the Reddit API.
podcast - iTunes and RSS 2.0 Podcast Generator in Golang
mp4ff - Library and tools for parsing and writing MP4 files including video, audio and subtitles. The focus is on fragmented files. Includes mp4ff-info, mp4ff-encrypt, mp4ff-decrypt and other tools.
media-roller - A self hosted server to download videos from social media with an iOS shortcut for on-click saving to camera roll
OS-NVR - OS-NVR is a lightweight extensible CCTV system. Mirror of Codeberg.