TGViewer
Just code IT Just code IT @justcodeit_channel · 1.32K subscribers
Post #61 1.82K
Генерируем видео-демонстрации на языке C

В своем блоге Крис Веллонс опубликовал заметку, где рассказал о методе, который он использует для генерации видео-демонстраций.

Подход покупает своим минимализмом: в программе на языке C Крис создает кадры будущего видео в форме Netpbm изображений, а звук генерирует в формате WAV. Оба этих формата достаточно просты для ручной генерации и не требуют внешних зависимостей. Далее отдельные кадры и звук склеиваются при помощи ffmpeg.
Обратите внимание, насколько качественные видеоролики можно получить с таким простым подходом:

Демонстрация алгоритмов сортировки

Демонстрация рейтрейсера

Демонстрация физического движка и рейтрейсера

Такой метод не будет работать без установленной в системе ffmpeg, но эта утилита, как и одноименная библиотека, доступна во всех современных Unix-системах. Можно ли обойтись без нее? Возможно, ведь существуют достаточно простые видеоформаты, например MPEG-1, спецификации которого открыты. Но, конечно, для достижения аналогичного результата придется потрудиться.

#digest
  • 👍 10
More from @justcodeit_channel
  1. Aug 1, 20243D ландшафт в 256 байт Существуют разные виды intro — небольших динамических сцен, генерир…
  2. Jul 17, 2024Практическое погружение в метакомпиляторы Практически у каждого из наших читателей с образ…
  3. Jul 3, 2024Как создаются 64 intro Уверены, многие наши читатели слышали про демосцену — вид цифрового…
  4. Jun 14, 2024Создание программы 3D моделирования за неделю Недавно обнаружили на просторах сети занимат…
  5. May 28, 2024VPN, созданный по принципам Secure-by-design Много кто пишет про подход SbD (Secure-by-des…
  6. Apr 24, 2024Наследие Никлауса Вирта Как известно, 1 января 2024 года не стало Никлауса Вирта (Niklaus…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →