首页 > 运维 > linux运维 > 正文

FFmpeg入坑指南

雪夜
发布: 2025-06-25 12:10:19
原创
145人浏览过

前言

FFmpeg入坑指南
安装

本文主要讲解在linux下的使用,因此在linux中安装执行下面命令即可。

代码语言:javascript代码运行次数:0运行复制
apt-get install ffmpeg
登录后复制
FFmpeg入坑指南
常用示例

直接将MP4文件转成m3u8:

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.mp4 -hls_time 10 -hls_list_size 0 -hls_segment_filename ene_%05d.ts bbskali.m3u8
登录后复制

如果已经是ts文件了,则只需要执行下方命令即可:

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 10 output%03d.ts
登录后复制

将大量分割成ts文件的视频片段全部转换成mp4视频片段 --- 直接上批处理脚本:

代码语言:javascript代码运行次数:0运行复制
for %%a in ("D:\VideoProjects\NewDemo\*.ts") do ffmpeg -i "%%a"   -vcodec copy -vcodec copy -f mp4 "D:\VideoProjects\NewDemo\NewMP4\%%~na.mp4"pause
登录后复制

上面的 ffmpeg -i test.ts -acodec copy -vcodec copy -f mp4 test.mp4 是将ts文件转换为mp4文件的意思,再在其之上套了一层for循环,%%a就是每个文件,转换命令最末尾的%%~na是将文件保持原来的文件名的情况下进行输出,存放到指定文件夹的意思。

mp4视频转flv

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.mp4 -acodec copy -vcodec copy -f flv bbskali.flv 
登录后复制

将本地指定的demo.ts文件进行推流:

代码语言:javascript代码运行次数:0运行复制
ffmpeg -re  -i demo.ts  -c copy -f mpegts   udp://127.0.0.1:1997
登录后复制

强制把输出视频文件帧率改为 24 fps:

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.avi -r 24 output.avi
登录后复制

对视频每个一秒截一个图并存在本地:

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.mp4 -f image2 -vf fps=fps=1 out%d.png
登录后复制

每隔20秒截一个图:

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.mp4 -f image2 -vf fps=fps=1/20 out%d.png
登录后复制

将视频转换为图片,一帧一图:

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.mp4 out%4d.png
登录后复制

提取视频文件中的音频数据,并保存为文件

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i bbskali.mp4 -vn -acodec copy output.m4a
登录后复制

给视频添加水印

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i pm.mp4 -i xxx.png -filter_complex "overlay=5:5"  out.mp4
登录后复制

把视频的前30帧转换成一个Animated Gif

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i test.asf -vframes 30 -y -f gif a.gif
登录后复制

截取指定时间的缩微图

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg
登录后复制

将一段音频与一段视频混合

代码语言:javascript代码运行次数:0运行复制
ffmpeg -i son.wav -i video_origine.avi video_finale.mpg
登录后复制

使用ffmpeg录像屏幕

代码语言:javascript代码运行次数:0运行复制
ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -vd x11:0,0 -s 1024x768 ~/test.avi
登录后复制

其中,-vd x11:0,0 指录制所使用的偏移为 x=0 和 y=0,-s 1024×768 指录制视频的大小为 1024×768。录制的视频文件为 test.avi,将保存到用户主目录中

如果你只想录制一个应用程序窗口或者桌面上的一个固定区域,那么可以指定偏移位置和区域大小。使用xwininfo -frame命令可以完成查找上述参数。

重新调整视频尺寸大小

代码语言:javascript代码运行次数:0运行复制
ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -i ~/test.avi -s 800×600 ~/test-800-600.avi
登录后复制

把摄像头的实时视频录制下来,存储为文件

代码语言:javascript代码运行次数:0运行复制
ffmpeg -f video4linux -s 320*240 -r 10 -i /dev/video0 test.asf
登录后复制

注:ffmpeg的屏幕录制功能只能在Linux环境下有效。

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1921477

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

以上就是FFmpeg入坑指南的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号