Symphonia
FFmpeg
Our great sponsors
Symphonia | FFmpeg | |
---|---|---|
30 | 485 | |
2,102 | 42,374 | |
- | 2.5% | |
7.9 | 10.0 | |
21 days ago | about 3 hours ago | |
Rust | C | |
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
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.
Symphonia
-
Festival v1.0.0 - A music player
Symphonia for an amazing audio library
-
Streaming audio from url
Are you trying to play audio from something like an internet radio station where the stream has an infinite length? The content length header is optional. It uses that to support seeking within the file. Symphonia, one of the underlying backends for Rodio, has an option to tell the decoder that the source is not seekable if the size of the file is not known. Unfortunately, Rodio currently hardcodes this setting to true https://github.com/RustAudio/rodio/blob/master/src/decoder/read_seek_source.rs#L19. I actually wrote this code a few years ago so I should know this, but I can't remember why exactly. I think there was no easy way to communicate this information to Rodio since the other backends don't have a setting like this. The other Rodio backends may handle this differently. There's a lot of great info in this discussion on the Symphonia repo about this use case which helped me with my implementation: https://github.com/pdeljanov/Symphonia/discussions/153
-
Any libraries for Decoding AND Encoding to Opus audio codec?
Everything I can find on the internet seems to be abandoned. Opus-rs, Magnum, Magnum Opus, ect. Symphonia has been working on it for over 2 years, with work still ongoing. Heck, even FFMPEG seems to not have full support yet!. Is there any library that I have overlooked that provides this functionality?
-
Announcing zune-jpeg: Rust's fastest JPEG decoder
In other areas, miniz_oxide is faster than miniz, Symphonia is faster than ffmpeg on most codecs, the not-yet-announced zune-png beats both libpng and the more heavily optimized libspng, and the png crate is getting considerable improvements too and also beats libpng.
- What would you rewrite in Rust?
- Symphonia – a pure Rust audio decoding and media demuxing library
-
Symphonia v0.5.2: Audio decoding in safe Rust, now often faster than FFmpeg!
Symphonia is an audio decoder framework in 100% safe Rust supporting the most popular media formats (MP4/M4A, OGG, MKV/WebM, WAV) and audio codecs (AAC-LC, ADPCM, ALAC, FLAC, MP1/2/3, Vorbis, PCM).
-
Introducing the Music Player: A High-Performance, Extensible Application for Digital Audio Playback
The Music Player is based on Rodio, which is a high-performance audio playback library for Rust, and Symphonia, which is a Rust library for working with music metadata and audio decoding. This allows the Music Player to provide high-quality audio playback and management.
- BWF WAV Reading/Processing/Writing
-
How do I create a video merging tool in rust?
You can look at symphonia for a pure Rust solution.
FFmpeg
-
Show HN: CompressX, my FFmpeg wrapper for macOS, made $9k in the last 4 months
GPL2
Since FFmpeg is GPL2, doesn’t that require CompressX to disclose its source code?
IANAL, apologies if I miss understand license requirements.
https://github.com/FFmpeg/FFmpeg?tab=License-1-ov-file
- Microsoft offered FFmpeg one-time payment instead of support contract
-
Writing x86 SIMD using x86inc.asm (2017)
This turns out to be a lot of assembly macros to help write one x86 assembly. https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/x86/x...
The sibling comment recommending compiler intrinsics is probably the best way to go for writing SIMD code. A mixture of `` style types and intrinsics to specify instructions is a solid 90% solution compared to assembly.
If you want that last 10%, I think macros are putting the emphasis in the wrong place. They're a somewhat easy way to build up a language abstraction which will work if held carefully, but I'm confident the dev experience using this abstraction when you write invalid code will be deeply confusing.
I would suggest to write a parser instead of the macros. That'll tell you clearly when the syntax is invalid (though possibly not with much precision) and it'll give you a place to put semantic analysis for where valid syntax encodes nonsense. Do the equivalent of the macro expansions on the parsed tree instead of on the text. Emit asm as the "back end".
-
Video Generation with Python
You might have heard of FFMPEG or ImageMagick for image and video edition in a programmatic way. MoviePy is a Python module for video editing (Python wrapper for FFMPEG and ImageMagick). It provides functions for cutting, concatenations, title insertions, video compositing, video processing, and the creation of custom effects. It can read and write common video and audio formats and be run on any platform with Python 2.7 or 3+.
- I want some logically difficult c programs
- Looking for a good file converter for upload testing
- Best Way to Rip Rare DVDs?
-
11 Ways to Optimize Your Website
There are many cloud-based tools and websites that can convert your images, but the problem with these tools is that you usually have to upload the files for them to be processed, and some of their services are not free. In this article, I'd like to introduce a piece of software called FFmpeg, which allows you convert the images locally with one simple command.
-
AI-assisted removal of filler words from video recordings
To run the demo locally, be sure to have Python 3.11 and FFmpeg installed.
- Noob compression-ist here, looking to compress 10TB worth of video footage...
What are some alternatives?
rodio - Rust audio playback library
mpv - 🎥 Command line video player
swyh-rs - Stream What You Hear written in rust, inspired by SWYH.
ffmpeg-python - Python bindings for FFmpeg - with complex filtering support
rust-id3 - A rust library for reading and writing ID3 metadata
OpenH264 - Open Source H.264 Codec
gitoxide - An idiomatic, lean, fast & safe pure Rust implementation of Git
Exoplayer - An extensible media player for Android
not-yet-awesome-rust - A curated list of Rust code and resources that do NOT exist yet, but would be beneficial to the Rust community.
hlsdl - C program to download VoD HLS (.m3u8) files
lofty-rs - Audio metadata library
GStreamer - GStreamer open-source multimedia framework