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

Claude Code 完整学习笔记

Claude Code 学习笔记摘要 Claude Code是Anthropic推出的智能编码工具,基于Claude Opus 4.5模型构建,提供跨平台支持(终端/VS Code/JetBrains/Web等)。核心功能包括: 代码库理解与多文件编辑 命令执行与开发工具集成 智能体协作开发流程 安装要求Node.js≥18,提供原生/Homebrew/npm等多种安装方式,支持环境变量配置API访问。基础交互模式包括会话管理、文件操作和代码审查等功能,可自动读写文件并执行精确修改。 (149字)

虚心若愚 812

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

编译原理考试大题分析【太原理工大学】

看完本篇大题拿 85% 的分应该没问题,TYUT 太原理工大学编译原理期末考试。

m0_52861684的博客 1万+

ffmpeg 从/dev/video 录制视频

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

weixin_33713707的博客 1721

LTspice基础教程-024.参数扫描;step指令用法

step指令用于参数扫描,扫描步骤可以是线性的,对数的或列表。 下面介绍几种常用用法: 绘制一简单电阻分压电路,如下: 线性扫描 语法:.step param <Name> <Start Value> <Stop Value> <Increment> 例:.step param Res 20 100 20 意思是R2的阻值从20变化到100,...

gaoyong_wang的博客 3万+

即梦文生视频逆向接口部署使用

有的小伙伴不知道这个地址如何填写,你可以理解是步骤3上提供的 服务器或者本地电脑IP 地址(不要写 http://127.0.0.1 或者http://localhsot ) 是 (192.168.XXX.XXX 参考)

weixin_44245188的博客 3185

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

AI订单流异常检测:精准识别与闭环处置

本文系统阐述了订单流AI驱动的可视化与异常解释系统的构建策略。核心包括:1)多维度融合的异常检测技术,结合数据指纹、行为图谱和时序分析实现精准识别;2)分级分类与自动化处置机制,通过规则矩阵和风险熵值量化进行智能决策;3)基于SHAP/LIME的可解释性技术,提升决策透明度;4)千万级数据训练要求,确保模型达到87%以上的F1值。系统采用Flink+PAI实时计算架构,支持从异常检测到根因分析的完整闭环,为电商、金融等领域的订单风险管理提供智能化解决方案。

2401_83000568的博客 1360

个人ffmpeg笔记(一)

ffmpeg个人笔记(1)

Alon1787的博客 1708

PHM2010刀具磨损预测完整实现

本文介绍了PHM2010刀具磨损预测项目的完整实现方案。项目采用PHM2010公开数据集,包含6个子数据集,记录了铣削加工过程中7个通道的传感器数据(切削力、振动和声发射信号)。技术路线包括数据预处理(截取中间10万点、小波降噪)、特征提取(时域9个、频域4个特征)、特征融合和皮尔逊相关系数筛选,最终使用BiLSTM模型进行训练和评估。环境配置基于Python 3.9,依赖NumPy、Pandas、PyTorch等库。数据加载和预处理阶段重点处理了传感器信号分段和磨损标签对齐问题,为后续建模奠定基础。

huanghm88的专栏 416

《基于YOLOv5/8/10的足球比赛球员识别系统毕设全指南:从开发到部署的一站式实战》

本文提出了一个基于YOLO系列模型的足球球员识别系统,具备完整的开发流程和技术方案。系统通过YOLOv5/8/10三大框架实现球员检测,平衡精度与速度需求。开发过程包含数据标注与增强、模型训练调优、PyQt5界面开发等关键环节,并提供了模型轻量化、多任务扩展等优化方向。系统可实现单张图像和视频流的实时识别,支持跨设备部署,适用于赛事分析和训练复盘场景。项目特色在于完整的技术实现路径和对不同YOLO框架的性能对比,为计算机视觉在体育领域的应用提供实践参考。

m0_71589036的博客 216

FFmpeg学习笔记

ffmpeg。

weixin_51904054的博客 658

4、基于球面波展开的近场/远场变换技术解析

本文深入解析了基于球面波展开的近场/远场变换技术,涵盖坐标系统选择、截断测量处理、高级SWE方法及实际应用场景。重点介绍了广义SWE、全探头补偿、平移SNF测量(TSWE)等关键技术,结合吸收材料与导电地板系统的误差处理方案,系统总结了各类方法的优缺点与适用场景,并通过流程图和案例分析展示了技术应用路径。该技术在汽车、通信和航空航天领域的天线测量中具有重要价值,可显著提升测量效率与精度。

dell8的博客 255

FFmpeg学习笔记系列

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

周洪伟的博客 465

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

FFmpeg自学入门笔记

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

Tosonw的博客 1345

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

zhuxian2009的专栏 1467

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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、付费专栏及课程。

余额充值