digital_video_introduction
rav1e
Our great sponsors
digital_video_introduction | rav1e | |
---|---|---|
8 | 70 | |
15,095 | 3,573 | |
- | 1.4% | |
6.2 | 9.2 | |
8 months ago | 5 days ago | |
Jupyter Notebook | Assembly | |
BSD 3-clause "New" or "Revised" License | BSD 2-clause "Simplified" License |
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.
digital_video_introduction
-
Breakdown of AV1 Video Codec
There's a great introduction to video tech, including codecs, at https://github.com/leandromoreira/digital_video_introduction
- A Hands-On Introduction to Video Codec Technology and FFmpeg
-
Topics to cover in a 101 AV class
A couple of AV centric scenarios I'd explore: - Set up two speakers fed with a mono signal, flip the phase on one and have students move around the area. From this introduce constructive and destructive interference and some basic acoustics. - Using an oscilloscope (or just prepped graphics) show a sine wave on an unbalanced line, how this is paired with an inverted copy of itself on a balanced line, and how this works to cancel transmission noise. - With an analogue signal now pictured, introduce analogue to digital conversion and what sample rate and bit depth mean. From this you can also start to introduce why gain staging is important in both pure analogue systems and those where you're bouncing between analogue and digital domains. - Introduce video: colour channels, different ways of representing colour and some (very surface level) compression basics like chroma subsampling. Really good resource for that here. - Introduce base patterns for getting any signals arounds: dedicated circuits (analogue audio, HDMI video, RS-232 control, logic IO) and network based (again for audio, video, and control). Dive intro signal flow, how to read a schematic and where reasoning about each of these modes differs.
-
Crestron DMC-D-4K Class Tips/Things to Watch out For
If you want to keep digging from there, get familiar with the compression on NVX, JPEG-XS, and how it behaves. intoPIX are the upstream vendor that do some of the NVX internals and have some great resources on that here: https://www.intopix.com/jpeg-xs. For a guide on all things digital video I also highly recommend https://github.com/leandromoreira/digital_video_introduction.
-
[OC] Finally managed to sync the moshing effect to the beat of the music, here's what it looks like on a small test section of a music video
Edit: After finishing writing the comment, I realized that it was more technical than I intended, and assumes that the reader has a basic to medium understanding of video compression. If not, I recommend this writeup/tutorial of digital video, especially the section about frame types.
-
Ask HN: How can I learn about video encoding, h.264, ffmpeg, etc.
A good high-level breakdown of H.264: https://sidbala.com/h-264-is-magic/
Associated HN post (although there have been a few): https://news.ycombinator.com/item?id=30710574
More technical: https://github.com/leandromoreira/digital_video_introduction...
-
H.264 is magic: a technical walkthrough
For those interested in this topic, I highly recommend the approachable but more extensive technical introduction at https://github.com/leandromoreira/digital_video_introduction
-
Help and guidance for a Coding interview for the role of Media Video Engineer (Video Quality)
Go look at this. https://github.com/leandromoreira/digital_video_introduction
rav1e
-
Learn x86-64 assembly by writing a GUI from scratch
Sure. You'll see it very often in codec implementations. From rav1e, a fast AV1 encoder mostly written in Rust: https://github.com/xiph/rav1e/tree/master/src/x86
Large portions of the algorithm have been translated into assembly for ARM and x86. Shaving even a couple percent off something like motion compensation search will add up to meaningful gains.
Or the current reference implementation of JPEG: https://github.com/libjpeg-turbo/libjpeg-turbo/tree/main/sim...
-
SISVEL VP9/AV1 patent declared invalid in China
Again, if anything AOM would be the one restricting licenses to AV1 (if they chose to) except AOM has stated and also published AV1 in a way to allow license free access to development (which allows people to make forks of the official build like it's open source) and usage. (1)(2) I don't see why they would suddenly change this.
- Any new Opensource projects in (rust) looking for contributors. I want to start my journey as an OSS contributor.
- assembly from dav1d 1.1.0 now integrated into rav1e
-
A little script to parse large libraries to AV1, if you're interested
You can speed up the sampling process with --vmaf n_subsample=5, which in my experience works more accurately than either 2 or 4, possibly due to this bug/feature present in multiple encoders. You might also need to manually set the number of threads used for VMAF calculation with --vmaf n_threads=16, but YMMV.
-
rav1d: a Rust port of dav1d (currently experimental)
That remember me of https://github.com/xiph/rav1e which is an AV1 encoder
- A Safer High Performance AV1 Decoder
-
rav1e wrong mastering-display output?
I put in the request for ffmpeg passthrough mastering-display data a few years ago and haven't heard of any support yet.
-
HDR10, HDR10+, Dolby Vision with AV1?
It's getting there.. Initial steps for FFmepg: https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=8444 rav1e: https://github.com/xiph/rav1e/pull/3000
-
Release Notes: Safari 16.4 Beta adds AV1 codec + hardware decode for WebRTC
It's entirely possible to re-use bits of other HW encoders for the first pass (motion estimation, etc).
What are some alternatives?
PHP-FFmpeg-video-streaming - 📼 Package media content for online streaming(DASH and HLS) using FFmpeg
SVT-AV1
Av1an - Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding
dav1d - A read-only mirror of dav1d source code repository. The origin is at https://code.videolan.org/videolan/dav1d/
VVCEasy - VVCEasy is that you don't have to compile or/and coding to encode VVC (known as Versatile Video Codec). Simple. Easy. Encode. Decode
SVT-AV1 - Welcome to the GitHub repo for the SVT-AV1! This repo is set to read-only for archiving purposes. Please join us at https://gitlab.com/AOMediaCodec/SVT-AV1. We look forward to seeing you there
ffmpeg-build-script - The FFmpeg build script provides an easy way to build a static FFmpeg on OSX and Linux with non-free codecs included.
NotEnoughAV1Encodes - GUI for AV1 (aomenc, rav1e & svt-av1)
obs-amd-encoder - AMD Advanced Media Framework Encoder Plugin for Open Broadcaster Studio
SwiftFFmpeg - A Swift wrapper for the FFmpeg API
libavif - libavif - Library for encoding and decoding .avif files