FFMPEG 笔记

FFmpeg学习笔记汇总 第1章 FFmpeg简介1.1 FFmpeg定义FFmpeg既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率转换等;FFmpeg框架提供了多种丰富的插件模块,包含封装与解封装的插件、编码与解码的插件等。 阅读详情


1. encode yuv file

ffmpeg -s cif -vcodec mpeg4 -i paris.yuv paris.avi

-s 指定帧大小 cif 为 352x288,qcif 为 176x144,4cif 为 704x576
-vcodec 指定采用的编码器
-i 指定输入文件


2. output raw YUV420P file

ffmpeg -i paris.avi paris0.yuv


3. 将一段视频输出为图片序列

ffmpeg -i 1.avi cat%d.png -vcode png

-vcodec mjpeg
-vcodec ppm


ffmpeg -i 1.avi cat%04d.jpg -vcodec mjpeg -ss 0:1:2 -t 0:0:1

将1.avi视频 1分02秒 处开始,持续1秒长的视频输出为jpg的序列


ffmpeg -vcodec mjpeg -i 1.flv test%02d.jpg -ss 0:0:2 -t 0.001

-t 表示持续时间为0.001秒,这个命令相当于截取开始2秒处的一幅jpeg的图片


4. 多输入单输出

ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg


5. 单输入多输出

ffmpeg -i /tmp/a.wav -ab 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0

-map file:stream_index 指定哪一个输入流用于输出流,顺序对应


6. DVD to mpeg4

ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec mp2 -ab 128 snatch.avi

压制高品质mp4的参考参数:

'-mbd rd -flags +4mv+trell+aic -cmp 2 -subcmp 2 -g 300 -pass 1/2'

可以试试: '-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd'


7. encode mpeg1/mpeg2

ffmpeg -i 1.avi -vcodec mpeg2video 2.mpg

注意mpeg2的codec为 mpeg2video

其他codec可以使用 ffmpeg -formats 查看

压制高品质mp1/mp2的参考参数:

'-mbd rd -flags +trell -cmp 2 -subcmp 2 -g 100 -pass 1/2'

注意,加 '-g 100' 可能会使某些解码器没法解码

可以试试: '-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd'


8. encode flv

ffmpeg -i 1.avi -ab 56 -ar 22050 -b 500 -r 15 1.flv


9. X 屏幕录像

FFmpeg can grab the X11 display.

ffmpeg -f x11grab -i :0.0 /tmp/out.mpg

0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.

ffmpeg -f x11grab -i :0.0+10,20 /tmp/out.mpg

0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.
10 is the x-offset and 20 the y-offset for the grabbing.


10. 音视频采集

ffmpeg -f audio_device -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg

