cokit-cli 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +103 -0
- package/FAQ.md +5 -5
- package/QUICK-START.md +4 -4
- package/README.FLOW.md +237 -0
- package/README.md +153 -92
- package/agents/brainstormer.agent.md +71 -0
- package/agents/code-reviewer.agent.md +128 -0
- package/agents/database-admin.agent.md +91 -0
- package/agents/debugger.agent.md +128 -0
- package/agents/docs-manager.agent.md +121 -0
- package/agents/fullstack-developer.agent.md +96 -0
- package/agents/git-manager.agent.md +392 -0
- package/agents/mcp-manager.agent.md +93 -0
- package/agents/planner.agent.md +94 -0
- package/agents/project-manager.agent.md +124 -0
- package/agents/researcher.agent.md +32 -0
- package/agents/scout-external.agent.md +141 -0
- package/agents/scout.agent.md +107 -0
- package/agents/tester.agent.md +106 -0
- package/agents/ui-ux-designer.agent.md +225 -0
- package/collections/ck-core.collection.yml +30 -0
- package/collections/ck-development-rules.collection.yml +18 -0
- package/collections/ck-documentation.collection.yml +18 -0
- package/collections/ck-git-workflow.collection.yml +18 -0
- package/collections/ck-orchestration.collection.yml +22 -0
- package/collections/ck-ui-design.collection.yml +18 -0
- package/docs/README.md +85 -0
- package/docs/copilot-processing-flow.md +128 -0
- package/docs/migration-guide.md +12 -12
- package/instructions/ck-backend.instructions.md +48 -0
- package/instructions/ck-development.instructions.md +40 -0
- package/instructions/ck-frontend-design-pro.instructions.md +58 -0
- package/instructions/ck-frontend.instructions.md +44 -0
- package/instructions/ck-google-adk-python.instructions.md +242 -0
- package/instructions/ck-research.instructions.md +167 -0
- package/instructions/ck-testing.instructions.md +36 -0
- package/package.json +9 -2
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-01-restructure-folders.md +183 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-02-convert-agents.md +206 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-03-convert-commands-to-prompts.md +284 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-04-convert-skills-to-instructions.md +349 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-05-create-collections.md +320 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-06-update-cli-build-scripts.md +450 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-07-update-documentation.md +407 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/plan.md +136 -0
- package/prompts/ck-ask.prompt.md +57 -0
- package/prompts/ck-bootstrap-auto-fast.prompt.md +108 -0
- package/prompts/ck-bootstrap-auto-parallel.prompt.md +66 -0
- package/prompts/ck-bootstrap-auto.prompt.md +114 -0
- package/prompts/ck-bootstrap.prompt.md +136 -0
- package/prompts/ck-brainstorm.prompt.md +68 -0
- package/prompts/ck-ck-help.prompt.md +114 -0
- package/prompts/ck-code-auto.prompt.md +171 -0
- package/prompts/ck-code-no-test.prompt.md +159 -0
- package/prompts/ck-code-parallel.prompt.md +56 -0
- package/prompts/ck-code.prompt.md +177 -0
- package/prompts/ck-coding-level.prompt.md +54 -0
- package/prompts/ck-cook-auto-fast.prompt.md +26 -0
- package/prompts/ck-cook-auto-parallel.prompt.md +49 -0
- package/prompts/ck-cook-auto.prompt.md +15 -0
- package/prompts/ck-cook.prompt.md +96 -0
- package/prompts/ck-debug.prompt.md +14 -0
- package/prompts/ck-design-3d.prompt.md +84 -0
- package/prompts/ck-design-describe.prompt.md +24 -0
- package/prompts/ck-design-fast.prompt.md +32 -0
- package/prompts/ck-design-good.prompt.md +36 -0
- package/prompts/ck-design-screenshot.prompt.md +35 -0
- package/prompts/ck-design-video.prompt.md +35 -0
- package/prompts/ck-docs-init.prompt.md +27 -0
- package/prompts/ck-docs-summarize.prompt.md +23 -0
- package/prompts/ck-docs-update.prompt.md +36 -0
- package/prompts/ck-fix-ci.prompt.md +18 -0
- package/prompts/ck-fix-fast.prompt.md +18 -0
- package/prompts/ck-fix-hard.prompt.md +36 -0
- package/prompts/ck-fix-logs.prompt.md +27 -0
- package/prompts/ck-fix-parallel.prompt.md +54 -0
- package/prompts/ck-fix-test.prompt.md +19 -0
- package/prompts/ck-fix-types.prompt.md +11 -0
- package/prompts/ck-fix-ui.prompt.md +49 -0
- package/prompts/ck-fix.prompt.md +44 -0
- package/prompts/ck-git-cm.prompt.md +8 -0
- package/prompts/ck-git-cp.prompt.md +7 -0
- package/prompts/ck-git-merge.prompt.md +41 -0
- package/prompts/ck-git-pr.prompt.md +49 -0
- package/prompts/ck-kanban.prompt.md +77 -0
- package/prompts/ck-plan-archive.prompt.md +58 -0
- package/prompts/ck-plan-ci.prompt.md +34 -0
- package/prompts/ck-plan-cro.prompt.md +66 -0
- package/prompts/ck-plan-fast.prompt.md +67 -0
- package/prompts/ck-plan-hard.prompt.md +89 -0
- package/prompts/ck-plan-parallel.prompt.md +126 -0
- package/prompts/ck-plan-two.prompt.md +43 -0
- package/prompts/ck-plan-validate.prompt.md +118 -0
- package/prompts/ck-plan.prompt.md +29 -1
- package/prompts/ck-preview.prompt.md +65 -0
- package/prompts/ck-review-codebase.prompt.md +44 -0
- package/prompts/ck-scout-ext.prompt.md +35 -0
- package/prompts/ck-scout.prompt.md +25 -0
- package/prompts/ck-skill-add.prompt.md +36 -0
- package/prompts/ck-skill-create.prompt.md +29 -0
- package/prompts/ck-skill-fix-logs.prompt.md +22 -0
- package/prompts/ck-skill-optimize-auto.prompt.md +25 -0
- package/prompts/ck-skill-optimize.prompt.md +34 -0
- package/prompts/ck-skill-plan.prompt.md +46 -0
- package/prompts/ck-test-ui.prompt.md +92 -0
- package/prompts/ck-test.prompt.md +10 -0
- package/prompts/ck-use-mcp.prompt.md +27 -0
- package/prompts/ck-watzup.prompt.md +11 -0
- package/prompts/ck-worktree.prompt.md +127 -0
- package/rules/README.agents.md +55 -0
- package/rules/README.collections.md +78 -0
- package/rules/README.copilot-instructions.md +66 -0
- package/rules/README.instructions.md +73 -0
- package/rules/README.md +39 -0
- package/rules/README.prompts.md +76 -0
- package/rules/README.skills.md +71 -0
- package/skills/ck-ai-artist/SKILL.md +73 -0
- package/skills/ck-ai-artist/references/advanced-techniques.md +184 -0
- package/skills/ck-ai-artist/references/domain-code.md +66 -0
- package/skills/ck-ai-artist/references/domain-data.md +72 -0
- package/skills/ck-ai-artist/references/domain-marketing.md +66 -0
- package/skills/ck-ai-artist/references/domain-patterns.md +33 -0
- package/skills/ck-ai-artist/references/domain-writing.md +68 -0
- package/skills/ck-ai-artist/references/image-prompting.md +141 -0
- package/skills/ck-ai-artist/references/llm-prompting.md +165 -0
- package/skills/ck-ai-artist/references/nano-banana.md +59 -0
- package/skills/ck-ai-artist/references/reasoning-techniques.md +201 -0
- package/skills/ck-backend-development/SKILL.md +93 -0
- package/skills/ck-backend-development/references/backend-api-design.md +495 -0
- package/skills/ck-backend-development/references/backend-architecture.md +454 -0
- package/skills/ck-backend-development/references/backend-authentication.md +338 -0
- package/skills/ck-backend-development/references/backend-code-quality.md +659 -0
- package/skills/ck-backend-development/references/backend-debugging.md +904 -0
- package/skills/ck-backend-development/references/backend-devops.md +494 -0
- package/skills/ck-backend-development/references/backend-mindset.md +387 -0
- package/skills/ck-backend-development/references/backend-performance.md +397 -0
- package/skills/ck-backend-development/references/backend-security.md +290 -0
- package/skills/ck-backend-development/references/backend-technologies.md +256 -0
- package/skills/ck-backend-development/references/backend-testing.md +429 -0
- package/skills/ck-better-auth/SKILL.md +202 -0
- package/skills/ck-better-auth/references/advanced-features.md +553 -0
- package/skills/ck-better-auth/references/database-integration.md +577 -0
- package/skills/ck-better-auth/references/email-password-auth.md +416 -0
- package/skills/ck-better-auth/references/oauth-providers.md +430 -0
- package/skills/ck-better-auth/scripts/.coverage +0 -0
- package/skills/ck-better-auth/scripts/better_auth_init.py +521 -0
- package/skills/ck-better-auth/scripts/requirements.txt +15 -0
- package/skills/ck-better-auth/scripts/tests/.coverage +0 -0
- package/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/skills/ck-chrome-devtools/SKILL.md +470 -0
- package/skills/ck-chrome-devtools/references/cdp-domains.md +694 -0
- package/skills/ck-chrome-devtools/references/performance-guide.md +940 -0
- package/skills/ck-chrome-devtools/references/puppeteer-reference.md +953 -0
- package/skills/ck-chrome-devtools/scripts/README.md +272 -0
- package/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/skills/ck-chrome-devtools/scripts/aria-snapshot.js +362 -0
- package/skills/ck-chrome-devtools/scripts/click.js +83 -0
- package/skills/ck-chrome-devtools/scripts/console.js +79 -0
- package/skills/ck-chrome-devtools/scripts/evaluate.js +53 -0
- package/skills/ck-chrome-devtools/scripts/fill.js +76 -0
- package/skills/ck-chrome-devtools/scripts/inject-auth.js +229 -0
- package/skills/ck-chrome-devtools/scripts/install-deps.sh +181 -0
- package/skills/ck-chrome-devtools/scripts/install.sh +83 -0
- package/skills/ck-chrome-devtools/scripts/lib/browser.js +318 -0
- package/skills/ck-chrome-devtools/scripts/lib/selector.js +178 -0
- package/skills/ck-chrome-devtools/scripts/navigate.js +54 -0
- package/skills/ck-chrome-devtools/scripts/network.js +106 -0
- package/skills/ck-chrome-devtools/scripts/package-lock.json +1589 -0
- package/skills/ck-chrome-devtools/scripts/package.json +16 -0
- package/skills/ck-chrome-devtools/scripts/performance.js +149 -0
- package/skills/ck-chrome-devtools/scripts/screenshot.js +198 -0
- package/skills/ck-chrome-devtools/scripts/select-ref.js +131 -0
- package/skills/ck-chrome-devtools/scripts/snapshot.js +135 -0
- package/skills/ck-code-review/SKILL.md +143 -0
- package/skills/ck-code-review/references/code-review-reception.md +209 -0
- package/skills/ck-code-review/references/requesting-code-review.md +105 -0
- package/skills/ck-code-review/references/verification-before-completion.md +139 -0
- package/skills/ck-databases/SKILL.md +231 -0
- package/skills/ck-databases/references/mongodb-aggregation.md +447 -0
- package/skills/ck-databases/references/mongodb-atlas.md +465 -0
- package/skills/ck-databases/references/mongodb-crud.md +408 -0
- package/skills/ck-databases/references/mongodb-indexing.md +442 -0
- package/skills/ck-databases/references/postgresql-administration.md +594 -0
- package/skills/ck-databases/references/postgresql-performance.md +527 -0
- package/skills/ck-databases/references/postgresql-psql-cli.md +467 -0
- package/skills/ck-databases/references/postgresql-queries.md +475 -0
- package/skills/ck-databases/scripts/.coverage +0 -0
- package/skills/ck-databases/scripts/db_backup.py +502 -0
- package/skills/ck-databases/scripts/db_migrate.py +425 -0
- package/skills/ck-databases/scripts/db_performance_check.py +456 -0
- package/skills/ck-databases/scripts/requirements.txt +20 -0
- package/skills/ck-databases/scripts/tests/coverage-db.json +1 -0
- package/skills/ck-databases/scripts/tests/requirements.txt +4 -0
- package/skills/ck-databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/ck-databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/ck-databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/ck-debugging/SKILL.md +82 -0
- package/skills/ck-debugging/references/defense-in-depth.md +124 -0
- package/skills/ck-debugging/references/root-cause-tracing.md +122 -0
- package/skills/ck-debugging/references/systematic-debugging.md +102 -0
- package/skills/ck-debugging/references/verification.md +123 -0
- package/skills/ck-debugging/scripts/find-polluter.sh +63 -0
- package/skills/ck-debugging/scripts/find-polluter.test.md +102 -0
- package/skills/ck-devops/.env.example +76 -0
- package/skills/ck-devops/SKILL.md +283 -0
- package/skills/ck-devops/references/browser-rendering.md +305 -0
- package/skills/ck-devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/ck-devops/references/cloudflare-platform.md +271 -0
- package/skills/ck-devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/ck-devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/ck-devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/ck-devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/ck-devops/references/docker-basics.md +297 -0
- package/skills/ck-devops/references/docker-compose.md +292 -0
- package/skills/ck-devops/references/gcloud-platform.md +297 -0
- package/skills/ck-devops/references/gcloud-services.md +304 -0
- package/skills/ck-devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/ck-devops/scripts/docker_optimize.py +331 -0
- package/skills/ck-devops/scripts/requirements.txt +20 -0
- package/skills/ck-devops/scripts/tests/requirements.txt +3 -0
- package/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/ck-devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/ck-docs-seeker/.env.example +15 -0
- package/skills/ck-docs-seeker/SKILL.md +96 -0
- package/skills/ck-docs-seeker/package.json +25 -0
- package/skills/ck-docs-seeker/references/advanced.md +79 -0
- package/skills/ck-docs-seeker/references/context7-patterns.md +68 -0
- package/skills/ck-docs-seeker/references/errors.md +68 -0
- package/skills/ck-docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/skills/ck-docs-seeker/scripts/detect-topic.js +172 -0
- package/skills/ck-docs-seeker/scripts/fetch-docs.js +213 -0
- package/skills/ck-docs-seeker/scripts/tests/run-tests.js +72 -0
- package/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/skills/ck-docs-seeker/scripts/utils/env-loader.js +94 -0
- package/skills/ck-docs-seeker/workflows/library-search.md +87 -0
- package/skills/ck-docs-seeker/workflows/repo-analysis.md +91 -0
- package/skills/ck-docs-seeker/workflows/topic-search.md +77 -0
- package/skills/ck-frontend-design/SKILL.md +79 -0
- package/skills/ck-frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/ck-frontend-design/references/analysis-prompts.md +141 -0
- package/skills/ck-frontend-design/references/analysis-techniques.md +118 -0
- package/skills/ck-frontend-design/references/animejs.md +396 -0
- package/skills/ck-frontend-design/references/design-extraction-overview.md +71 -0
- package/skills/ck-frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/ck-frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/ck-frontend-design/references/extraction-prompts.md +127 -0
- package/skills/ck-frontend-design/references/technical-accessibility.md +119 -0
- package/skills/ck-frontend-design/references/technical-best-practices.md +97 -0
- package/skills/ck-frontend-design/references/technical-optimization.md +44 -0
- package/skills/ck-frontend-design/references/technical-overview.md +90 -0
- package/skills/ck-frontend-design/references/technical-workflows.md +150 -0
- package/skills/ck-frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/ck-frontend-development/SKILL.md +399 -0
- package/skills/ck-frontend-development/resources/common-patterns.md +331 -0
- package/skills/ck-frontend-development/resources/complete-examples.md +872 -0
- package/skills/ck-frontend-development/resources/component-patterns.md +502 -0
- package/skills/ck-frontend-development/resources/data-fetching.md +767 -0
- package/skills/ck-frontend-development/resources/file-organization.md +502 -0
- package/skills/ck-frontend-development/resources/loading-and-error-states.md +501 -0
- package/skills/ck-frontend-development/resources/performance.md +406 -0
- package/skills/ck-frontend-development/resources/routing-guide.md +364 -0
- package/skills/ck-frontend-development/resources/styling-guide.md +428 -0
- package/skills/ck-frontend-development/resources/typescript-standards.md +418 -0
- package/skills/ck-markdown-novel-viewer/SKILL.md +190 -0
- package/skills/ck-markdown-novel-viewer/assets/directory-browser.css +215 -0
- package/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
- package/skills/ck-markdown-novel-viewer/assets/novel-theme.css +818 -0
- package/skills/ck-markdown-novel-viewer/assets/reader.js +262 -0
- package/skills/ck-markdown-novel-viewer/assets/template.html +80 -0
- package/skills/ck-markdown-novel-viewer/package.json +15 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
- package/skills/ck-markdown-novel-viewer/scripts/server.cjs +411 -0
- package/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
- package/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
- package/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
- package/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +271 -0
- package/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +51 -0
- package/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +154 -0
- package/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +90 -0
- package/skills/ck-mcp-builder/LICENSE.txt +202 -0
- package/skills/ck-mcp-builder/SKILL.md +327 -0
- package/skills/ck-mcp-builder/reference/evaluation.md +602 -0
- package/skills/ck-mcp-builder/reference/mcp_best_practices.md +915 -0
- package/skills/ck-mcp-builder/reference/node_mcp_server.md +916 -0
- package/skills/ck-mcp-builder/reference/python_mcp_server.md +752 -0
- package/skills/ck-mcp-builder/scripts/connections.py +151 -0
- package/skills/ck-mcp-builder/scripts/evaluation.py +373 -0
- package/skills/ck-mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/ck-mcp-builder/scripts/requirements.txt +2 -0
- package/skills/ck-mcp-management/README.md +219 -0
- package/skills/ck-mcp-management/SKILL.md +209 -0
- package/skills/ck-mcp-management/assets/tools.json +3146 -0
- package/skills/ck-mcp-management/references/configuration.md +114 -0
- package/skills/ck-mcp-management/references/gemini-cli-integration.md +215 -0
- package/skills/ck-mcp-management/references/mcp-protocol.md +116 -0
- package/skills/ck-mcp-management/scripts/.env.example +10 -0
- package/skills/ck-mcp-management/scripts/cli.ts +195 -0
- package/skills/ck-mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/ck-mcp-management/scripts/dist/cli.js +160 -0
- package/skills/ck-mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/ck-mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/ck-mcp-management/scripts/package.json +20 -0
- package/skills/ck-mcp-management/scripts/tsconfig.json +15 -0
- package/skills/ck-media-processing/SKILL.md +90 -0
- package/skills/ck-media-processing/references/common-workflows.md +132 -0
- package/skills/ck-media-processing/references/ffmpeg-encoding.md +358 -0
- package/skills/ck-media-processing/references/ffmpeg-filters.md +503 -0
- package/skills/ck-media-processing/references/ffmpeg-streaming.md +403 -0
- package/skills/ck-media-processing/references/format-compatibility.md +375 -0
- package/skills/ck-media-processing/references/imagemagick-batch.md +612 -0
- package/skills/ck-media-processing/references/imagemagick-editing.md +623 -0
- package/skills/ck-media-processing/references/rmbg-background-removal.md +66 -0
- package/skills/ck-media-processing/references/troubleshooting.md +109 -0
- package/skills/ck-media-processing/scripts/README.md +111 -0
- package/skills/ck-media-processing/scripts/batch-remove-background.sh +124 -0
- package/skills/ck-media-processing/scripts/batch_resize.py +342 -0
- package/skills/ck-media-processing/scripts/media_convert.py +311 -0
- package/skills/ck-media-processing/scripts/remove-background.sh +96 -0
- package/skills/ck-media-processing/scripts/remove-bg-node.js +158 -0
- package/skills/ck-media-processing/scripts/requirements.txt +24 -0
- package/skills/ck-media-processing/scripts/tests/.coverage +0 -0
- package/skills/ck-media-processing/scripts/tests/requirements.txt +2 -0
- package/skills/ck-media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/skills/ck-media-processing/scripts/tests/test_media_convert.py +259 -0
- package/skills/ck-media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/skills/ck-media-processing/scripts/video_optimize.py +414 -0
- package/skills/ck-mobile-development/SKILL.md +210 -0
- package/skills/ck-mobile-development/references/mobile-android.md +604 -0
- package/skills/ck-mobile-development/references/mobile-best-practices.md +545 -0
- package/skills/ck-mobile-development/references/mobile-debugging.md +1089 -0
- package/skills/ck-mobile-development/references/mobile-frameworks.md +465 -0
- package/skills/ck-mobile-development/references/mobile-ios.md +496 -0
- package/skills/ck-mobile-development/references/mobile-mindset.md +544 -0
- package/skills/ck-payment-integration/README.md +185 -0
- package/skills/ck-payment-integration/SKILL.md +116 -0
- package/skills/ck-payment-integration/references/polar/benefits.md +396 -0
- package/skills/ck-payment-integration/references/polar/best-practices.md +482 -0
- package/skills/ck-payment-integration/references/polar/checkouts.md +266 -0
- package/skills/ck-payment-integration/references/polar/overview.md +184 -0
- package/skills/ck-payment-integration/references/polar/products.md +244 -0
- package/skills/ck-payment-integration/references/polar/sdk.md +436 -0
- package/skills/ck-payment-integration/references/polar/subscriptions.md +340 -0
- package/skills/ck-payment-integration/references/polar/webhooks.md +405 -0
- package/skills/ck-payment-integration/references/sepay/api.md +140 -0
- package/skills/ck-payment-integration/references/sepay/best-practices.md +337 -0
- package/skills/ck-payment-integration/references/sepay/overview.md +138 -0
- package/skills/ck-payment-integration/references/sepay/qr-codes.md +228 -0
- package/skills/ck-payment-integration/references/sepay/sdk.md +213 -0
- package/skills/ck-payment-integration/references/sepay/webhooks.md +208 -0
- package/skills/ck-payment-integration/scripts/.env.example +20 -0
- package/skills/ck-payment-integration/scripts/checkout-helper.js +244 -0
- package/skills/ck-payment-integration/scripts/package.json +17 -0
- package/skills/ck-payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/skills/ck-payment-integration/scripts/test-scripts.js +237 -0
- package/skills/ck-planning/SKILL.md +112 -0
- package/skills/ck-planning/references/codebase-understanding.md +62 -0
- package/skills/ck-planning/references/output-standards.md +127 -0
- package/skills/ck-planning/references/plan-organization.md +150 -0
- package/skills/ck-planning/references/research-phase.md +49 -0
- package/skills/ck-planning/references/solution-design.md +63 -0
- package/skills/ck-problem-solving/SKILL.md +95 -0
- package/skills/ck-problem-solving/references/attribution.md +69 -0
- package/skills/ck-problem-solving/references/collision-zone-thinking.md +79 -0
- package/skills/ck-problem-solving/references/inversion-exercise.md +91 -0
- package/skills/ck-problem-solving/references/meta-pattern-recognition.md +87 -0
- package/skills/ck-problem-solving/references/scale-game.md +95 -0
- package/skills/ck-problem-solving/references/simplification-cascades.md +80 -0
- package/skills/ck-problem-solving/references/when-stuck.md +72 -0
- package/skills/ck-repomix/SKILL.md +247 -0
- package/skills/ck-repomix/references/configuration.md +211 -0
- package/skills/ck-repomix/references/usage-patterns.md +232 -0
- package/skills/ck-repomix/scripts/.coverage +0 -0
- package/skills/ck-repomix/scripts/README.md +179 -0
- package/skills/ck-repomix/scripts/repomix_batch.py +455 -0
- package/skills/ck-repomix/scripts/repos.example.json +15 -0
- package/skills/ck-repomix/scripts/requirements.txt +15 -0
- package/skills/ck-repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/ck-sequential-thinking/.env.example +8 -0
- package/skills/ck-sequential-thinking/README.md +183 -0
- package/skills/{sequential-thinking → ck-sequential-thinking}/SKILL.md +14 -2
- package/skills/ck-sequential-thinking/package.json +31 -0
- package/skills/ck-sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/{sequential-thinking → ck-sequential-thinking}/references/advanced-techniques.md +2 -14
- package/skills/{sequential-thinking → ck-sequential-thinking}/references/core-patterns.md +8 -0
- package/skills/ck-sequential-thinking/references/examples-api.md +88 -0
- package/skills/ck-sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/ck-sequential-thinking/references/examples-debug.md +90 -0
- package/skills/ck-sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/ck-sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/ck-sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/ck-sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/ck-shopify/README.md +66 -0
- package/skills/ck-shopify/SKILL.md +319 -0
- package/skills/ck-shopify/references/app-development.md +470 -0
- package/skills/ck-shopify/references/extensions.md +493 -0
- package/skills/ck-shopify/references/themes.md +498 -0
- package/skills/ck-shopify/scripts/.coverage +0 -0
- package/skills/ck-shopify/scripts/requirements.txt +19 -0
- package/skills/ck-shopify/scripts/shopify_init.py +423 -0
- package/skills/ck-shopify/scripts/tests/.coverage +0 -0
- package/skills/ck-shopify/scripts/tests/test_shopify_init.py +385 -0
- package/skills/ck-skill-creator/LICENSE.txt +202 -0
- package/skills/ck-skill-creator/SKILL.md +265 -0
- package/skills/ck-skill-creator/scripts/init_skill.py +303 -0
- package/skills/ck-skill-creator/scripts/package_skill.py +110 -0
- package/skills/ck-skill-creator/scripts/quick_validate.py +65 -0
- package/skills/ck-threejs/SKILL.md +87 -0
- package/skills/ck-threejs/references/01-getting-started.md +177 -0
- package/skills/ck-threejs/references/02-loaders.md +169 -0
- package/skills/ck-threejs/references/03-textures.md +170 -0
- package/skills/ck-threejs/references/04-cameras.md +195 -0
- package/skills/ck-threejs/references/05-lights.md +183 -0
- package/skills/ck-threejs/references/06-animations.md +214 -0
- package/skills/ck-threejs/references/07-math.md +260 -0
- package/skills/ck-threejs/references/08-interaction.md +267 -0
- package/skills/ck-threejs/references/09-postprocessing.md +240 -0
- package/skills/ck-threejs/references/10-controls.md +259 -0
- package/skills/ck-threejs/references/11-materials-advanced.md +270 -0
- package/skills/ck-threejs/references/12-performance.md +269 -0
- package/skills/ck-threejs/references/13-node-materials.md +298 -0
- package/skills/ck-threejs/references/14-physics-vr.md +304 -0
- package/skills/ck-threejs/references/15-specialized-loaders.md +333 -0
- package/skills/ck-threejs/references/16-webgpu.md +302 -0
- package/skills/ck-ui-styling/LICENSE.txt +202 -0
- package/skills/ck-ui-styling/SKILL.md +319 -0
- package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/ck-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/references/canvas-design-system.md +320 -0
- package/skills/ck-ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/ck-ui-styling/references/shadcn-components.md +424 -0
- package/skills/ck-ui-styling/references/shadcn-theming.md +373 -0
- package/skills/ck-ui-styling/references/tailwind-customization.md +483 -0
- package/skills/ck-ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/ck-ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/ck-ui-styling/scripts/.coverage +0 -0
- package/skills/ck-ui-styling/scripts/requirements.txt +17 -0
- package/skills/ck-ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/ck-ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/ck-ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/ck-ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/ck-ui-ux-pro-max/SKILL.md +227 -0
- package/skills/ck-ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ck-ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ck-ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ck-ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ck-ui-ux-pro-max/data/prompts.csv +24 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ck-ui-ux-pro-max/data/styles.csv +59 -0
- package/skills/ck-ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ck-ui-ux-pro-max/scripts/core.py +236 -0
- package/skills/ck-ui-ux-pro-max/scripts/search.py +76 -0
- package/skills/ck-web-frameworks/SKILL.md +322 -0
- package/skills/ck-web-frameworks/references/nextjs-app-router.md +465 -0
- package/skills/ck-web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/skills/ck-web-frameworks/references/nextjs-optimization.md +511 -0
- package/skills/ck-web-frameworks/references/nextjs-server-components.md +495 -0
- package/skills/ck-web-frameworks/references/remix-icon-integration.md +603 -0
- package/skills/ck-web-frameworks/references/turborepo-caching.md +551 -0
- package/skills/ck-web-frameworks/references/turborepo-pipelines.md +517 -0
- package/skills/ck-web-frameworks/references/turborepo-setup.md +542 -0
- package/skills/ck-web-frameworks/scripts/.coverage +0 -0
- package/skills/ck-web-frameworks/scripts/__init__.py +0 -0
- package/skills/ck-web-frameworks/scripts/nextjs_init.py +547 -0
- package/skills/ck-web-frameworks/scripts/requirements.txt +16 -0
- package/skills/ck-web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/skills/ck-web-frameworks/scripts/tests/requirements.txt +3 -0
- package/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/skills/ck-web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/src/commands/init.js +62 -31
- package/src/utils/paths.js +35 -4
- package/skills/code-review/SKILL.md +0 -86
- package/skills/code-review/references/code-review-reception.md +0 -76
- package/skills/code-review/references/verification-before-completion.md +0 -86
- package/skills/debugging/SKILL.md +0 -70
- package/skills/debugging/references/root-cause-tracing.md +0 -65
- package/skills/debugging/references/systematic-debugging.md +0 -74
- package/skills/debugging/references/verification.md +0 -74
- package/skills/docs-seeker/SKILL.md +0 -91
- package/skills/planning/SKILL.md +0 -82
- package/skills/planning/references/plan-organization.md +0 -88
- package/skills/planning/references/research-phase.md +0 -56
- package/skills/planning/references/solution-design.md +0 -65
- package/templates/repo/prompts/code.prompt.md +0 -40
- package/templates/repo/prompts/docs.prompt.md +0 -29
- package/templates/repo/prompts/fix.prompt.md +0 -35
- package/templates/repo/prompts/plan.prompt.md +0 -41
- package/templates/repo/prompts/review.prompt.md +0 -38
- package/templates/repo/prompts/test.prompt.md +0 -29
- /package/skills/{docs-seeker → ck-docs-seeker}/references/search-patterns.md +0 -0
- /package/skills/{docs-seeker → ck-docs-seeker}/references/source-evaluation.md +0 -0
- /package/templates/repo/.github/instructions/{backend.instructions.md → ck-backend.instructions.md} +0 -0
- /package/templates/repo/.github/instructions/{development.instructions.md → ck-development.instructions.md} +0 -0
- /package/templates/repo/.github/instructions/{frontend.instructions.md → ck-frontend.instructions.md} +0 -0
- /package/templates/repo/.github/instructions/{testing.instructions.md → ck-testing.instructions.md} +0 -0
- /package/templates/repo/.github/prompts/{code.prompt.md → ck-code.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{docs.prompt.md → ck-docs.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{fix.prompt.md → ck-fix.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{plan.prompt.md → ck-plan.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{review.prompt.md → ck-review.prompt.md} +0 -0
- /package/templates/repo/.github/prompts/{test.prompt.md → ck-test.prompt.md} +0 -0
- /package/templates/repo/.github/skills/{code-review → ck-code-review}/SKILL.md +0 -0
- /package/templates/repo/.github/skills/{debugging → ck-debugging}/SKILL.md +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'ck-media-processing'
|
|
3
|
+
description: 'Process multimedia files with FFmpeg (video/audio encoding, conversion, streaming, filtering, hardware acceleration), ImageMagick (image manipulation, format conversion, batch processing, effects, composition), and RMBG (AI-powered background removal). Use when converting media formats, encoding videos with specific codecs (H.264, H.265, VP9), resizing/cropping images, removing backgrounds from images, extracting audio from video, applying filters and effects, optimizing file sizes, creating streaming manifests (HLS/DASH), generating thumbnails, batch processing images, creating composite images, or implementing media processing pipelines. Supports 100+ formats, hardware acceleration (NVENC, QSV), and complex filtergraphs.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Media Processing Skill
|
|
7
|
+
|
|
8
|
+
Process video, audio, and images using FFmpeg, ImageMagick, and RMBG CLI tools.
|
|
9
|
+
|
|
10
|
+
## Tool Selection
|
|
11
|
+
|
|
12
|
+
| Task | Tool | Reason |
|
|
13
|
+
|------|------|--------|
|
|
14
|
+
| Video encoding/conversion | FFmpeg | Native codec support, streaming |
|
|
15
|
+
| Audio extraction/conversion | FFmpeg | Direct stream manipulation |
|
|
16
|
+
| Image resize/effects | ImageMagick | Optimized for still images |
|
|
17
|
+
| Background removal | RMBG | AI-powered, local processing |
|
|
18
|
+
| Batch images | ImageMagick | mogrify for in-place edits |
|
|
19
|
+
| Video thumbnails | FFmpeg | Frame extraction built-in |
|
|
20
|
+
| GIF creation | FFmpeg/ImageMagick | FFmpeg for video, ImageMagick for images |
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# macOS
|
|
26
|
+
brew install ffmpeg imagemagick
|
|
27
|
+
npm install -g rmbg-cli
|
|
28
|
+
|
|
29
|
+
# Ubuntu/Debian
|
|
30
|
+
sudo apt-get install ffmpeg imagemagick
|
|
31
|
+
npm install -g rmbg-cli
|
|
32
|
+
|
|
33
|
+
# Verify
|
|
34
|
+
ffmpeg -version && magick -version && rmbg --version
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Essential Commands
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Video: Convert/re-encode
|
|
41
|
+
ffmpeg -i input.mkv -c copy output.mp4
|
|
42
|
+
ffmpeg -i input.avi -c:v libx264 -crf 22 -c:a aac output.mp4
|
|
43
|
+
|
|
44
|
+
# Video: Extract audio
|
|
45
|
+
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
|
|
46
|
+
|
|
47
|
+
# Image: Convert/resize
|
|
48
|
+
magick input.png output.jpg
|
|
49
|
+
magick input.jpg -resize 800x600 output.jpg
|
|
50
|
+
|
|
51
|
+
# Image: Batch resize
|
|
52
|
+
mogrify -resize 800x -quality 85 *.jpg
|
|
53
|
+
|
|
54
|
+
# Background removal
|
|
55
|
+
rmbg input.jpg # Basic (modnet)
|
|
56
|
+
rmbg input.jpg -m briaai -o output.png # High quality
|
|
57
|
+
rmbg input.jpg -m u2netp -o output.png # Fast
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Key Parameters
|
|
61
|
+
|
|
62
|
+
**FFmpeg:**
|
|
63
|
+
- `-c:v libx264` - H.264 codec
|
|
64
|
+
- `-crf 22` - Quality (0-51, lower=better)
|
|
65
|
+
- `-preset slow` - Speed/compression balance
|
|
66
|
+
- `-c:a aac` - Audio codec
|
|
67
|
+
|
|
68
|
+
**ImageMagick:**
|
|
69
|
+
- `800x600` - Fit within (maintains aspect)
|
|
70
|
+
- `800x600^` - Fill (may crop)
|
|
71
|
+
- `-quality 85` - JPEG quality
|
|
72
|
+
- `-strip` - Remove metadata
|
|
73
|
+
|
|
74
|
+
**RMBG:**
|
|
75
|
+
- `-m briaai` - High quality model
|
|
76
|
+
- `-m u2netp` - Fast model
|
|
77
|
+
- `-r 4096` - Max resolution
|
|
78
|
+
|
|
79
|
+
## References
|
|
80
|
+
|
|
81
|
+
Detailed guides in `references/`:
|
|
82
|
+
- `ffmpeg-encoding.md` - Codecs, quality, hardware acceleration
|
|
83
|
+
- `ffmpeg-streaming.md` - HLS/DASH, live streaming
|
|
84
|
+
- `ffmpeg-filters.md` - Filters, complex filtergraphs
|
|
85
|
+
- `imagemagick-editing.md` - Effects, transformations
|
|
86
|
+
- `imagemagick-batch.md` - Batch processing, parallel ops
|
|
87
|
+
- `rmbg-background-removal.md` - AI models, CLI usage
|
|
88
|
+
- `common-workflows.md` - Video optimization, responsive images, GIF creation
|
|
89
|
+
- `troubleshooting.md` - Error fixes, performance tips
|
|
90
|
+
- `format-compatibility.md` - Format support, codec recommendations
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Common Media Processing Workflows
|
|
2
|
+
|
|
3
|
+
## Video Optimization
|
|
4
|
+
|
|
5
|
+
### Optimize for Web
|
|
6
|
+
```bash
|
|
7
|
+
# H.264 with good compression
|
|
8
|
+
ffmpeg -i input.mp4 \
|
|
9
|
+
-c:v libx264 -preset slow -crf 23 \
|
|
10
|
+
-c:a aac -b:a 128k \
|
|
11
|
+
-movflags +faststart \
|
|
12
|
+
output.mp4
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Multi-Pass Encoding
|
|
16
|
+
```bash
|
|
17
|
+
# Pass 1 (analysis)
|
|
18
|
+
ffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null /dev/null
|
|
19
|
+
|
|
20
|
+
# Pass 2 (encoding)
|
|
21
|
+
ffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac output.mp4
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Hardware-Accelerated Encoding
|
|
25
|
+
```bash
|
|
26
|
+
# NVIDIA NVENC
|
|
27
|
+
ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4
|
|
28
|
+
|
|
29
|
+
# Intel QuickSync
|
|
30
|
+
ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -c:v h264_qsv output.mp4
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Extract Video Segment
|
|
34
|
+
```bash
|
|
35
|
+
# From 1:30 to 3:00 (re-encode for precision)
|
|
36
|
+
ffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 \
|
|
37
|
+
-c:v libx264 -c:a aac output.mp4
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Image Workflows
|
|
41
|
+
|
|
42
|
+
### Create Responsive Images
|
|
43
|
+
```bash
|
|
44
|
+
# Generate multiple sizes
|
|
45
|
+
for size in 320 640 1024 1920; do
|
|
46
|
+
magick input.jpg -resize ${size}x -quality 85 "output-${size}w.jpg"
|
|
47
|
+
done
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Batch Image Optimization
|
|
51
|
+
```bash
|
|
52
|
+
# Convert PNG to optimized JPEG
|
|
53
|
+
mogrify -path ./optimized -format jpg -quality 85 -strip *.png
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Complex Image Pipeline
|
|
57
|
+
```bash
|
|
58
|
+
# Resize, crop, border, adjust
|
|
59
|
+
magick input.jpg \
|
|
60
|
+
-resize 1000x1000^ \
|
|
61
|
+
-gravity center \
|
|
62
|
+
-crop 1000x1000+0+0 +repage \
|
|
63
|
+
-bordercolor black -border 5x5 \
|
|
64
|
+
-brightness-contrast 5x10 \
|
|
65
|
+
-quality 90 \
|
|
66
|
+
output.jpg
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## GIF Creation
|
|
70
|
+
|
|
71
|
+
### Video to GIF
|
|
72
|
+
```bash
|
|
73
|
+
# High quality GIF with palette
|
|
74
|
+
ffmpeg -i input.mp4 -vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Animated GIF from Images
|
|
78
|
+
```bash
|
|
79
|
+
# Create with delay
|
|
80
|
+
magick -delay 100 -loop 0 frame*.png animated.gif
|
|
81
|
+
|
|
82
|
+
# Optimize size
|
|
83
|
+
magick animated.gif -fuzz 5% -layers Optimize optimized.gif
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Background Removal Workflows
|
|
87
|
+
|
|
88
|
+
### Batch Background Removal
|
|
89
|
+
```bash
|
|
90
|
+
# Process all images in directory
|
|
91
|
+
for img in *.jpg; do
|
|
92
|
+
rmbg "$img" -m modnet -o "${img%.jpg}-no-bg.png"
|
|
93
|
+
done
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Product Photography
|
|
97
|
+
```bash
|
|
98
|
+
# 1. Remove background
|
|
99
|
+
rmbg product.jpg -m u2net-cloth -o product-no-bg.png
|
|
100
|
+
|
|
101
|
+
# 2. Resize to multiple sizes
|
|
102
|
+
magick product-no-bg.png -resize 800x800 product-800.png
|
|
103
|
+
magick product-no-bg.png -resize 400x400 product-400.png
|
|
104
|
+
|
|
105
|
+
# 3. Add white background if needed
|
|
106
|
+
magick product-no-bg.png -background white -flatten product-white-bg.jpg
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Media Analysis
|
|
110
|
+
|
|
111
|
+
### Inspect Video Properties
|
|
112
|
+
```bash
|
|
113
|
+
# Detailed JSON output
|
|
114
|
+
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
|
|
115
|
+
|
|
116
|
+
# Get resolution
|
|
117
|
+
ffprobe -v error -select_streams v:0 \
|
|
118
|
+
-show_entries stream=width,height \
|
|
119
|
+
-of csv=s=x:p=0 input.mp4
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Image Information
|
|
123
|
+
```bash
|
|
124
|
+
# Basic info
|
|
125
|
+
identify image.jpg
|
|
126
|
+
|
|
127
|
+
# Detailed format
|
|
128
|
+
identify -verbose image.jpg
|
|
129
|
+
|
|
130
|
+
# Custom format
|
|
131
|
+
identify -format "%f: %wx%h %b\n" image.jpg
|
|
132
|
+
```
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
# FFmpeg Video & Audio Encoding
|
|
2
|
+
|
|
3
|
+
Complete guide to codec selection, quality optimization, and hardware acceleration.
|
|
4
|
+
|
|
5
|
+
## Video Codecs
|
|
6
|
+
|
|
7
|
+
### H.264 (libx264)
|
|
8
|
+
Most widely supported codec, excellent compression/quality balance.
|
|
9
|
+
|
|
10
|
+
**Best for:** Universal compatibility, streaming, web video
|
|
11
|
+
|
|
12
|
+
**Quality range:** CRF 17-28 (lower = better)
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# High quality
|
|
16
|
+
ffmpeg -i input.mkv -c:v libx264 -preset slow -crf 18 -c:a copy output.mp4
|
|
17
|
+
|
|
18
|
+
# Standard quality (recommended)
|
|
19
|
+
ffmpeg -i input.mkv -c:v libx264 -preset medium -crf 23 -c:a copy output.mp4
|
|
20
|
+
|
|
21
|
+
# Fast encoding
|
|
22
|
+
ffmpeg -i input.mkv -c:v libx264 -preset fast -crf 23 -c:a copy output.mp4
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### H.265/HEVC (libx265)
|
|
26
|
+
25-50% better compression than H.264, slower encoding.
|
|
27
|
+
|
|
28
|
+
**Best for:** 4K video, file size reduction, archival
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# High quality 4K
|
|
32
|
+
ffmpeg -i input.mkv -c:v libx265 -preset medium -crf 24 -c:a copy output.mp4
|
|
33
|
+
|
|
34
|
+
# Balanced quality
|
|
35
|
+
ffmpeg -i input.mkv -c:v libx265 -preset fast -crf 26 -c:a copy output.mp4
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### VP9 (libvpx-vp9)
|
|
39
|
+
Royalty-free, WebM format, good for YouTube and open-source projects.
|
|
40
|
+
|
|
41
|
+
**Best for:** YouTube, Chrome/Firefox, open platforms
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Quality-based (recommended)
|
|
45
|
+
ffmpeg -i input.mkv -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
|
|
46
|
+
|
|
47
|
+
# Two-pass for better quality
|
|
48
|
+
ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 2M -pass 1 -an -f null /dev/null
|
|
49
|
+
ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 2M -pass 2 -c:a libopus output.webm
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### AV1 (libaom-av1, libsvtav1)
|
|
53
|
+
Next-generation codec, best compression, very slow encoding.
|
|
54
|
+
|
|
55
|
+
**Best for:** Future-proofing, maximum compression, low bandwidth
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Using libaom (slow, highest quality)
|
|
59
|
+
ffmpeg -i input.mkv -c:v libaom-av1 -crf 30 -b:v 0 -strict experimental output.mp4
|
|
60
|
+
|
|
61
|
+
# Using SVT-AV1 (faster)
|
|
62
|
+
ffmpeg -i input.mkv -c:v libsvtav1 -crf 30 -preset 5 output.mp4
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Audio Codecs
|
|
66
|
+
|
|
67
|
+
### AAC (Industry Standard)
|
|
68
|
+
Best quality for streaming, universal support.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# High quality
|
|
72
|
+
ffmpeg -i input.mp4 -c:a aac -b:a 192k output.mp4
|
|
73
|
+
|
|
74
|
+
# Standard quality
|
|
75
|
+
ffmpeg -i input.mp4 -c:a aac -b:a 128k output.mp4
|
|
76
|
+
|
|
77
|
+
# Low bitrate
|
|
78
|
+
ffmpeg -i input.mp4 -c:a aac -b:a 96k output.mp4
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### MP3 (libmp3lame)
|
|
82
|
+
Universal compatibility, good quality.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Variable bitrate (best quality)
|
|
86
|
+
ffmpeg -i input.wav -c:a libmp3lame -q:a 0 output.mp3
|
|
87
|
+
|
|
88
|
+
# Constant bitrate
|
|
89
|
+
ffmpeg -i input.wav -c:a libmp3lame -b:a 192k output.mp3
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Opus (libopus)
|
|
93
|
+
Best quality at low bitrates, ideal for voice and streaming.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Voice (mono)
|
|
97
|
+
ffmpeg -i input.mp4 -c:a libopus -b:a 32k -ac 1 output.webm
|
|
98
|
+
|
|
99
|
+
# Music (stereo)
|
|
100
|
+
ffmpeg -i input.mp4 -c:a libopus -b:a 128k output.webm
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### FLAC (Lossless)
|
|
104
|
+
No quality loss, archival quality, larger files.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Lossless audio
|
|
108
|
+
ffmpeg -i input.wav -c:a flac output.flac
|
|
109
|
+
|
|
110
|
+
# Extract audio losslessly
|
|
111
|
+
ffmpeg -i video.mp4 -c:a flac audio.flac
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Quality Optimization
|
|
115
|
+
|
|
116
|
+
### CRF (Constant Rate Factor)
|
|
117
|
+
Best for quality-focused encoding. Single-pass, adjusts bitrate for complexity.
|
|
118
|
+
|
|
119
|
+
**CRF Scale:**
|
|
120
|
+
- 0 = Lossless (huge files)
|
|
121
|
+
- 17-18 = Visually lossless
|
|
122
|
+
- 20-23 = High quality (recommended)
|
|
123
|
+
- 24-28 = Medium quality
|
|
124
|
+
- 30+ = Low quality
|
|
125
|
+
- 51 = Worst quality
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Visually lossless
|
|
129
|
+
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow output.mp4
|
|
130
|
+
|
|
131
|
+
# High quality (recommended)
|
|
132
|
+
ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset medium output.mp4
|
|
133
|
+
|
|
134
|
+
# Balanced quality/size
|
|
135
|
+
ffmpeg -i input.mp4 -c:v libx264 -crf 25 -preset fast output.mp4
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Bitrate-Based Encoding
|
|
139
|
+
Target specific file size or quality. Two-pass recommended.
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Calculate target bitrate
|
|
143
|
+
# bitrate = (target_size_MB * 8192) / duration_seconds - audio_bitrate
|
|
144
|
+
|
|
145
|
+
# Two-pass encoding (2600k video, 128k audio)
|
|
146
|
+
ffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null /dev/null
|
|
147
|
+
ffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac -b:a 128k output.mp4
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Presets (Speed vs Compression)
|
|
151
|
+
Trade-off between encoding speed and file size.
|
|
152
|
+
|
|
153
|
+
**Available presets:**
|
|
154
|
+
- `ultrafast` - Fastest, largest files
|
|
155
|
+
- `superfast`
|
|
156
|
+
- `veryfast`
|
|
157
|
+
- `faster`
|
|
158
|
+
- `fast`
|
|
159
|
+
- `medium` - Default balance
|
|
160
|
+
- `slow` - Better compression
|
|
161
|
+
- `slower`
|
|
162
|
+
- `veryslow` - Best compression
|
|
163
|
+
- `placebo` - Not recommended (minimal gains)
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Fast encoding (real-time)
|
|
167
|
+
ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast -crf 23 output.mp4
|
|
168
|
+
|
|
169
|
+
# Balanced
|
|
170
|
+
ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 22 output.mp4
|
|
171
|
+
|
|
172
|
+
# Best compression (slow)
|
|
173
|
+
ffmpeg -i input.mp4 -c:v libx264 -preset veryslow -crf 20 output.mp4
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Hardware Acceleration
|
|
177
|
+
|
|
178
|
+
### NVIDIA NVENC
|
|
179
|
+
5-10x faster encoding, slightly larger files than software encoding.
|
|
180
|
+
|
|
181
|
+
**Requirements:** NVIDIA GPU (GTX 10xx or newer)
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# H.264 with NVENC
|
|
185
|
+
ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4
|
|
186
|
+
|
|
187
|
+
# H.265 with NVENC
|
|
188
|
+
ffmpeg -hwaccel cuda -i input.mp4 -c:v hevc_nvenc -preset slow -crf 24 output.mp4
|
|
189
|
+
|
|
190
|
+
# Quality levels (instead of CRF)
|
|
191
|
+
ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset slow -rc vbr -cq 22 output.mp4
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**NVENC Presets:**
|
|
195
|
+
- `default` - Balanced
|
|
196
|
+
- `slow` - Better quality
|
|
197
|
+
- `medium`
|
|
198
|
+
- `fast`
|
|
199
|
+
- `hp` - High performance
|
|
200
|
+
- `hq` - High quality
|
|
201
|
+
- `bd` - Bluray disk
|
|
202
|
+
- `ll` - Low latency
|
|
203
|
+
- `llhq` - Low latency high quality
|
|
204
|
+
- `llhp` - Low latency high performance
|
|
205
|
+
|
|
206
|
+
### Intel QuickSync (QSV)
|
|
207
|
+
Fast hardware encoding on Intel CPUs with integrated graphics.
|
|
208
|
+
|
|
209
|
+
**Requirements:** Intel CPU with Quick Sync Video support
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# H.264 with QSV
|
|
213
|
+
ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 \
|
|
214
|
+
-c:v h264_qsv -preset fast -global_quality 22 output.mp4
|
|
215
|
+
|
|
216
|
+
# H.265 with QSV
|
|
217
|
+
ffmpeg -hwaccel qsv -c:v hevc_qsv -i input.mp4 \
|
|
218
|
+
-c:v hevc_qsv -preset medium -global_quality 24 output.mp4
|
|
219
|
+
|
|
220
|
+
# Quality levels
|
|
221
|
+
ffmpeg -hwaccel qsv -i input.mp4 -c:v h264_qsv -global_quality 20 output.mp4
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### AMD VCE/VCN
|
|
225
|
+
Hardware encoding on AMD GPUs.
|
|
226
|
+
|
|
227
|
+
**Requirements:** AMD GPU with VCE/VCN support
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# H.264 with AMF
|
|
231
|
+
ffmpeg -hwaccel auto -i input.mp4 \
|
|
232
|
+
-c:v h264_amf -quality balanced -rc cqp -qp 22 output.mp4
|
|
233
|
+
|
|
234
|
+
# H.265 with AMF
|
|
235
|
+
ffmpeg -hwaccel auto -i input.mp4 \
|
|
236
|
+
-c:v hevc_amf -quality quality -rc cqp -qp 24 output.mp4
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Apple VideoToolbox (macOS)
|
|
240
|
+
Hardware encoding on macOS devices.
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
# H.264 with VideoToolbox
|
|
244
|
+
ffmpeg -i input.mp4 -c:v h264_videotoolbox -b:v 2M output.mp4
|
|
245
|
+
|
|
246
|
+
# H.265 with VideoToolbox
|
|
247
|
+
ffmpeg -i input.mp4 -c:v hevc_videotoolbox -b:v 1.5M output.mp4
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Performance Tuning
|
|
251
|
+
|
|
252
|
+
### Multi-Threading
|
|
253
|
+
FFmpeg automatically uses multiple cores. Override if needed:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
# Limit threads
|
|
257
|
+
ffmpeg -threads 4 -i input.mp4 -c:v libx264 output.mp4
|
|
258
|
+
|
|
259
|
+
# Auto (default)
|
|
260
|
+
ffmpeg -threads 0 -i input.mp4 -c:v libx264 output.mp4
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Tune Options
|
|
264
|
+
Optimize encoder for specific content types:
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
# Film content
|
|
268
|
+
ffmpeg -i input.mp4 -c:v libx264 -tune film -crf 22 output.mp4
|
|
269
|
+
|
|
270
|
+
# Animation
|
|
271
|
+
ffmpeg -i input.mp4 -c:v libx264 -tune animation -crf 22 output.mp4
|
|
272
|
+
|
|
273
|
+
# Grain (film with noise)
|
|
274
|
+
ffmpeg -i input.mp4 -c:v libx264 -tune grain -crf 22 output.mp4
|
|
275
|
+
|
|
276
|
+
# Low latency streaming
|
|
277
|
+
ffmpeg -i input.mp4 -c:v libx264 -tune zerolatency -crf 22 output.mp4
|
|
278
|
+
|
|
279
|
+
# Screen content (sharp edges)
|
|
280
|
+
ffmpeg -i input.mp4 -c:v libx264 -tune stillimage -crf 22 output.mp4
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## Codec Selection Guide
|
|
284
|
+
|
|
285
|
+
### Use Cases
|
|
286
|
+
|
|
287
|
+
| Use Case | Codec | Settings |
|
|
288
|
+
|----------|-------|----------|
|
|
289
|
+
| Web video | H.264 | CRF 23, preset medium |
|
|
290
|
+
| 4K streaming | H.265 | CRF 24, preset fast |
|
|
291
|
+
| YouTube upload | VP9 or H.264 | CRF 23 |
|
|
292
|
+
| Archive | H.265 or H.264 | CRF 18, preset slow |
|
|
293
|
+
| Low bandwidth | AV1 or H.265 | CRF 30 |
|
|
294
|
+
| Fast encoding | H.264 NVENC | preset fast |
|
|
295
|
+
| Maximum compatibility | H.264 | profile main, level 4.0 |
|
|
296
|
+
|
|
297
|
+
### Platform Compatibility
|
|
298
|
+
|
|
299
|
+
| Platform | Recommended | Supported |
|
|
300
|
+
|----------|------------|-----------|
|
|
301
|
+
| Web browsers | H.264 | H.264, VP9, AV1 |
|
|
302
|
+
| Mobile devices | H.264 | H.264, H.265 |
|
|
303
|
+
| Smart TVs | H.264 | H.264, H.265 |
|
|
304
|
+
| YouTube | VP9, H.264 | All |
|
|
305
|
+
| Social media | H.264 | H.264 |
|
|
306
|
+
|
|
307
|
+
## Best Practices
|
|
308
|
+
|
|
309
|
+
1. **Use CRF for most tasks** - Better than bitrate for variable content
|
|
310
|
+
2. **Start with CRF 23** - Good balance, adjust based on results
|
|
311
|
+
3. **Use slow preset** - For archival and final delivery
|
|
312
|
+
4. **Use fast preset** - For previews and testing
|
|
313
|
+
5. **Hardware acceleration** - When speed is critical
|
|
314
|
+
6. **Two-pass encoding** - When file size is fixed
|
|
315
|
+
7. **Match source frame rate** - Don't increase FPS
|
|
316
|
+
8. **Don't upscale resolution** - Keep original or downscale
|
|
317
|
+
9. **Test on short clips** - Verify settings before full encode
|
|
318
|
+
10. **Keep source files** - Original quality for re-encoding
|
|
319
|
+
|
|
320
|
+
## Troubleshooting
|
|
321
|
+
|
|
322
|
+
### Poor Quality Output
|
|
323
|
+
```bash
|
|
324
|
+
# Lower CRF value
|
|
325
|
+
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow output.mp4
|
|
326
|
+
|
|
327
|
+
# Use slower preset
|
|
328
|
+
ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset veryslow output.mp4
|
|
329
|
+
|
|
330
|
+
# Increase bitrate (two-pass)
|
|
331
|
+
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 5M -pass 1 -an -f null /dev/null
|
|
332
|
+
ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -pass 2 -c:a aac output.mp4
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Slow Encoding
|
|
336
|
+
```bash
|
|
337
|
+
# Use faster preset
|
|
338
|
+
ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast output.mp4
|
|
339
|
+
|
|
340
|
+
# Use hardware acceleration
|
|
341
|
+
ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc output.mp4
|
|
342
|
+
|
|
343
|
+
# Reduce resolution
|
|
344
|
+
ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 output.mp4
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Large File Size
|
|
348
|
+
```bash
|
|
349
|
+
# Increase CRF
|
|
350
|
+
ffmpeg -i input.mp4 -c:v libx264 -crf 26 output.mp4
|
|
351
|
+
|
|
352
|
+
# Use better codec
|
|
353
|
+
ffmpeg -i input.mp4 -c:v libx265 -crf 26 output.mp4
|
|
354
|
+
|
|
355
|
+
# Two-pass with target bitrate
|
|
356
|
+
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 1M -pass 1 -an -f null /dev/null
|
|
357
|
+
ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -pass 2 -c:a aac output.mp4
|
|
358
|
+
```
|