Sections

FFmpeg 8.0 "Huffman"

Mike's Notes

FFmpeg has been updated. Used by Pipi. Automation via the Command Line.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

26/08/2025

FFmpeg 8.0 "Huffman"

By: FFmpeg
FFmpeg: 22/08/2025

A complete, cross-platform solution to record, convert and stream audio and video.

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.

It contains libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale and libswresample which can be used by applications. As well as ffmpeg, ffplay and ffprobe which can be used by end users for transcoding and playing.

The FFmpeg project tries to provide the best technically possible solution for developers of applications and end users alike. To achieve this we combine the best free software options available. We slightly favor our own code to keep the dependencies on other libs low and to maximize code sharing between parts of FFmpeg. Wherever the question of "best" cannot be answered we support both options so the end user can choose.

+++++++++++++

A new major release, FFmpeg 8.0 "Huffman", is now available for download. Thanks to several delays, and modernization of our entire infrastructure, this release ended up being one of our largest releases to date. In short, its new features are:

  • Native decoders: APV, ProRes RAW, RealVideo 6.0, Sanyo LD-ADPCM, G.728
  • VVC decoder improvements: IBC, ACT, Palette Mode
  • Vulkan compute-based codecs: FFv1 (encode and decode), ProRes RAW (decode only)
  • Hardware accelerated decoding: Vulkan VP9, VAAPI VVC, OpenHarmony H264/5
  • Hardware accelerated encoding: Vulkan AV1, OpenHarmony H264/5
  • Formats: MCC, G.728, Whip, APV
  • Filters: colordetect, pad_cuda, scale_d3d11, Whisper, and others

A new class of decoders and encoders based on pure Vulkan compute implementation have been added. Vulkan is a cross-platform, open standard set of APIs that allows programs to use GPU hardware in various ways, from drawing on screen, to doing calculations, to decoding video via custom hardware accelerators. Rather than using a custom hardware accelerator present, these codecs are based on compute shaders, and work on any implementation of Vulkan 1.3.

Decoders use the same hwaccel API and commands, so users do not need to do anything special to enable them, as enabling Vulkan decoding is sufficient to use them.

Encoders, like our hardware accelerated encoders, require specifying a new encoder (ffv1_vulkan). Currently, the only codecs supported are: FFv1 (encoding and decoding) and ProRes RAW (decode only). ProRes (encode+decode) and VC-2 (encode+decode) implementations are complete and currently in review, to be merged soon and available with the next minor release.

Only codecs specifically designed for parallelized decoding can be implemented in such a way, with more mainstream codecs not being planned for support.

Depending on the hardware, these new codecs can provide very significant speedups, and open up possibilities to work with them for situations like non-linear video editors and lossless screen recording/streaming, so we are excited to learn what our downstream users can make with them.

The project has recently started to modernize its infrastructure. Our mailing list servers have been fully upgraded, and we have recently started to accept contributions via a new forge, available on code.ffmpeg.org, running a Forgejo instance.

As usual, we recommend that users, distributors, and system integrators to upgrade unless they use current git master.

Enterprise plan directory structure

Mike's Notes

Pipi 9 is still highly experimental. I have been very busy working over the last month on the second deployment of Pipi 9 in production.

  • The first (dogfooding) is Ajabbi.com.
  • The second (pilot) is for a national disability rights organisation in NZ.
The second has been very slow, mainly because it involved the migration of an existing website to a new one, which required careful consideration of the organisation's needs, including using 4 languages (English, Maori, NZ Sign Language, AAC), catering for screens-formats (mobile, desktop, braille, screenreaders, kiosk, TV), and personalised profiles to meet accessibility needs. There have been six months of extensive experimentation and user testing using a manually created 1,100-page static website prototype. Last week, the successful importation of existing content into a CMS database occurred. The job now is connecting Pipi 9 up to use this database to automate the future production of all website content.

These notes are about the draft default directory structure used to support that website. All other 26 existing websites have now been migrated to use the same default structure.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

22/08/2025

Enterprise plan directory structure

By: Mike Peters
On a Sandy Beach: 18/08/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

This is the current default directory configuration for enterprise plan customer accounts. It should also work for the digital twins in the Pipi 9 data centre.

The account administrator can edit the configuration file to easily change the location of these key directories for a particular cloud host.

  • AWS
  • Azure
  • GCP
  • IBM
  • Oracle
  • etc. 

On a public-facing website, all of this would be obfuscated using UUIDs, hidden keys, etc

Configuration File

<webserver>/

  • <account name>/
    • com/
    • dat/
    • log/
    • pip/
      • <pipi major version>/
        • i18n/
        • log/
        • <pipi version>.txt
        • sys/
        • temp/
        • template/
          • _include/
          • _layout/
          • _log/
    • plu/
    • tmp/
    • www/
      • <website1.com>/
      • <website2.com>/

Descriptions

Directory Example Use (naming)
webserver bx/ Web server.
account name ajabbi/ User account codename (lowercase, unique ASCII).
com com/ Open-source code packages from GitHub.
dat dat/ Customer data.
log log/ Logs.
pip pip/ Pipi.
pipi major version 9/
10/
Production version of Pipi (major version).
pipi version pipi.9.1.2.34567 ASCII text file (current version).
plu plu/ Open-source plugins.
tmp tmp/Temporary files.
www www/All websites.
website.com wiki.ajabbi.com/ A website (domain name).