Note that you must activate the right video source and channel before launching FFmpeg with
any TV viewer such as xawtv (http://bytesex.org/xawtv/) by Gerd Knorr. You also have to set
the audio recording levels correctly with a standard mixer.


11. 常用选项

-i filename 输入文件

-f fmt 强迫采用格式fmt

-y 覆盖输出文件

-ss position 搜索到指定的时间处开始 [-]hh:mm:ss[.xxx]的格式也支持

-b bitrate 设置比特率,缺省200kb/s

-r fps 设置帧频 缺省25

-s size 设置帧大小 格式为WXH 缺省160X128.下面的简写也可以直接使用:
sqcif 128X96 qcif 176X144 cif 352X288 4cif 704X576

-vcodec codec 强制使用codec编解码方式。 如果用copy表示原始编解码数据必须被拷贝。

-sameq 使用同样视频质量作为源(VBR)

-g gop_size 设置图像组大小

-intra 仅适用帧内编码

-bf frames 使用frames B 帧,支持mpeg1,mpeg2,mpeg4

-ab bitrate 设置音频码率

-ar freq 设置音频采样率

-ac channels 设置通道 缺省为1

-an 不使能音频纪录

-acodec codec 使用codec编解码

-benchmark 为基准测试加入时间

-hex 倾倒每一个输入包


12.
mpayer 截图:

mplayer -ss START_TIME -noframedrop -nosound -vo jpeg -frames N NAME_OF_VIDEO_FILE

获取视频时长(seconds):

mplayer -identify movie-filename -nosound -vc dummy -vo null | grep ID_LENGTH


13. 快速合并视频文件:

mencoder -oac copy -ovc copy -idx -o output.avi video1.avi video2.avi video3.avi


ffmpeg学习二:《FFmpeg Basics》读书笔记(上) 为了更好的理解ffmpeg工程,官方推荐了一本书:《FFmpeg Basics》。完整的读完这本书,应该对这个工程能有一个基本的理解了。本菜英文不好,姑且从这本书中提炼出一些比较常用的知识,做个笔记吧。一.波特率,帧率,和文件大小1.1帧率1-1-1帧率的基本概念 帧率,英文说就是frames per second(FPS or fps),也就是每秒钟的帧数,完整的说就是每秒钟编码到视频文件中的帧 阅读详情

相关推荐

ffmpeg 入门笔记

那天需要将一段视频文件转成 gif,偶遇 ffmpeg,于是就学习了一下,它真的很强大。在看资料的过程中也是挺有趣的,发现其实 kmplayer 以及国内的 QQ 影音,暴风等等,都不同程度的使用了 ffmpeg,可是根据 ffmpeg 的开源许可 LGPL,任何使用 ffmpeg 的软件都必须开源,于是乎 QQ 影音,暴风都上了 ffmpeg 的耻辱柱,如果没接触到 ffmpeg 还真不知道有这...

r_m_AA的博客 2443

ffplay ffmpeg快速检验摄像头

输入输出设备使用ffplay USB设备(video4linux2, v4l2)播放 查看可播放格式 ffplay -f video4linux2 -list_formats all /dev/video0 直接播放 ffplay -f video4linux2 -input_format mjpeg -framerate 30 -video_size 640*480 /dev/video0 问题

WillPower 4417

ffmpeg学习三:《FFmpeg Basics》读书笔记(下)

一.格式转换格式转换是ffmpeg工具用的最多的地方了。我们可以使用-f选项,在输出文件之前指定输出文件的格式。1-1媒体格式1-1-1文件格式 媒体格式是能够存储音视频数据的特殊的文件类型。如果一个文件中存储了多个流,那么它就称之为容器。我们可以使用ffmpeg -formats命令来查看ffpmeg支持的媒体格式。 1-1-2媒体容器 媒体容器是一个特别封装过的文件,其特殊的格式用来存放多

阳光玻璃杯 3001

ffmpeg命令行

windows环境下,下载static版本解压即可使用ffmpeg,但是ffplay播放audio的时候需要设置环境变量 SDL_AUDIODRIVER=directsound FFmpeg command-line tools ffmpeg fast audio and video encoder/decoder ffplay .........

ddddfang的专栏 4424

ffmpeg - 笔记

ffmpeg

tianyu的专栏 - Linux site:blog.youkuaiyun.com/wishfly 327

Linux V4L2驱动开发实战:手把手教你用I2C摄像头Sensor注册一个v4l2_subdev

本文详细解析了Linux V4L2驱动开发中I2C摄像头Sensor注册v4l2_subdev的全流程,包括初始化、操作集填充、异步匹配等关键环节。通过实战案例和代码示例,帮助开发者掌握V4L2子系统下的摄像头驱动开发技巧,提升嵌入式Linux系统开发能力。

weixin_30328063的博客 418

FFMPEG学习日记--采集视频

FFMPEG学习日记–采集视频 本文描述了在centos8上进行视频采集的方式,采用FFMEPGE,在采集前需要正确安装和配置FFMPEG,可参考: https://blog.youkuaiyun.com/qq_27031005/article/details/111815318 使用命令方式采集linux界面:(需要采用x11方式开启centos) ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 v-out.mp4 上面的

qq_27031005的博客 1027

libjpeg-turbo图片解码 VS opencv

本文对比了libjpeg-turbo和opencv在图像解码层面的耗时情况,及解码数据是否存在diff

优快云_WHB的博客 833

ffmpeg 从/dev/video 录制视频

最简单的录制视频,录制10秒:pi@raspberrypi:~$./ffmpeg-i/dev/video0out1.avi设定参数:-t10录制10秒: -s1920x1080设定分辨率 -r30设定帧率 -b:v设定视频比特率 -b:a设...

weixin_33713707的博客 1721

为什么需要知识图谱?什么是知识图谱?——KG的前世今生

我的知乎专栏,对知识图谱感兴趣的朋友可以关注。标题的命名顺序可能让有的读者不太习惯。通常在介绍一个陌生事物的应用前,我们先给出其定义。之所以换个顺序,是为了不让读者一开始就接触比较冰冷生硬的概念刻板描述(后面我尽量用更具体、准确的例子来表达),另一方面也是为了通过现实生活中的例子自然的引入知识图谱的概念。希望通过这种方式加深读者的印象和理解。为了减轻读者理解的负担,我尽可能地避免引入过多的概念和技术

SimmerChan的专栏 8万+

YOLOv11低光照检测性能优化:基于Retinexformer主干网络的深度改进实践

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有!@[TOC]在自动驾驶、安防监控、遥感探测等关键领域,目标检测系统必须保证24小时全天候的可靠工作。然而,现有最先进的目标检测模型,包括YOLOv11,其训练数据大多源于光照良好的场景。当环境光照条件急剧下降时,图像会出现严重的噪声、低对比度、颜色失真和细节丢失,直接导致模型性能断崖式下跌。常规的解决方案如图像直方图均衡化或简单的伽马校正,往往收效甚微,甚至可能放大噪声,进一步干扰检测。

m0_71589036的博客 190

FFMPEG框架学习——(5)摄像头

一、摄像头在哪里 chenling@chenling-virtual-machine:~$ cd /dev chenling@chenling-virtual-machine:/dev$ ls video0 video0 /dev/video0是摄像头位置,这里先加个权限: sudo chmod 777 video0 二、连接摄像头 然后加个头文件: extern "C" { #include <libavdevice/avdevice.h> } 修改之前第三篇博文里视频编码的函数

wukuruaCL的博客 834

AUTOSAR从入门到精通-【应用实战篇】车载HMI-ADAS

ADAS是高级驾驶辅助系统(Advanced Driving Assistance System)简称ADAS。ADAS高级驾驶辅助系统是利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

lin_xiu的博客 1435

个人ffmpeg笔记(一)

ffmpeg个人笔记(1)

Alon1787的博客 1708

Open3D (C++)球旋转算法(BPA)三维建模

球旋转算法用于点云三维建模的C++代码实现。

点云侠的博客 1771

Windows Docker Desktop部署MaxKB详细教程

MaxKB(Max Knowledge Base)是一款基于大语言模型(LLM)和检索增强生成(RAG)技术的开源知识库问答系统,旨在帮助企业、教育机构及研究组织高效管理知识并提供智能问答服务。

猿小白的博客 1372

FFmpeg学习笔记

ffmpeg。

weixin_51904054的博客 658

Ollama + OpenCLAW 在 Windows 系统的完整部署指南

Windows 部署优先选 WSL2,避免原生环境的权限/兼容性问题;网络问题通过“离线包+国内镜像”解决,版本问题通过升级 Node.js 解决;内存不足可切换轻量模型或增大 WSL2 内存分配;核心链路:Ollama(模型管理)→ Gateway(网关)→ OpenCLAW TUI(交互),各组件启动正常即可稳定使用。

lpfasd123的博客 2824

FFmpeg学习笔记系列

FFmpeg学习笔记系列是在Mac上用xcode调试的,所用ffmpeg版本是:4.0.2 建议在命令行安装FFmpeg和ffplay,命令为: brew install ffmpeg --with-ffplay 如有需要编译好的库文件,以下是下载地址: https://download.youkuaiyun.com/download/whoyouare888/11200878 资源文件下载地址: ...

周洪伟的博客 465

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

FFmpeg自学入门笔记

FFmpeg是一种完整的跨平台解决方案,用于录制,转换和流式传输音频和视频。 FFMPEG分为3个版本:Static,Shared,Dev。 前两个版本可以直接在命令行中使用,他们的区别在于:Static里面只有3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe,每个exe的体积都很大,相关的Dll已经被编译到exe里面去了。Shared里面除了3个应用程序:ffmp...

Tosonw的博客 1345

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ffmpeg命令采集笔记本摄像头视频

笔记本搭载ubunt 12.04,自带摄像头一枚; 用命令采集视频并且保存 ffmpeg -f alsa -i pulse -f video4linux2 -s qcif -i /dev/video0 ./output.mpg

zhuxian2009的专栏 1467

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ffmpeg源码学习笔记六

16.try_decode_frame 接着笔记四分析这个API //这个API很简单,根据codec_type调用相应的API 解码 static int try_decode_frame(AVFormatContext *s, AVStream *st, AVPacket *avpkt, AVDictionary **option...

xuyinxin的博客 2121

FFMpeg调试笔记

参考了文章:详细信息:格式如下:[PACKET]pts=83968dts=83968size=6pos=108362flags=K__[/PACKET]帧信息列表格式如下:导出CSV文件。

515

ffmpeg工具日常学习笔记

6、根据MPEG规范的说法,MPEG-4中的AAC(Advanced audio coding)将是MP3格式的下一代。ffmpeg -i 102.mp4 -ss 00:01:05 -t 00:00:45.0 -q:a 0 -map a 102(45秒).mp3。5、MP3的诞生时间要早于M4A,但是M4A的流行度正在超过MP3。ffmpeg -i aaa.m4a -f mp3 a.mp3 #将m4a格式转换成mp3。4、M4A音频文件的大小要远远大于MP3,对于磁盘空间的占用,M4A要远大于MP3。

m0_61797149的博客 1377
上一篇: 活的知识-论大众文化研究
下一篇: MIPS 汇编语言编程的艺术(龙芯适用)
Jack Tan
博客等级 码龄22年 28粉丝 52原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值