Conversation
- Enable CI for the dev branch. - permissions to the ffmpeg test output directory. - Update CI test video download to use H264 codec instead of AV1. - test: add 777 permissions to HLS output directory in ffmpeg test
- Sync changes of v0.1.0 PR
…line (#11) This commit introduces the foundational architecture for the video processing worker. It establishes a complete pipeline for downloading, encoding, and uploading video content using Domain-Driven Design principles. Key features added: - Infrastructure Setup: Integrated BullMQ for highly reliable background video job processing and setup PostgreSQL connection pooling. - Azure Storage Integration: Added services for fetching raw media blobs and robust uploading of generated output segments/manifests back to Azure Blob Storage. - FFmpeg HLS Processing: Added core FFmpeg adapters to handle video probing, content complexity analysis, multi-profile audio/video rendering, and HLS (m3u8) playlist generation. - DDD Architecture: Organized the codebase into independent `domain` models, `application` use cases (`video.process.ts`), and `infrastructure` implementations.
* chore(ci): add test scripts and enhance CI workflow - Add scripts to download test video and run ffmpeg tests - Refactor CI workflow for better Docker versioning, labeling, and image push logic - Integrate new scripts into CI for improved test automation * fix(ci): update script paths for downloading test assets and running tests * fix(ci): make scripts in .github/scripts executable
- Sync changes of v0.2.0 PR
- Migrate VMAF complexity probe to static ABR bitrate ladder. - Support upto 4K Dolby Vision and and 16ch audio - For more details #16
- Sync changes of v0.3.0 PR
- build(docker): upgrade FFmpeg from 7.1 to 8.1. Optimize build with -O3 -march=x86-64-v3 CFLAGS and enable pthreads/swscale. - perf(ffmpeg): refine x264 and x265 encoding parameters. Replace pools with lookahead threading (X265_LOOKAHEAD_THREADS, X265_RC_LOOKAHEAD), add AQ modes, and update filter scaling from lanczos to spline. - feat(config): introduce granular environment variables for queue sizing (THREAD_QUEUE_SIZE, MAX_MUXING_QUEUE_SIZE) to prevent thread blocking during high-bitrate encodes. - fix(hls): configure better base input args (hide banners, define threads) and correct HDR video range (PQ/HLG) / Dolby Vision detection in the master playlist. - fix(audio): refine Atmos source detection to require 6 or more channels for compatible codecs (truehd, eac3). - fix(runner): increase the maximum stderr logging buffer from 50kb to 100kb to handle longer running encodes securely. - feat(azure): add support for explicit AZURE_MANAGED_IDENTITY_CLIENT_ID via configuration for Azure Storage credentials. - chore(package): add explicit arm64 and amd64 local docker build scripts. Update tests to explicitly verify libx265 presence.
history reset
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.