Skip to content

feat: add 8 new commands — blur, mirror, picture, color, mute, pip-gr… #7

feat: add 8 new commands — blur, mirror, picture, color, mute, pip-gr…

feat: add 8 new commands — blur, mirror, picture, color, mute, pip-gr… #7

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm ci
- name: Verify all commands register
run: node bin/ffmpeg-quick.js --help
- name: Install FFmpeg
run: sudo apt-get update && sudo apt-get install -y ffmpeg
- name: Test --dry-run for each command
run: |
node bin/ffmpeg-quick.js compress test.mp4 --dry-run
node bin/ffmpeg-quick.js gif test.mp4 --dry-run
node bin/ffmpeg-quick.js webm test.mp4 --dry-run
node bin/ffmpeg-quick.js hls test.mp4 --dry-run
node bin/ffmpeg-quick.js audio test.mp4 --dry-run
node bin/ffmpeg-quick.js thumbnail test.mp4 --dry-run
node bin/ffmpeg-quick.js strip-audio test.mp4 --dry-run
node bin/ffmpeg-quick.js info test.mp4 --dry-run
node bin/ffmpeg-quick.js subtitle test.mp4 subs.srt --dry-run
node bin/ffmpeg-quick.js speed test.mp4 2 --dry-run
node bin/ffmpeg-quick.js trim test.mp4 -s 0 -d 5 --dry-run
node bin/ffmpeg-quick.js resize test.mp4 -w 1280 --dry-run
node bin/ffmpeg-quick.js crop test.mp4 640x480 --dry-run
node bin/ffmpeg-quick.js rotate test.mp4 90 --dry-run
node bin/ffmpeg-quick.js fade test.mp4 --in 1 --out 1 --duration 10 --dry-run
node bin/ffmpeg-quick.js reverse test.mp4 --dry-run
node bin/ffmpeg-quick.js volume test.mp4 2.0 --dry-run
node bin/ffmpeg-quick.js fps test.mp4 30 --dry-run
node bin/ffmpeg-quick.js snapshot test.mp4 --interval 1 --dry-run
node bin/ffmpeg-quick.js split test.mp4 10 --dry-run
node bin/ffmpeg-quick.js overlay test.mp4 test.mp4 --dry-run
node bin/ffmpeg-quick.js convert test.mp4 mov --dry-run
node bin/ffmpeg-quick.js loop test.mp4 3 --dry-run
node bin/ffmpeg-quick.js blur test.mp4 --dry-run
node bin/ffmpeg-quick.js mirror test.mp4 --dry-run
node bin/ffmpeg-quick.js picture test.jpg test.mp3 --dry-run
node bin/ffmpeg-quick.js color test.mp4 --brightness 0.1 --dry-run
node bin/ffmpeg-quick.js mute test.mp4 -s 0 -e 5 --dry-run
node bin/ffmpeg-quick.js pip-grid test.mp4 test.mp4 --dry-run
node bin/ffmpeg-quick.js boomerang test.mp4 --dry-run
node bin/ffmpeg-quick.js deinterlace test.mp4 --dry-run
- name: Test real encode (compress a generated video)
run: |
ffmpeg -f lavfi -i testsrc=duration=2:size=320x240:rate=15 -c:v libx264 -pix_fmt yuv420p test-input.mp4
node bin/ffmpeg-quick.js compress test-input.mp4 -y
node bin/ffmpeg-quick.js trim test-input.mp4 -s 0 -d 1 -y
node bin/ffmpeg-quick.js resize test-input.mp4 -w 160 -y
node bin/ffmpeg-quick.js crop test-input.mp4 160x120 -y
node bin/ffmpeg-quick.js gif test-input.mp4 -y
node bin/ffmpeg-quick.js info test-input.mp4
node bin/ffmpeg-quick.js rotate test-input.mp4 90 -y
node bin/ffmpeg-quick.js reverse test-input.mp4 -y
node bin/ffmpeg-quick.js fps test-input.mp4 10 -y
node bin/ffmpeg-quick.js volume test-input.mp4 1.5 -y
node bin/ffmpeg-quick.js fade test-input.mp4 --in 0.5 --out 0.5 --duration 2 -y
node bin/ffmpeg-quick.js convert test-input.mp4 mkv -y
node bin/ffmpeg-quick.js loop test-input.mp4 2 -y
node bin/ffmpeg-quick.js snapshot test-input.mp4 --interval 1 -y
node bin/ffmpeg-quick.js split test-input.mp4 1 -y
node bin/ffmpeg-quick.js blur test-input.mp4 -y
node bin/ffmpeg-quick.js mirror test-input.mp4 -y
node bin/ffmpeg-quick.js color test-input.mp4 --brightness 0.1 --saturation 1.5 -y
node bin/ffmpeg-quick.js boomerang test-input.mp4 -y
node bin/ffmpeg-quick.js deinterlace test-input.mp4 -y
node bin/ffmpeg-quick.js mute test-input.mp4 -s 0 -e 1 -y