FFmpeg 工具基础

FFmpeg 是一套跨平台的音视频处理开源工具库,可实现音视频的编解码、转码、剪辑、流媒体传输等功能,是前端、后端音视频开发的核心工具之一。

ffmpeg是一种通用媒体转换器。它可以读取各种输入------包括实时抓取/录制设备------过滤并转码它们生成多种输出格式。

ffmpeg is a universal media converter. It can read a wide variety of inputs - including live grabbing/recording devices - filter, and transcode them into a plethora of output formats.

核心特点

  1. 功能全面
    • 支持几乎所有主流音视频格式(MP4、FLV、MKV、MP3、AAC 等)的编解码。
    • 可完成转码、裁剪、合并、加水印、提取音频 / 视频流等操作。
    • 支持流媒体推流 / 拉流(如 RTMP、HLS、HTTP-FLV 协议)。
  2. 跨平台性可运行在 Windows、Linux、macOS 等系统,也支持嵌入式设备。
  3. 高性能底层由 C 语言编写,执行效率高,支持硬件加速(如 NVIDIA CUDA、Intel QSV)。

常用命令示例

1.音视频转码将 WMV 格式的视频转换为 MP4 格式:

复制代码
ffmpeg -i input.wmv output.mp4
  1. 提取音频 从视频中提取 MP3 音频:

    复制代码
    ffmpeg -i input.mp4 -vn -acodec mp3 output.mp3
  2. 视频裁剪 截取视频 00:01:00 到 00:02:00 的片段:

    复制代码
    ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4
  1. 视频裁剪 截取视频 00:01:00 到 00:02:00 的片段:

    复制代码
    ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4

前端开发中的应用

  • 结合 ffmpeg.wasm 可在浏览器端直接处理音视频(无需后端),比如实现视频压缩、格式转换等功能。
  • 后端可通过 FFmpeg 处理用户上传的音视频,生成适配不同终端的文件。
相关推荐
RockWang.15 小时前
【配置】FFmpeg配置环境ubuntu踩坑记录。
ffmpeg
王者鳜錸17 小时前
Java使用FFmpeg获取音频文件时长:完整实现与原理详解
java·开发语言·ffmpeg·音频时长
桃杬18 小时前
用现代 C++ 封装 FFmpeg:从摄像头采集到 H.264 编码的完整实践
c++·ffmpeg·h.264
1nv1s1ble2 天前
记录一个`ffmpeg`的`swscale`库crash的例子
ffmpeg
CodeOfCC2 天前
C++ 实现ffmpeg解析hls fmp4 EXT-X-DISCONTINUITY并支持定位
开发语言·c++·ffmpeg·音视频
Java程序员 拥抱ai2 天前
SpringBoot + FFmpeg + Redis:视频转码、截图、水印异步处理平台搭建
spring boot·redis·ffmpeg
给算法爸爸上香2 天前
yolo tensorrt视频流检测软解码和硬解码
yolo·ffmpeg·视频编解码·tensorrt·nvcodec
dwp11471706073 天前
在Windows上基于MSYS2 UCRT64工具链编译ffmpeg源码
windows·ffmpeg
专业开发者3 天前
开发者可从蓝牙 ® 低功耗音频(Bluetooth® LE Audio)中获得的 4 大功能
物联网·ffmpeg·音视频