[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7C0YNKBFNC4QSQEBTY7CYR6":3,"skill-same:01M7C0YNKBFNC4QSQEBTY7CYR6":45},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M7C0YNKBFNC4QSQEBTY7CYR6","ffmpeg-format-conversion",null,"Convert media files between formats - video containers, audio formats, and codec transcoding","linyouxue\u002Fskill-repair-benchmark","linyouxue","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F216151464?v=4","01M7BJEVCXKD74KH6FG9CBVSQB","林宥学","01M7BJEVE02NP217V93BKZFC0J",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fevaluation\u002Fresults\u002FSkillOpt-adapted-gpt52-n3L4R2-v25\u002Ftasks\u002Fmultilingual-video-dubbing\u002Frepaired_skill\u002Fffmpeg-format-conversion\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: ffmpeg-format-conversion\ndescription: Convert media files between formats - video containers, audio formats, and codec transcoding\n---\n\n# FFmpeg Format Conversion Skill\n\nConvert media files between different formats and containers.\n\n## When to Use\n\n- Convert video containers (MP4, MKV, AVI, etc.)\n- Convert audio formats (MP3, AAC, WAV, etc.)\n- Transcode to different codecs\n- Copy streams without re-encoding (fast)\n\n## Basic Conversion\n\n```bash\n# Convert container format (re-encode)\nffmpeg -i input.avi output.mp4\n\n# Copy streams without re-encoding (fast, no quality loss)\nffmpeg -i input.mp4 -c copy output.mkv\n\n# Convert with specific codec\nffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4\n```\n\n## Video Codec Conversion\n\n```bash\n# H.264\nffmpeg -i input.mp4 -c:v libx264 output.mp4\n\n# H.265 (better compression)\nffmpeg -i input.mp4 -c:v libx265 output.mp4\n\n# VP9 (web optimized)\nffmpeg -i input.mp4 -c:v libvpx-vp9 output.webm\n\n# AV1 (modern codec)\nffmpeg -i input.mp4 -c:v libaom-av1 output.mp4\n```\n\n## Audio Format Conversion\n\n```bash\n# MP3\nffmpeg -i input.wav -acodec libmp3lame -q:a 2 output.mp3\n\n# AAC\nffmpeg -i input.wav -c:a aac -b:a 192k output.m4a\n\n# Opus (best quality\u002Fbitrate)\nffmpeg -i input.wav -c:a libopus -b:a 128k output.opus\n\n# FLAC (lossless)\nffmpeg -i input.wav -c:a flac output.flac\n```\n\n## Quality Settings\n\n```bash\n# CRF (Constant Rate Factor) - lower is better quality\nffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4\n\n# Bitrate\nffmpeg -i input.mp4 -b:v 2M -b:a 192k output.mp4\n\n# Two-pass encoding (best quality)\nffmpeg -i input.mp4 -c:v libx264 -b:v 2M -pass 1 -f null \u002Fdev\u002Fnull\nffmpeg -i input.mp4 -c:v libx264 -b:v 2M -pass 2 output.mp4\n```\n\n## Presets\n\n```bash\n# Encoding speed presets (faster = larger file)\nffmpeg -i input.mp4 -c:v libx264 -preset fast output.mp4\n# Options: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow\n\n# Quality presets\nffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 18 output.mp4\n```\n\n## Batch Conversion\n\n```bash\n# Convert all MKV to MP4\nfor f in *.mkv; do\n  ffmpeg -i \"$f\" -c copy \"${f%.mkv}.mp4\"\ndone\n\n# Convert with re-encoding\nfor f in *.avi; do\n  ffmpeg -i \"$f\" -c:v libx264 -c:a aac \"${f%.avi}.mp4\"\ndone\n```\n\n## Common Codecs\n\n### Video\n- **H.264** (libx264) - Universal compatibility\n- **H.265** (libx265) - Better compression\n- **VP9** (libvpx-vp9) - Open standard\n- **AV1** (libaom-av1) - Modern codec\n\n### Audio\n- **AAC** (aac) - Universal\n- **MP3** (libmp3lame) - Legacy\n- **Opus** (libopus) - Best quality\u002Fbitrate\n- **FLAC** (flac) - Lossless\n\n## Notes\n\n- Use `-c copy` when possible for speed (no re-encoding)\n- Re-encoding is slower but allows codec\u002Fquality changes\n- CRF 18-23 is good quality range for H.264\n- Preset affects encoding speed vs file size tradeoff\n","# FFmpeg Format Conversion Skill\n\nConvert media files between different formats and containers.\n\n## When to Use\n\n- Convert video containers (MP4, MKV, AVI, etc.)\n- Convert audio formats (MP3, AAC, WAV, etc.)\n- Transcode to different codecs\n- Copy streams without re-encoding (fast)\n\n## Basic Conversion\n\n```bash\n# Convert container format (re-encode)\nffmpeg -i input.avi output.mp4\n\n# Copy streams without re-encoding (fast, no quality loss)\nffmpeg -i input.mp4 -c copy output.mkv\n\n# Convert with specific codec\nffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4\n```\n\n## Video Codec Conversion\n\n```bash\n# H.264\nffmpeg -i input.mp4 -c:v libx264 output.mp4\n\n# H.265 (better compression)\nffmpeg -i input.mp4 -c:v libx265 output.mp4\n\n# VP9 (web optimized)\nffmpeg -i input.mp4 -c:v libvpx-vp9 output.webm\n\n# AV1 (modern codec)\nffmpeg -i input.mp4 -c:v libaom-av1 output.mp4\n```\n\n## Audio Format Conversion\n\n```bash\n# MP3\nffmpeg -i input.wav -acodec libmp3lame -q:a 2 output.mp3\n\n# AAC\nffmpeg -i input.wav -c:a aac -b:a 192k output.m4a\n\n# Opus (best quality\u002Fbitrate)\nffmpeg -i input.wav -c:a libopus -b:a 128k output.opus\n\n# FLAC (lossless)\nffmpeg -i input.wav -c:a flac output.flac\n```\n\n## Quality Settings\n\n```bash\n# CRF (Constant Rate Factor) - lower is better quality\nffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4\n\n# Bitrate\nffmpeg -i input.mp4 -b:v 2M -b:a 192k output.mp4\n\n# Two-pass encoding (best quality)\nffmpeg -i input.mp4 -c:v libx264 -b:v 2M -pass 1 -f null \u002Fdev\u002Fnull\nffmpeg -i input.mp4 -c:v libx264 -b:v 2M -pass 2 output.mp4\n```\n\n## Presets\n\n```bash\n# Encoding speed presets (faster = larger file)\nffmpeg -i input.mp4 -c:v libx264 -preset fast output.mp4\n# Options: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow\n\n# Quality presets\nffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 18 output.mp4\n```\n\n## Batch Conversion\n\n```bash\n# Convert all MKV to MP4\nfor f in *.mkv; do\n  ffmpeg -i \"$f\" -c copy \"${f%.mkv}.mp4\"\ndone\n\n# Convert with re-encoding\nfor f in *.avi; do\n  ffmpeg -i \"$f\" -c:v libx264 -c:a aac \"${f%.avi}.mp4\"\ndone\n```\n\n## Common Codecs\n\n### Video\n- **H.264** (libx264) - Universal compatibility\n- **H.265** (libx265) - Better compression\n- **VP9** (libvpx-vp9) - Open standard\n- **AV1** (libaom-av1) - Modern codec\n\n### Audio\n- **AAC** (aac) - Universal\n- **MP3** (libmp3lame) - Legacy\n- **Opus** (libopus) - Best quality\u002Fbitrate\n- **FLAC** (flac) - Lossless\n\n## Notes\n\n- Use `-c copy` when possible for speed (no re-encoding)\n- Re-encoding is slower but allows codec\u002Fquality changes\n- CRF 18-23 is good quality range for H.264\n- Preset affects encoding speed vs file size tradeoff\n",{"name":5,"description":7},"main","cdcb6d230f3b15c3c33f8a2bdd16439f43602cbe","evaluation\u002Fresults\u002FSkillOpt-adapted-gpt52-n3L4R2-v25\u002Ftasks\u002Fmultilingual-video-dubbing\u002Frepaired_skill\u002Fffmpeg-format-conversion",1,"https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark","https:\u002F\u002Fgithub.com\u002Flinyouxue","2026-11-14 20:28:35",{"source":8,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add linyouxue\u002Fskill-repair-benchmark --skill ffmpeg-format-conversion",{"tool":37,"command":38},"bunx","bunx skills add linyouxue\u002Fskill-repair-benchmark --skill ffmpeg-format-conversion",{"tool":40,"command":41},"pnpm","pnpm dlx skills add linyouxue\u002Fskill-repair-benchmark --skill ffmpeg-format-conversion","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fevaluation\u002Fresults\u002FSkillOpt-adapted-gpt52-n3L4R2-v25\u002Ftasks\u002Fmultilingual-video-dubbing\u002Frepaired_skill\u002Fffmpeg-format-conversion\u002FSKILL.md",true,[],[46,53,60,67,72,77],{"skillNo":47,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":50,"categories":51,"keywords":52,"publishedAt":19},"01M7E1HGVRY73NBJ022CJG13X6","video-frame-extraction","Extract frames from video files and save them as images using OpenCV","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_03\u002Finputs\u002Fskills\u002Fvideo-frame-extraction\u002FSKILL.md",[],[],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":19},"01M7E1HAG5R7CJ9C8NYJS771MB","openai-vision","Analyze images and multi-frame sequences using OpenAI GPT vision models","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_03\u002Finputs\u002Fskills\u002Fopenai-vision\u002FSKILL.md",[],[],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":19},"01M7E1H7DADKB6QBWKC2KQ63SZ","image-ocr","Extract text content from images using Tesseract OCR via Python, including structured field extraction from receipts and forms","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_03\u002Finputs\u002Fskills\u002Fimage-ocr\u002FSKILL.md",[],[],{"skillNo":68,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":19},"01M7E1H0WBNT43TENGQY7AVZHD","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_02\u002Finputs\u002Fskills\u002Fvideo-frame-extraction\u002FSKILL.md",[],[],{"skillNo":73,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":19},"01M7E1GTC7D4N4Q2EF03875J9E","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_02\u002Finputs\u002Fskills\u002Fopenai-vision\u002FSKILL.md",[],[],{"skillNo":78,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":19},"01M7E1GQ92CWFMGH53KSSE4WER","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_02\u002Finputs\u002Fskills\u002Fimage-ocr\u002FSKILL.md",[],[]]