HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelfโ™ง 0
โ† Back to top all-time
leandromoreira
digital_video_introduction
Jupyter Notebook2017โ€“2023
leandromoreira / digital_video_introduction

digital_video_introduction

A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding). Translations: ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ฐ๐Ÿ‡ท ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ช๐Ÿ‡ธ

15Distinct people
20Mentions
2Explicit recommenders
16.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding). Translations: ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ฐ๐Ÿ‡ท ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ช๐Ÿ‡ธ

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

A couple of years ago I started architecting transcoding/streaming video pipelines on AWS for my work. It sparked a general interest/curiosity into the internal workings ofโ€ฆ

nowahe used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7โ€“Nov 14 UTC ยท Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year20 dated mentions

Observed mentions: 2017-03-22 18:55:15 UTC to 2023-12-25 14:25:08 UTC.

0123452017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 3 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2023

Counts come from the repositoryโ€™s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC422
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC110
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC532
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC422
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC404
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC211

What Hacker News says

20 sources
nowaheยทJun 24, 2022Recommendation phrase
A couple of years ago I started architecting transcoding/streaming video pipelines on AWS for my work. It sparked a general interest/curiosity into the internal workings of video compression algorithms, which then allowed me to revisit a subject I've always wanted to try out, datamoshing. Something about purposefully breaking codecs to generate artifacts that lets you peak at their inner workings really nerd sniped me. The most advanced video I was able to create is this datamoshed version of Carpenter Brut - Turbo Killer clip : https://streamable.com/7d9h4b. I'm particularly proud/pleased with the transition at the 2:00 minute mark. It still a long way from what I would want to be able to accomplish (as the moshing is still pretty random and looks good only by "chance"), but I'm pretty happy with my progress overall. My long term goal fo
Read the rest
r it would be able to create moshing of music video clips, and sync the glitching to the beat/structure of the music (using Spotify Audio Analysis feature [0][1]). As a sidenote, a tool I discovered and has been a godsend into tinkering with video codecs is FFglitch[2]. It's a fork of FFmpeg with the ability to directly access and modify internal MPEG2/4 values (such as the Motion Vectors, macroblocks, DCT coefficient, etc). Compared to other datamoshing techniques (such as corrupting AVI files with random data, manual key frames deletion, etc) it's order of magnitudes more advanced and precise, allowing you to precisely and purposefully influence the codec, instead of randomly breaking it and seeing what sticks. However its downside is that you have to have a solid grasp of the inner workings of those codecs to achieve anything. Finally, for anyone looking for a good resource to get an understanding of Video Encoding, I highly recommend this[3] github repo as a starting point. It contains a good description of the workings, as well as an amazing references list. [0]: https://developer.spotify.com/documentation/web-api/referenc... [1]: https://spotify-audio-analysis.glitch.me/ [2]: https://ffglitch.org/ [3]: https://github.com/leandromoreira/digital_video_introduction
In Ask HN: Your admittedly useless side projects?
We actually built How Video Works as a side project at Mux [1] (inspired by How DNS Works [2]) - there's a note about it at the top of the page. We have contributions from our own team as well as others in the industry. Our main motivation is to try to educate on the complexities and intracies of streaming video. Despite streaming video representing 80+% of the internet, it's all underpinned by a fairly small community of engineers, which we're eager to help grow through tools like this, and the Demuxed community [3]. Edit: I should also mention that Leandro was kind enough to adapt a this content from his amazing Digital Video Introduction [4] [1] https://mux.com/ [2] https://howdns.works/ [3] https://2021.demuxed.com/ [4] https://github.com/leandromoreira/digital_video_introduction
In How Video Streaming Processing Works
Most likely you are transcoding the video instead of copying the raw stream. A lot of more complicated stuff requires that but things like trimming can be done the fast way by simply cutting of the irrelevant pieces in the raw encoded data itself which is much faster. Itโ€™s kind of a sport to find the exact string of flags that has the correct effect without transcoding :) The reason it often fails is that ffmpeg can do so many things that any time you are using some curious combination of flag A, B and C is likely that no one else has ever done that and there are some side effects ;) Anyway, some of it can be avoided by learning how containers en codecs work, what I-frames are and all the other nitty gritty details of the world of video where there is so much to learn! Hereโ€™s a great intro to get started for anyone who got curious: https:
Read the rest
In FFmpeg 4.3
To be fair the article does that. The above URL just links to an anchor in the middle where it talks about codec implementation. For instance this quote from the article "We learned that it's not feasible to use video without any compression; a single one hour video at 720p resolution with 30fps would require 278GB*. Since using solely lossless data compression algorithms like DEFLATE (used in PKZIP, Gzip, and PNG), won't decrease the required bandwidth sufficiently we need to find other ways to compress the video. ... In order to do this, we can exploit how our vision works. We're better at distinguishing brightness than colors, the repetitions in time, a video contains a lot of images with few changes, and the repetitions within the image, each frame also contains many areas using the same or similar color." https://github.com/leandromo
Read the rest
In How does a video codec work?

Showing the 15 most recent of 20 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.