前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >探索FFmpeg

探索FFmpeg

作者头像
Noneplus
发布2020-01-22 09:54:03
8480
发布2020-01-22 09:54:03
举报
文章被收录于专栏:开发笔记开发笔记

Part1 :FFmpeg简介

FFmpeg定义

FFmpeg是一款音视频编解码工具,为开发者提供了大量音视频处理接口。

FF指的是“Fast Forward”

FFmpeg历史

2000年,法国天才Fabrice Bellard开发出第一代版本

2004年,Michael Nidermayer接手

2011年,FFmpeg其中的提交者对项目管理不满意,自立门户,创建了Libav

2015年,Michael Nidermayer移植了大量的代码到FFmpeg中,并辞职,希望两个项目可以共同发展,若能合并则更好

GitHub地址:https://github.com/FFmpeg/FFmpeg

FFmpeg组成

  • AVFormat:实现了大多数媒体的封装格式,包括MP4,FLV等文件封装格式,RTMP,RTSP等网络协议封装格式。
  • AVCodec:实现了大多数媒体的编解码格式,支持MPEG4,AAC,H.264(AVC),H.265(HEVC),MP3
  • AVFilter:一个通用的音视频,字幕等滤镜处理框架
  • swscale视频图像转换计算模块:1080p转换为720或者480,或者将图像数据从YUV420p转换成YUYV.
  • swresample音频计算转换模块:操作音频采样,音频通道布局转换,布局调整。

FFmpeg编解码工具ffmpeg

ffmpeg是FFmpeg源代码编译后生成的可执行程序,可以作为命令行使用。

ffmpeg主要工作流程:

  • 读取数据源
  • 进行音视频的解封装
  • 解码每一帧音视频数据
  • 编码每一帧音视频数据
  • 对音视频数据重新封装
  • 输出到目标

FFmpeg多媒体分析器ffprobe

包含音频,视频参数,媒体容器的参数信息。

FFmpeg编译

  • windows平台编译 下载软件包 https://ffmpeg.zeranoe.com/builds/ 解压后配置环境变量 C:\Users\noneplus\Desktop\ffmpeg-20191001-c4de49e-win64-static\bin 打开命令行 ffmpeg

Part2:常用命令

ffmpeg命令

命令格式

代码语言:javascript
复制
ffmpeg \
    [global_options] \
    [input_file_options] -i input_url \
    [actions] \
    [output_file_options] output_url

参数说明

代码语言:javascript
复制
-y   表示直接覆盖已经存在的输出文件
-n   表示若某个输出文件已经存在则退出

视频截取

代码语言:javascript
复制
ffmpeg -ss 00:00:20 -t 00:00:10 -i test.mp4 noneplus.mp4

-ss表示开始切割的时间,-t表示要切多少。上面就从20秒开始,切10秒钟出来。

视频格式转换

代码语言:javascript
复制
ffmpeg -i noneplus.mp4 noneplus.avi

提取音频流

代码语言:javascript
复制
ffmpeg -i output.mp4 -acodec copy -vn output.aac

-acodec表示音频编码,copy表示不改变编解码器,只是改封装器

-vn 不将视频流写到输出文件中

提取视频流

代码语言:javascript
复制
ffmpeg -i noneplus.mp4 -vcodec copy -an noneplus.mp4

-an 不将音频流写到输出文件中

添加音频

代码语言:javascript
复制
ffmpeg -i bgm.mp3 -i test.mp4 output.mp4

参数

参数名

作用

-i filename

输入文件

代码语言:javascript
复制
ffmpeg -i test1.mp4 test2.avi

转换格式mp4为avi。

参考书籍:

《FFmpeg从入门到精通》刘岐,赵文杰编著

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part1 :FFmpeg简介
    • FFmpeg定义
      • FFmpeg历史
        • FFmpeg组成
          • FFmpeg编解码工具ffmpeg
            • FFmpeg多媒体分析器ffprobe
              • FFmpeg编译
              • Part2:常用命令
                • ffmpeg命令
                  • 命令格式
                • 参数说明
                  • 视频截取
                    • 视频格式转换
                      • 提取音频流
                        • 提取视频流
                          • 添加音频
                            • 参数
                              • 参考书籍:
                              相关产品与服务
                              媒体处理
                              媒体处理(Media Processing Service,MPS)是一种云端音视频处理服务。基于腾讯多年音视频领域的深耕,为您提供极致的编码能力,大幅节约存储及带宽成本、实现全平台播放,同时提供视频截图、音视频增强、内容理解、内容审核等能力,满足您在各种场景下对视频的处理需求。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档