# FFmpeg (Fast Forward Moving Picture Experts Group)

FFmpeg is a cross-platform software suite for recording, converting, and streaming audio and video, including command-line tools and multimedia libraries.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## A Real IntelliJ IDEA Inside Docker: Integration Tests with X Server, Window Manager, and Live Video

DevFeed: [A Real IntelliJ IDEA Inside Docker: Integration Tests with X Server, Window Manager, and Live Video](<https://devfeed.tech/articles/a-real-intellij-idea-inside-docker-integration-tests-with-x-server-window-manager-and-live-video-25425.md>)

Original publisher: [Read original article](<https://jonnyzzz.com/blog/2026/07/05/intellij-in-docker-integration-tests/>)

Author: Eugene Petrenko

Published: 2026-07-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Eugene Petrenko](<https://devfeed.tech/sources/eugene-petrenko.md>)

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Docker Container](<https://devfeed.tech/topics/docker-container.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [MCP](<https://devfeed.tech/topics/mcp.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [browser](<https://devfeed.tech/tags/browser.md>), [devrig](<https://devfeed.tech/tags/devrig.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-container](<https://devfeed.tech/tags/docker-container.md>), [eugene-petrenko](<https://devfeed.tech/tags/eugene-petrenko.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [gui](<https://devfeed.tech/tags/gui.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [jonnyzzz](<https://devfeed.tech/tags/jonnyzzz.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-steroid](<https://devfeed.tech/tags/mcp-steroid.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [tag-41199d53f463](<https://devfeed.tech/tags/tag-41199d53f463.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This tutorial presents a reusable approach for running full IntelliJ IDEA integration tests inside Docker with a GUI. It covers the container image, X server, window management, IDE control, and streaming live video to a browser, with open-source code in the test-integration module.

### Source excerpt

Evals that boot a full IntelliJ IDEA -- pixels, dialogs, indexing and all -- inside a Docker container. Xvfb provides the display, fluxbox keeps the windows in place, ffmpeg records everything, and a tiny Node.js server streams the live video straight into a browser tab on your machine. Here is the whole recipe, so you can build your own.

## Quickly apply LUTs (color grading) with ffmpeg

DevFeed: [Quickly apply LUTs (color grading) with ffmpeg](<https://devfeed.tech/articles/quickly-apply-luts-color-grading-with-ffmpeg-10457.md>)

Original publisher: [Read original article](<https://www.jeffgeerling.com/blog/2026/apply-lut-color-grade-with-ffmpeg/>)

Author: jeff@jeffgeerling.com (Jeff Geerling)

Published: 2026-06-26T02:23:00Z

Content type: tutorial

Language: en

Sources: [Jeff Geerling](<https://devfeed.tech/sources/jeff-geerling.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Color Grading](<https://devfeed.tech/topics/color-grading.md>)

Tags: [batch](<https://devfeed.tech/tags/batch.md>), [color-grading](<https://devfeed.tech/tags/color-grading.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [lut](<https://devfeed.tech/tags/lut.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A practical guide to applying camera-specific LUTs to Log video with FFmpeg, including batch conversion of MP4 files and hardware-specific encoding considerations.

### Source excerpt

This is a quick post, mostly for my own reference. I've avoided LUTs and 'Log' video footage for years1, mostly because of the extra tiny bit of workflow involved. Like RAW photos, 'Log' footage retains the video sensor's full dynamic range, so you can pull more color and luminance information out of the footage later. But unlike photography, where RAW has been a thing for decades, and many workflows 'just work' without me having to 'grade' every individual photo, in video precious few consumer apps handle Log footage gracefully. You generally end up with a muddy grey mess.

## Security Week 2624: троян в хентай-играх

DevFeed: [Security Week 2624: троян в хентай-играх](<https://devfeed.tech/articles/security-week-2624-23076.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/kaspersky/articles/1045054/>)

Author: Kaspersky\_Lab ("Лаборатория Касперского")

Published: 2026-06-08T17:00:51Z

Content type: news

Language: ru

Sources: ["Лаборатория Касперского" RU](<https://devfeed.tech/sources/ru-2.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [PowerShell](<https://devfeed.tech/topics/powershell.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [argamal](<https://devfeed.tech/tags/argamal.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [github](<https://devfeed.tech/tags/github.md>), [ip](<https://devfeed.tech/tags/ip.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [security](<https://devfeed.tech/tags/security.md>), [tag-9fe8963de219](<https://devfeed.tech/tags/tag-9fe8963de219.md>), [trojan](<https://devfeed.tech/tags/trojan.md>), [udp](<https://devfeed.tech/tags/udp.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

Kaspersky researchers analyzed the Argamal remote-access trojan, distributed with hentai games through file-sharing sites and torrent trackers. Modified ffmpeg.dll files trigger a PowerShell-based infection chain that retrieves an encrypted payload from GitHub and establishes persistence on Windows. The trojan can collect system information, execute commands, manipulate files, capture screenshots, and control the keyboard and mouse.

### Source excerpt

Исследователи "Лаборатории Касперского" опубликовали подробный разбор вредоносного ПО Argamal, распространяемого на специализированных ресурсах вместе с хентай-играми. Данная вредоносная кампания была обнаружена в этом году, хотя некоторые связанные с ней DLL-файлы существовали как минимум с 2024 года. Игры с вредоносным довеском, как правило, заливались на публичный файлообменник, ссылки на который публиковались на тематических веб-сайтах. Распространялись они и через торрент-трекеры. Во всех случаях это был архив с полностью функциональной игрой, которая дополнялась модифицированной библиотекой ffmpeg.dll. Читать далее

## Video Encoding and Decoding with Vulkan Compute Shaders in FFmpeg

DevFeed: [Video Encoding and Decoding with Vulkan Compute Shaders in FFmpeg](<https://devfeed.tech/articles/video-encoding-and-decoding-with-vulkan-compute-shaders-in-ffmpeg-15121.md>)

Original publisher: [Read original article](<https://www.khronos.org/blog/video-encoding-and-decoding-with-vulkan-compute-shaders-in-ffmpeg>)

Author: jphilips (jeff@khronosgroup.org)

Published: 2026-03-16T17:04:00Z

Content type: article

Language: en

Sources: [Blogs Khronos Blog](<https://devfeed.tech/sources/blogs-khronos-blog.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [shaders](<https://devfeed.tech/topics/shaders.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [blog-vulkan-vulkan-vide](<https://devfeed.tech/tags/blog-vulkan-vulkan-vide.md>), [compression](<https://devfeed.tech/tags/compression.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [performance](<https://devfeed.tech/tags/performance.md>), [shaders](<https://devfeed.tech/tags/shaders.md>), [video](<https://devfeed.tech/tags/video.md>), [vulkan](<https://devfeed.tech/tags/vulkan.md>)

### AI overview

This article explains how FFmpeg uses Vulkan Compute shaders to accelerate encoding and decoding of professional-grade video on consumer GPUs. It describes the parallel and serial stages of codec pipelines and how this approach complements Vulkan Video's fixed-function support.

### Source excerpt

In this blog we explore how FFmpeg uses Vulkan Compute to seamlessly accelerate encoding and decoding of even professional-grade video on consumer GPUs -- unlocking GPU compute parallelism at scale, without specialized hardware. This approach complements Vulkan Video's fixed-function codec support, extending acceleration to formats and workflows it doesn't cover.

## Auto-generating Synced Diagram Overlays for Technical Videos

DevFeed: [Auto-generating Synced Diagram Overlays for Technical Videos](<https://devfeed.tech/articles/auto-generating-synced-diagram-overlays-for-technical-videos-39644.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2026-02-24_auto-generating-synced-diagram-overlays>)

Published: 2026-02-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Whisper](<https://devfeed.tech/topics/whisper.md>), [Python](<https://devfeed.tech/topics/python.md>), [Claude](<https://devfeed.tech/topics/claude.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [claude](<https://devfeed.tech/tags/claude.md>), [code](<https://devfeed.tech/tags/code.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [python](<https://devfeed.tech/tags/python.md>), [sync](<https://devfeed.tech/tags/sync.md>), [technical](<https://devfeed.tech/tags/technical.md>), [whisper](<https://devfeed.tech/tags/whisper.md>)

### AI overview

This article describes technify-motions, a local Python pipeline that adds animated diagrams, flowcharts, summaries, and code snippets to technical videos in sync with the transcript. It covers audio extraction with FFmpeg, local transcription with faster-whisper, and scene classification using Claude.

### Source excerpt

. [Auto-generating Synced Diagram Overlays](auto-generating-synced-diagram-overlays-cover...

## How to Add "Convert to GIF" to Thunar on Linux (XFCE)

DevFeed: [How to Add "Convert to GIF" to Thunar on Linux (XFCE)](<https://devfeed.tech/articles/how-to-add-convert-to-gif-to-thunar-on-linux-xfce-25163.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2025/11/12/how-to-add-convert-to-gif-to-thunar-on-linux-xfce/>)

Author: Ivan Morgillo

Published: 2025-11-12T09:05:34Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [xfce](<https://devfeed.tech/topics/xfce.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>)

Tags: [custom-action](<https://devfeed.tech/tags/custom-action.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [gif](<https://devfeed.tech/tags/gif.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [script](<https://devfeed.tech/tags/script.md>), [shell](<https://devfeed.tech/tags/shell.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>), [thunar](<https://devfeed.tech/tags/thunar.md>), [video](<https://devfeed.tech/tags/video.md>), [xfce](<https://devfeed.tech/tags/xfce.md>)

### AI overview

A tutorial for adding a right-click Convert to GIF action to the Thunar file manager on Linux XFCE. It uses FFmpeg, Zenity, libnotify-bin, and a shell script to convert video files to GIFs.

### Source excerpt

Add a right-click Convert to GIF action to the Thunar file manager on Linux XFCE using FFmpeg and a shell script -- turn any video into a GIF in two clicks.

## Things I learned while building a yt-dlp wrapper

DevFeed: [Things I learned while building a yt-dlp wrapper](<https://devfeed.tech/articles/things-i-learned-while-building-a-yt-dlp-wrapper-37180.md>)

Original publisher: [Read original article](<https://arkadiuszchmura.com/posts/things-i-learned-while-building-a-yt-dlp-wrapper/>)

Published: 2024-10-10T00:00:00Z

Content type: opinion

Language: en

Sources: [Arkadiusz Chmura](<https://devfeed.tech/sources/arkadiusz-chmura.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [gui](<https://devfeed.tech/tags/gui.md>), [macos](<https://devfeed.tech/tags/macos.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-software](<https://devfeed.tech/tags/open-source-software.md>), [side-project](<https://devfeed.tech/tags/side-project.md>)

### AI overview

The author describes lessons from building ClipSnag, a native macOS GUI wrapper for yt-dlp. The article discusses how open-source licenses affect bundling dependencies such as FFmpeg and explores downloading and executing executables on macOS.

### Source excerpt

An opportunity to learn new things is a great reason to pursue side project.

## How I ended up with AI-generated Music Reviews on TikTok

DevFeed: [How I ended up with AI-generated Music Reviews on TikTok](<https://devfeed.tech/articles/how-i-ended-up-with-ai-generated-music-reviews-on-tiktok-40837.md>)

Original publisher: [Read original article](<https://mutto.fyi/posts/2023/05/how-i-generated-automatic-reviews-tiktok/>)

Published: 2023-05-14T00:00:00Z

Content type: opinion

Language: en

Sources: [Mutt0-ds Notes](<https://devfeed.tech/sources/mutt0-ds-notes.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Python](<https://devfeed.tech/topics/python.md>), [Instagram](<https://devfeed.tech/topics/instagram.md>), [Meta](<https://devfeed.tech/topics/meta.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [automated](<https://devfeed.tech/tags/automated.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [instagram](<https://devfeed.tech/tags/instagram.md>), [meta](<https://devfeed.tech/tags/meta.md>), [music](<https://devfeed.tech/tags/music.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [python](<https://devfeed.tech/tags/python.md>), [review](<https://devfeed.tech/tags/review.md>), [tiktok](<https://devfeed.tech/tags/tiktok.md>)

### AI overview

The author describes experimenting with automated AI-generated music reviews for TikTok after Instagram's music sticker issues and declining reach for static posts. The workflow involves music reviews, video creation, and technologies including Python, FFmpeg, text-to-speech, AI, and Playwright.

### Source excerpt

This is a fun story, with a series of technologies and topics that I couldn't believe they were capable of living together... EDM, TikTok,...

## Improving color quantization heuristics

DevFeed: [Improving color quantization heuristics](<https://devfeed.tech/articles/improving-color-quantization-heuristics-26113.md>)

Original publisher: [Read original article](<http://blog.pkh.me/p/39-improving-color-quantization-heuristics.html>)

Published: 2022-12-31T12:00:43Z

Content type: article

Language: en

Sources: [The Last Static Blog RSS](<https://devfeed.tech/sources/the-last-static-blog-rss.md>)

Topics: [quantization](<https://devfeed.tech/topics/quantization.md>), [color](<https://devfeed.tech/topics/color.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [image animation](<https://devfeed.tech/topics/image-animation.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [color](<https://devfeed.tech/tags/color.md>), [compression](<https://devfeed.tech/tags/compression.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [gif](<https://devfeed.tech/tags/gif.md>), [math](<https://devfeed.tech/tags/math.md>), [prog](<https://devfeed.tech/tags/prog.md>), [quantization](<https://devfeed.tech/tags/quantization.md>)

### AI overview

The article examines improvements to color quantization heuristics, including evaluating color distances in a perceptually uniform color space such as OkLab instead of using Euclidean distance between RGB values. It explains palette quantization as reducing an image's colors to a smaller representative subset, with applications including compression, limited-palette codecs such as GIF, and artistic effects.

### Source excerpt

In 2015, I wrote an article about how the palette color quantization was improved in FFmpeg in order to make nice animated GIF files. For some reason, to this day this is one of my most popular article. As time passed, my experience with colors grew and I ended up being quite ashamed and frustrated with the state of these filters. A lot of the code was naive (when not terribly wrong), despite the apparent good results. One of the major change I wanted to do was to evaluate the color distances using a perceptually uniform color space, instead of using a naive euclidean distance of RGB triplets. As usual it felt like a week-end long project; after all, all I have to do is change the distance function to work in a different space, right? Well, if you're following my blog you might have noticed I've add numerous adventures that stacked up on each others: I had to work out the colorspace with integer arithmetic first ...which forced me to look into integer division more deeply ...which confronted me to all sort of undefined behaviours in the process And when I finally reached the point where I could make the switch to OkLab (the perceptual colorspace), a few experiments showed that the flavor of the core algorithm I was using might contain some fundamental flaws, or at least was not implementing optimal heuristics. So here we go again, quickly enough I find myself starting a new research study in the pursuit of understanding how to put pixels on the screen. This write-up is the story of yet another self-inflicted struggle. Palette quantization But what is palette quantization? It essentially refers to the process of reducing the number of available colors of an image down to a smaller subset. In sRGB, an image can have up to 16.7 million colors. In practice though it's generally much less, to the surprise of no one. Still, it's not rare to have a few hundreds of thousands different colors in a single picture. Our goal is to reduce that to something like 256 colors that r

## Scrubbing videos using JavaScript

DevFeed: [Scrubbing videos using JavaScript](<https://devfeed.tech/articles/scrubbing-videos-using-javascript-37347.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/scrubbing-videos-using-javascript/>)

Author: Stanko

Published: 2022-10-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Code](<https://devfeed.tech/topics/code.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [code](<https://devfeed.tech/tags/code.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [videos](<https://devfeed.tech/tags/videos.md>), [webm](<https://devfeed.tech/tags/webm.md>)

### AI overview

A tutorial on scrubbing HTML videos with JavaScript. It explains how keyframe frequency affects scrubbing smoothness and file size, compares browser behavior, and discusses providing MP4 and WebM versions.

### Source excerpt

JavaScript part is actually pretty easy, it is more about preparing the video file correctly. If you just want the code for converting videos using ffmpeg, jump to the last section. Otherwise, let's start scrolling down to see these two videos scrubbing: Every 5 framesEvery 100 frames Code used looks like this, it just updates currentTime based on window scroll. But the left video should work smoother than the right one. Depending on your browser, it can be more or less noticeable. The answer why it happens is keyframes. const video = document.querySelector('#video'); window.addEventListener('scroll', function() { video.currentTime = window.scrollY * 0.01; }); Keyframes # In video encoding, the keyframe is the full frame of the image in a video. Frames that are in between these keyframes (aka delta frames), contain only the difference between the previous (or the next) frame. Number of keyframes will vary depending on how the video was created and encoded. Having each frame encoded as a keyframe would be very inefficient and the video file would be huge. To display delta frames, video players decode the information and piece them together. Some players only do this when video is playing, but not when you are scrubbing through it. Because of that, and because it has way less keyframes, the right video feels much choppier than the left one. The video on the right contains a keyframe every one hundred frames, while the one on the left has one keyframe every five frames. That is twenty times more keyframes. Naturally, it reflects on the file size. For this specific video, it is about five times more. line-100.mp4 146 Kb line-5.mp4 845 Kb # ~5 times more line-100.webm 195 Kb line-5.webm 1038 Kb # ~5 times more Browser support # Browsers behave radically differently. But if you provide them a correct video format with enough keyframes, you should be pretty well covered. You'll have to provide the video in at least two formats - mp4 and webm. On desktop, Safari seems to ha

## Video Stabilization with \`ffmpeg\` and \`VidStab\`

DevFeed: [Video Stabilization with \`ffmpeg\` and \`VidStab\`](<https://devfeed.tech/articles/video-stabilization-with-ffmpeg-and-vidstab-21682.md>)

Original publisher: [Read original article](<https://paulirish.com/2021/video-stabilization-with-ffmpeg-and-vidstab/>)

Author: Paul Irish

Published: 2021-04-30T18:33:00Z

Content type: tutorial

Language: en

Sources: [Paul Irish](<https://devfeed.tech/sources/paul-irish.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [commands](<https://devfeed.tech/tags/commands.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [diy](<https://devfeed.tech/tags/diy.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [guide](<https://devfeed.tech/tags/guide.md>), [install](<https://devfeed.tech/tags/install.md>), [installation](<https://devfeed.tech/tags/installation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [make](<https://devfeed.tech/tags/make.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A practical guide to stabilizing video with FFmpeg and VidStab. It covers installation on Mac OS and Linux, the two-pass detection and transformation workflow, and commands for creating vertically stacked or side-by-side comparison videos.

### Source excerpt

Way back in Dec 2015, @maxogden wrote a nice guide on stabilizing your own video with ffmpeg. I return to it on occasion and have updated my gist comment to offer some updated commands. Since enough has changed regarding installation and use, I figure a new, spiffy, and working guide deserves a non-gist home. Presenting the 2021-era guide to pretty easy DIY video stabilization! On Mac OS, install ffmpeg and vidstab from homebrew: 1 2 brew install ffmpeg brew install libvidstab On linux, you can sudo make install. Run stabilization in two passes There are plenty of options for libvidstab, like shakiness, accuracy, smoothing. The defaults are good, but you may want to experiment. There's even a visual diagnostic mode. Assuming the source video is named clip.mkv... 1 2 3 4 5 6 # The first pass ('detect') generates stabilization data and saves to `transforms.trf` # The `-f null -` tells ffmpeg there's no output video file ffmpeg -i clip.mkv -vf vidstabdetect -f null - # The second pass ('transform') uses the .trf and creates the new stabilized video. ffmpeg -i clip.mkv -vf vidstabtransform clip-stabilized.mkv You now have a clip-stabilized.mkv! Bonus: create a comparison video Use the vstack or hstack filter, depending on if you want them stacked vertically or side-by-side: 1 2 3 4 5 # vertically stacked ffmpeg -i clip.mkv -i clip-stabilized.mkv -filter_complex vstack clips-stacked.mkv # side-by-side ffmpeg -i clip.mkv -i clip-stabilized.mkv -filter_complex hstack clips-sxs.mkv Double bonus: A two-liner that does everything (because repeating these filenames gets annoying) 1 2 export vid="sourcevid.mkv" ffmpeg -i "$vid" -vf vidstabdetect -f null -; ffmpeg -i "$vid" -vf vidstabtransform "$vid.stab.mkv"; ffmpeg -i "$vid" -i "$vid.stab.mkv" -filter_complex vstack "$vid.stacked.mkv"

## Codename One switches its default iOS browser component to WKWebView and adds developer updates

DevFeed: [Codename One switches its default iOS browser component to WKWebView and adds developer updates](<https://devfeed.tech/articles/wkwebview-and-prs-19677.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/wkwebview-prs/>)

Author: Shai Almog

Published: 2019-10-04T00:00:00Z

Content type: news

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [browser](<https://devfeed.tech/topics/browser.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [API](<https://devfeed.tech/topics/api.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [apple](<https://devfeed.tech/tags/apple.md>), [browser](<https://devfeed.tech/tags/browser.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [github](<https://devfeed.tech/tags/github.md>), [ios](<https://devfeed.tech/tags/ios.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

The article reports that Codename One changed its default iOS browser component from UIWebView to WKWebView to address Apple warnings about the outdated component. It also describes a video library, a generic releasable-components interface, popup-direction controls, and an API for guessing common file MIME types.

### Source excerpt

We still have features to cover from our summer vacation but we need to make a short de-tour through newer things that landed recently. One of the big highlights is the switch to WKWebView. We effectively changed the default iOS browser component to WKWebView instead of UIWebView. This resolved warnings Apple started sending out to developers about using the out of date UIWebView. This mostly went unnoticed by most developers as it should. But if your browser starts acting up this is the reason. There isn't much we can do here as we knew that day would come where Apple will demand a switch.

## Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part II

DevFeed: [Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part II](<https://devfeed.tech/articles/live-video-transmuxing-transcoding-ffmpeg-vs-twitchtranscoder-part-ii-20453.md>)

Original publisher: [Read original article](<https://medium.com/twitch-news/live-video-transmuxing-transcoding-ffmpeg-vs-twitchtranscoder-part-ii-4973f475f8a3?source=rss----3ae745429979--engineering>)

Author: Yueshi Shen

Published: 2017-10-23T21:08:55Z

Content type: article

Language: en

Sources: [Twitch](<https://devfeed.tech/sources/twitch.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Transcodings](<https://devfeed.tech/topics/transcodings.md>), [Code](<https://devfeed.tech/topics/code.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [C](<https://devfeed.tech/topics/c.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [decoding](<https://devfeed.tech/tags/decoding.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [files](<https://devfeed.tech/tags/files.md>), [function](<https://devfeed.tech/tags/function.md>), [loops](<https://devfeed.tech/tags/loops.md>), [message-queue](<https://devfeed.tech/tags/message-queue.md>), [programming](<https://devfeed.tech/tags/programming.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threading](<https://devfeed.tech/tags/threading.md>), [threads](<https://devfeed.tech/tags/threads.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This second part of a two-part series examines FFmpeg Release 3.3's threading model and transcoding pipeline for a one-input, multiple-output scenario. It traces how FFmpeg orchestrates I/O, filtering, decoding, encoding, and output processing, and reports that the number of input files determines input-thread creation, so a one-input scenario uses a single thread.

### Source excerpt

By: Jeff Gong, Software Engineer, jeffgon@twitch.tv Sahil Dhanju, Software Engineer Intern Chih-Chiang Lu, Senior Software Engineer, chihchil@twitch.tv Yueshi Shen, Principal Research Engineer, yshen@twitch.tv Special thanks go to: Christopher Kennedy, Staff Video Engineer at Crunchyroll/Ellation John Nichols, Principal Software Engineer at Xilinx, jnichol@xilinx.com for their information on FFmpeg and reviewing this article. Note: This is the second part of a 2-part series. Make sure you read Part 1 first. FFmpeg's 1-In-N-Out Pipeline. Why doesn't it handle the technical issues discussed earlier? How does FFmpeg programmatically deal with instances where a single input stream is required to generate multiple transcoded and/or transmuxed outputs? We went directly into the latest FFmpeg Release 3.3. source code in order to understand its threading model and transcoding pipeline. In the top-level ffmpeg.c file, the transcode() function (line 4544) loops and repeatedly calls transcode_step() (line 4478) until its inputs are completely processed, or until the user interrupts the execution. Transcode_step() wraps the main pipeline and orchestrates file I/O, filtering, decoding and encoding amongst many other immediate steps. During the initial setup phase, init_input_threads() (line 4020) is called, and based on the number of input files, a number of new threads may be spawned to process the input. if (nb_input_files == 1) { return 0;}for (i = 0; i < nb_input_files; i++) { ... ret = av_thread_message_queue_alloc(&f->in_thread_queue, f->thread_queue_size, sizeof(AVPacket)); // line 4033} In line 4033, we see that the number of threads spawned is solely determined by the number of inputs. This means FFmpeg will process a 1-in-N-out scenario using only a single thread. In get_input_packet() (line 4055), the multithreaded companion function get_input_packet_mt() (line 4047) is only called if the number of input files is greater than one. get_input_packet_mt() can read input

## Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part I

DevFeed: [Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part I](<https://devfeed.tech/articles/live-video-transmuxing-transcoding-ffmpeg-vs-twitchtranscoder-part-i-20452.md>)

Original publisher: [Read original article](<https://medium.com/twitch-news/live-video-transmuxing-transcoding-ffmpeg-vs-twitchtranscoder-part-i-489c1c125f28?source=rss----3ae745429979--engineering>)

Author: Yueshi Shen

Published: 2017-10-10T18:40:03Z

Content type: article

Language: en

Sources: [Twitch](<https://devfeed.tech/sources/twitch.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Twitch](<https://devfeed.tech/topics/twitch.md>), [Transcodings](<https://devfeed.tech/topics/transcodings.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [stream-processing](<https://devfeed.tech/topics/stream-processing.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [http](<https://devfeed.tech/tags/http.md>), [live-streaming](<https://devfeed.tech/tags/live-streaming.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [transcoder](<https://devfeed.tech/tags/transcoder.md>), [twitch](<https://devfeed.tech/tags/twitch.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This first part of a two-part series explains Twitch's live video processing pipeline and compares using FFmpeg with Twitch's in-house TwitchTranscoder. It describes how RTMP uploads are converted into multiple-bitrate HLS variants and outlines the live transcoding requirements that FFmpeg meets or does not meet.

### Source excerpt

By: Jeff Gong, Software Engineer, jeffgon@twitch.tv Sahil Dhanju, Software Engineer Intern Chih-Chiang Lu, Senior Software Engineer, chihchil@twitch.tv Yueshi Shen, Principal Research Engineer, yshen@twitch.tv Special thanks go to Christopher Kennedy, Staff Video Engineer at Crunchyroll/Ellation John Nichols, Principal Software Engineer at Xilinx, jnichol@xilinx.com for their information on FFmpeg and reviewing this article. Note: This is the first part of a 2-part series. Please read part 2 after finishing this article. Background Twitch is the world's leading live streaming platform for video games, esports, and other emerging creative content. Every month, more than 2.2 million unique content creators stream or upload video on our website. At its peak, Twitch ingests tens of thousands of concurrent live video streams and delivers them to viewers across the world. Figure 1 depicts the architecture of our live video Content Delivery Network (CDN) which delivers tens of thousands of concurrent live streams internationally. Figure 1: Architecture of Twitch's Live Video CDN Twitch, like many other live streaming services, receives live stream uploads in Real-Time Messaging Protocol (RTMP) from its broadcasters. RTMP is a protocol designed to stream video and audio on the Internet, and is mainly used for point to point communication. To then scale our live stream content to countless viewers, Twitch uses HTTP Live Streaming (HLS), an HTTP-based media streaming communications protocol that most video websites also use. Within the live stream processing pipeline, the transcoder module is in charge of converting an incoming RTMP stream into the HLS format with multiple variants (e.g., 1080p, 720p, etc.). These variants have different bitrates so that viewers with different levels of download bandwidth are able to consume live video streams at the best possible quality for their connection. Figure 2 depicts the input and output of the transcoder module in our live video CD

## DDNet Live: Twitch spectates an online game

DevFeed: [DDNet Live: Twitch spectates an online game](<https://devfeed.tech/articles/ddnet-live-twitch-spectates-an-online-game-30812.md>)

Original publisher: [Read original article](<https://hookrace.net/blog/ddnet-live/>)

Published: 2016-01-09T23:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Felsing](<https://devfeed.tech/sources/dennis-felsing.md>)

Topics: [Twitch](<https://devfeed.tech/topics/twitch.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [intel](<https://devfeed.tech/topics/intel.md>), [Server](<https://devfeed.tech/topics/server.md>), [Nim](<https://devfeed.tech/topics/nim.md>)

Tags: [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [intel](<https://devfeed.tech/tags/intel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [livestream](<https://devfeed.tech/tags/livestream.md>), [nim](<https://devfeed.tech/tags/nim.md>), [server](<https://devfeed.tech/tags/server.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [twitch](<https://devfeed.tech/tags/twitch.md>)

### AI overview

The article describes setting up a continuous DDNet livestream on Twitch from Linux using FFmpeg, a low-power J1900 home server, and a virtual display. It also explains using Twitch chat and DDNet FIFO command input so viewers can choose which players to spectate.

### Source excerpt

Last night I had an idea and implemented it, soo let's see what will happen. But first, the idea: Have a livestream [1] of DDNet running non-stop [2] that always shows some interesting [3] players on the server. The resulting livestream is running on Twitch. All the scripts are on Github 1. Livestream It's surprisingly simple to livestream from Linux to Twitch. Only FFmpeg is needed: #!/bin/sh INRES="1280x720" # input resolution FPS="30" # target FPS GOP="60" # i-frame interval, should be double of FPS, GOPMIN="30" # min i-frame interval, should be equal to fps, THREADS="2" CBR="2000k" # constant bitrate (should be between 1000k - 3000k) QUALITY="ultrafast" # one of the many FFMPEG preset AUDIO_SRATE="44100" AUDIO_CHANNELS="2" # 1 for mono output, 2 for stereo AUDIO_ERATE="96k" # audio encoding rate SERVER="live-fra" # http://bashtech.net/twitch/ingest.php for list source ./secret.sh ffmpeg -v 0 -f x11grab -s "$INRES" -r "$FPS" -i :0.0 \ -f alsa -i pulse -f flv -ac $AUDIO_CHANNELS \ -b:a $AUDIO_ERATE -ar $AUDIO_SRATE \ -vcodec libx264 -g $GOP -keyint_min $GOPMIN -b:v $CBR \ -minrate $CBR -maxrate $CBR -vf "format=yuv420p"\ -preset $QUALITY -acodec libmp3lame -threads $THREADS \ -strict normal -bufsize $CBR \ "rtmp://$SERVER.twitch.tv/app/$STREAM_KEY" This works pretty well, but takes quite a bit of CPU on my old computer. So instead I wanted to run it on my new server with a Haswell-era J1900 CPU. Possible ways to improve performance: Use an OpenGL recorder instead of x11grab Get Intel Quick Sync Video working for hardware H264 encoding 2. Running Non-Stop My server is a small and cheap ASRock Q1900-ITX: The nice part is that it's passively cooled and quite power efficient, drawing only 5 Watts in idle. This machine has been running as my home server for quite some time, but barely gets any action. Let's change that! The X server starts without problems even without any monitors attached, the only thing that's left to do is increasing the framebuffer size so that ou

## Rotate movies

DevFeed: [Rotate movies](<https://devfeed.tech/articles/rotate-movies-27631.md>)

Original publisher: [Read original article](<https://gagor.pro/2015/12/rotate-movies/>)

Author: Tom

Published: 2015-12-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>)

Tags: [examples](<https://devfeed.tech/tags/examples.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>)

### AI overview

A short tutorial showing how to rotate vertically recorded MP4 movies in a shell loop using avconv and the transpose video filter, while copying the audio stream and encoding video with libx264.

### Source excerpt

I hate movies recorded on phone in vertical position. This just short tip how I dealt with with it last time: for m in *.mp4 do avconv -i $m -vf "transpose=1" -codec:a copy -codec:v libx264 -preset slow -crf 23 rotated-$m done Other examples: http://stackoverflow.com/questions/3937387/rotating-videos-with-ffmpeg external link http://superuser.com/questions/578321/how-to-flip-a-video-180 external link °-vertical-upside-down-with-ffmpeg

## A peek into the USM format

DevFeed: [A peek into the USM format](<https://devfeed.tech/articles/a-peek-into-the-usm-format-41648.md>)

Original publisher: [Read original article](<https://blog.benjojo.co.uk/post/usm-video-format>)

Author: ben@benjojo.co.uk

Published: 2015-03-21T23:41:20Z

Content type: tutorial

Language: en

Sources: [benjojo blog](<https://devfeed.tech/sources/benjojo-blog.md>)

Topics: [format](<https://devfeed.tech/topics/format.md>), [file](<https://devfeed.tech/topics/file.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Unreal Engine](<https://devfeed.tech/topics/unreal-engine.md>)

Tags: [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [file](<https://devfeed.tech/tags/file.md>), [format](<https://devfeed.tech/tags/format.md>), [streams](<https://devfeed.tech/tags/streams.md>), [unreal-engine](<https://devfeed.tech/tags/unreal-engine.md>), [video](<https://devfeed.tech/tags/video.md>), [webm](<https://devfeed.tech/tags/webm.md>)

### AI overview

The article investigates the USM video files used by Crysis 3, comparing how VLC and Totem identify the format. It concludes that the files are based on older MPEG data and demonstrates decoding them with FFmpeg into WebM video, while noting possible frame-corrupting extra data.

### Source excerpt

A peek into the USM format A game that I really liked the visuals off, Crysis 3 uses a video file format called USM, This is a rather odd to me, since when I am used to pulling games apart for their assets, I am used to BINK video being used for th

## Compile FFmpeg for Android

DevFeed: [Compile FFmpeg for Android](<https://devfeed.tech/articles/compile-ffmpeg-for-android-21767.md>)

Original publisher: [Read original article](<https://enoent.fr/posts/compile-ffmpeg-for-android/>)

Author: Marc Plano-Lesay

Published: 2014-06-20T08:40:00Z

Content type: tutorial

Language: en

Sources: [Marc Plano-Lesay](<https://devfeed.tech/sources/marc-plano-lesay.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Android](<https://devfeed.tech/topics/android.md>), [C](<https://devfeed.tech/topics/c.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Stack Overflow](<https://devfeed.tech/topics/stackoverflow.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [android](<https://devfeed.tech/tags/android.md>), [build](<https://devfeed.tech/tags/build.md>), [c](<https://devfeed.tech/tags/c.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [github](<https://devfeed.tech/tags/github.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [software](<https://devfeed.tech/tags/software.md>), [source](<https://devfeed.tech/tags/source.md>)

### AI overview

A tutorial explains how to compile FFmpeg 2.2.3 for Android using the Android SDK and NDK, with steps for Linux, third-party libraries, an NDK module, and JNI wrappers in C and Java.

### Source excerpt

When you have to manipulate audio or video on Android, being used to open-source software, you have a single name which comes directly to you: FFmpeg. However, FFmpeg is a C software, meant to be used as an executable, and not officially supporting Android. There are a lot of partial and/or out-of-date how-to out there on how to get FFmpeg running on Android, like halfninja's build. However, I needed to use FFmpeg concat demuxer, introduced in FFmpeg 1.1. Most builds target 0.9. There's a ton of questions on StackOverflow about getting newer FFmpeg releases working on Android. So, here's a full explanation to get FFmpeg 2.2.3 "Muybridge" working on Android. I'll describe the steps for Linux, but everything is pretty standard shell and should work on any decent OS.

## Preparing video files for streaming on website in MP4 and WEBM format

DevFeed: [Preparing video files for streaming on website in MP4 and WEBM format](<https://devfeed.tech/articles/preparing-video-files-for-streaming-on-website-in-mp4-and-webm-format-27599.md>)

Original publisher: [Read original article](<https://gagor.pro/2013/12/preparing-video-files-for-streaming-on-website-in-mp4-and-webm-format/>)

Author: Tom

Published: 2013-12-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Website](<https://devfeed.tech/topics/website.md>), [nginx](<https://devfeed.tech/topics/nginx.md>), [video js](<https://devfeed.tech/topics/video-js.md>), [pc](<https://devfeed.tech/topics/pc.md>)

Tags: [conversion](<https://devfeed.tech/tags/conversion.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [linux](<https://devfeed.tech/tags/linux.md>), [nginx](<https://devfeed.tech/tags/nginx.md>), [pc](<https://devfeed.tech/tags/pc.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [video](<https://devfeed.tech/tags/video.md>), [video-js](<https://devfeed.tech/tags/video-js.md>)

### AI overview

A practical guide to batch-encoding video files for web playback in MP4 and WebM formats, using HandBrake and ffmpeg, with related Nginx configuration for MP4 pseudostreaming and URL protection.

### Source excerpt

Some time ago I prepared a PC that was responsible for batch encoding of movies to formats suitable for web players (such as. Video.js external link , JW Player external link , Flowplayer external link , etc.)

## Bezstratna konwersja MKV z DTS do AC3 lub AAC

DevFeed: [Bezstratna konwersja MKV z DTS do AC3 lub AAC](<https://devfeed.tech/articles/bezstratna-konwersja-mkv-z-dts-do-ac3-lub-aac-27568.md>)

Original publisher: [Read original article](<https://gagor.pro/2013/07/bezstratna-konwersja-mkv-z-dts-do-ac3-lub-aac/>)

Author: Tom

Published: 2013-07-17T00:00:00Z

Content type: tutorial

Language: pl

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [linux](<https://devfeed.tech/tags/linux.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A tutorial describing how to convert DTS audio in MKV files to stereo or multichannel AAC, or AC3, while leaving the video stream untouched. It compares ffmpeg and mencoder, noting that ffmpeg can complete the conversion in one command, while mencoder may require a later mkvmerge pass.

### Source excerpt

Na jednym z urządzeń miałem problem z odtworzeniem plików (głównie MKV) z dźwiękiem zakodowanym w DTS. Pomijając że np. na tablecie 6-cio kanały DTS jest mi "niezbędny inaczej" to konwertując go do AAC stereo plik jest po prostu sporo mniejszy. Oczywiście nie zamierzam transkodować ścieżki video i na moje potrzeby mogłem sobie odpuścić zmianę częstotliwości próbkowania. Najprościej wykorzystać pakiet ffmpeg (po nowemu avconv) lub mencoder (choć ten miewał niegdyś problem z poprawnym zapisywaniem wynikowych plików mkv, więc potrzebny jest dodatkowo mkvmerge z pakietu mkvtoolnix). mencoder transkoduje szybciej wykorzystując więcej rdzeniu CPU, ale później potrzebny był drugi przebieg z mkvmerge. ffmpeg jechał na jednym procku nawet z opcją threads ale za to wszystko mogę zrobić jednym poleceniem.