当前位置: 首页 > news >正文

FFmpeg入门之简单介绍

FFmpeg是什么意思:  Fast Forward Moving Picture Experts Group

ffmpeg相关文档:

Documentation 

FFmpeg

ffmpeg源码下载:

https://git.videolan.org/git/ffmpeg.git

https://github.com/FFmpeg/FFmpeg.git 

FFmpeg能做什么?

多种媒体格式的封装与解封装 :

1.多种音视频编解码 (如: MP4/FLV/KV/TS)

2.多种协议流媒体 (如:RTMP/RTSP/MMS/HLS)

3.多种色彩格式转换

4.多种采样率转换

5.多种码率转换

FFmpeg有哪些模块:

          AVFormat

          AVCodec

         AVFilter

         AVDevice

         AVUtil

        swresample

        swscale

FFmpeg常用的编解码器:  MPEG4   AAC   MJPEG  H.264(AVC)   H.265(HEVC)

视频滤镜使用:

./ffmpeg -i 输入视频路径  -vf "split [main] [tmp];  [tmp] crop=iw:ih/2:0:0, vflip [flip];  [main] [flip] overlay=0:H/2"  视频路径

视频转换使用:

./ffmpeg -i 输入视频路径   输出视频路径

指定输出格式: 

 ./ffmpeg -i  输入视频路径 -f avi   输出视频路径

FFmpeg转码流程:

打开输入源--->解封装(Demuxing)--->解码(Decoding)--->参数转换--->编码(Encoding)--->封装(Muxing)--->输出目标源

注:如果要源码编译生成ffplay要先安装sdl

使用ffplay播放流:

./ffplay  输入流路径或者地址

查看流信息:

./ffprobe -show_stream 输入流路径或地址

编译FFmpeg:

windows: 

        1.安装MinGW-w64与MSYS

        2. ./configure

        3. make

        4. make install

         5. ./ffmpeg -h

linux/macos:

       1.安装yasm

       2. ./configure

       3. make

       4. make install 

       5. ./ffmpeg -h

编译FFmpeg源码并支持H.264与H.265与AAC

mkdir build

cd build

../configure --enable-libx264 --enable-libx265 --enable-libfdk-aac  --enable-gpl  -enable-nonfree

 查看FFmpeg支持哪些编解码器:

./configure --list-encoders

./configure --list-decoders

查看FFmpeg支持哪些封装与解封装:

./configure --list-muxers

./configure --list-demuxers

查看FFmpeg支持哪些通信协议:

./configure --list-protocols

http://www.lryc.cn/news/160786.html

相关文章:

  • 新版DBeaver调整编辑窗口字体大小
  • 《vue3实战》运用push()方法实现电影评价系统的添加功能
  • JavaScript学习笔记02
  • 短信过滤 APP 开发
  • 【计算机基础知识7】垃圾回收机制与内存泄漏
  • [学习笔记]CS224W
  • 华为云API对话机器人CBS的魅力—实现简单的对话操作
  • 精益制造、质量管控,盛虹百世慧共同启动MOM(制造运营管理)
  • 【科研论文配图绘制】task7密度图绘制
  • Python3 集合
  • 【山河送书第十期】:《Python 自动化办公应用大全》参与活动,送书两本!!
  • Java多线程——同步
  • Vue+NodeJS实现邮件发送
  • Go语言网络编程(socket编程)TCP粘包
  • 【再识C进阶2(中)】详细介绍指针的进阶——函数指针数组、回调函数、qsort函数
  • PaddleOCR学习笔记3-通用识别服务
  • 9.8 校招 实习 内推 面经
  • web前段与后端的区别优漫动游
  • 局域网ntp服务器设置(windows时间同步服务器NetTime)(ubuntu systemd-timesyncd ntp客户端)123端口、ntp校时
  • 【个人博客系统网站】我的博客列表页 · 增删改我的博文 · 退出登录 · 博客详情页 · 多线程应用
  • 安全狗陈奋:数据安全需要建立在传统网络安全基础之上
  • 【Redis】深入探索 Redis 的数据类型 —— 哈希表 hash
  • 网络安全应急响应典型案例-(DDOS类、僵尸网络类、数据泄露类)
  • 【测试开发】Mq消息重复如何测试?
  • C++和C#程序语言的区别
  • CentOS配置Java环境报错-bash: /usr/local/jdk1.8.0_381/bin/java: 无法执行二进制文件
  • MySQL进阶 —— 超详细操作演示!!!(上)
  • 一条爬虫抓取一个小网站所有数据
  • 八大排序——快速排序
  • 【ES】笔记-Class类剖析