media-transcoding

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Media Transcoding (FFmpeg)

媒体转码(基于FFmpeg)

Overview

概述

Use FFmpeg presets to normalize video outputs for web streaming, mobile delivery, or archival quality. Your
hf-videos
repo already includes a simple bash script and a more advanced Python script with presets, backups, and logging.
使用FFmpeg预设来标准化视频输出,以适配网页流播放、移动设备分发或存档级质量。你的
hf-videos
仓库已包含一个简单的bash脚本和一个更高级的Python脚本,预设、备份和日志功能一应俱全。

Quick Start (hf-videos)

快速开始(hf-videos)

bash
./ffmpeg_convert.sh check
./ffmpeg_convert.sh web_standard "My Video.mp4"
./ffmpeg_convert.sh batch_web_standard
Outputs are written to
converted/
with backups in
backup/
and logs in
conversion.log
.
bash
./ffmpeg_convert.sh check
./ffmpeg_convert.sh web_standard "My Video.mp4"
./ffmpeg_convert.sh batch_web_standard
输出文件会写入
converted/
目录,备份文件存储在
backup/
目录,日志记录在
conversion.log
中。

Preset Summary (hf-videos)

预设汇总(hf-videos)

  • web_standard: 1080p max, CRF 23, 128k audio,
    +faststart
  • web_high: 1080p max, CRF 20, 192k audio
  • mobile: 720p max, CRF 25, 96k audio
  • ultra_compact: 480p max, CRF 28, 64k audio
  • archive: original res, CRF 18, 256k audio
All presets use H.264 + AAC with
+faststart
for streaming-friendly MP4s.
  • web_standard:最大1080p,CRF 23,音频128k,添加
    +faststart
  • web_high:最大1080p,CRF 20,音频192k
  • mobile:最大720p,CRF 25,音频96k
  • ultra_compact:最大480p,CRF 28,音频64k
  • archive:原始分辨率,CRF 18,音频256k
所有预设均采用H.264 + AAC编码,并添加
+faststart
以生成适合流媒体播放的MP4文件。

Batch Workflow

批量工作流

  1. Run a single-file conversion first to validate output.
  2. Run batch conversion once the preset is confirmed.
  3. Verify output sizes and playback.
Batch commands:
bash
./ffmpeg_convert.sh batch_web_standard
./ffmpeg_convert.sh batch_mobile
./ffmpeg_convert.sh batch_ultra_compact
  1. 先运行单个文件转换以验证输出效果。
  2. 确认预设无误后,运行批量转换。
  3. 验证输出文件大小和播放效果。
批量命令:
bash
./ffmpeg_convert.sh batch_web_standard
./ffmpeg_convert.sh batch_mobile
./ffmpeg_convert.sh batch_ultra_compact

Advanced Script (convert_video.py)

高级脚本(convert_video.py)

Use
convert_video.py
when you need:
  • Progress monitoring
  • Metadata inspection
  • Overwrite control
  • Preset listing and batch automation
bash
python3 convert_video.py --list-presets
python3 convert_video.py --file "My Video.mp4" --preset web_standard
python3 convert_video.py --preset mobile --overwrite
当你需要以下功能时,使用
convert_video.py
  • 进度监控
  • 元数据检查
  • 覆盖控制
  • 预设列表查看与批量自动化
bash
python3 convert_video.py --list-presets
python3 convert_video.py --file "My Video.mp4" --preset web_standard
python3 convert_video.py --preset mobile --overwrite

Output Conventions

输出规范

  • Converted files use suffixes like
    _web_standard
    .
  • Backups preserve original filenames.
  • Logs go to
    conversion.log
    for audit and troubleshooting.
  • 转换后的文件会添加
    _web_standard
    这类后缀。
  • 备份文件保留原始文件名。
  • 日志会写入
    conversion.log
    ,用于审计和故障排查。

Troubleshooting

故障排查

  • FFmpeg missing:
    brew install ffmpeg
    (macOS) or install from ffmpeg.org.
  • Permission errors:
    chmod +x ffmpeg_convert.sh
    .
  • Disk pressure: clean
    converted/
    and
    backup/
    after validation.
  • FFmpeg缺失:macOS系统执行
    brew install ffmpeg
    ,或从ffmpeg.org官网安装。
  • 权限错误:执行
    chmod +x ffmpeg_convert.sh
  • 磁盘空间不足:验证完成后清理
    converted/
    backup/
    目录。

Related Skills

相关技能

  • toolchains/universal/infrastructure/docker
  • toolchains/universal/infrastructure/docker