随笔 - 1939  文章 - 0  评论 - 8  阅读 - 45万

如何通过ffmpeg 实现实时推流和拉流保存的功能

FFMPEG是特别强大的专门用于处理音视频的开源库,既可以使用它的API对音视频进行处理,也可以使用它提供的工具,如 ffmpeg, ffplay, ffprobe,来编辑你的音视频文件。

我们在开发TSINGSEE青犀视频产品过程中也会采用FFMPEG来对现有的系统进行简单的编译及调整,比如TSINGSEE青犀视频通道FFmpeg获取视频片段。本文将简要介绍一下 FFMPEG 库的基本目录结构及其功能,然后详细介绍一下我们在日常工作中,如何使用 ffmpeg 提供的工具来处理音视频文件。

ffmpeg通过 -i 选项读取任意数量的输入“文件”(可以是常规音视频文件,网络流,抓取设备等,并写入任意数量的输出“文件”。

原则上,每个输入/输出“文件”都可以包含任意数量的不同类型的视频流(视频/音频/字幕/附件/数据)。 流的数量和/或类型是由容器格式来限制。 选择从哪个输入进入到哪个输出将自动完成或使用 -map 选项。

要引用选项中的输入文件,您必须使用它们的索引(从 0 开始)。 例如。 第一个输入文件是 0,第二个输入文件是 1,等等。类似地,文件内的流被它们的索引引用。 例如 2:3 是指第三个输入文件中的第四个流。

上面就是 FFMPEG 处理音视频的常用命令,下面是一些常用参数:

拉流保存命令:

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

该命令就是将rtmp://server/live/streamName视频流保存为dump.flv文件

实时推流命令

ffmpeg -framerate 15 -f avfoundation -i “1” -s 1280x720 -c:v libx264 -f flv rtmp://localhost:1935/live/room

该命令就是将源文件作为1280x720并且作为264编码推到 rtmp://localhost:1935/live/room地址上进行直播。

在部分常见的应用场景中,由于ffmpeg的领先性、包容性,并且还具有高度的便携性,很多客户都会使用ffmpeg来进行视频的处理,通过ffmpeg推流到视频服务器,如果大家对ffmpeg推流比较感兴趣,也可以和我们交流。TSINGSEE

青犀视频各视频平台均欢迎大家免费下载测试。

 

posted on   TSINGSEE  阅读(2982)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2020-09-28 Windows/Android/iOS全平台支持的视频播放器EasyPlayerPro,iOS版播放无音频问题如何解决?
2020-09-28 EasyRTSPServer视频/RTSP服务/摄像机模拟器/安防视频服务器调用流程说明
2020-09-28 安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查
2020-09-28 RTMP/RTSP/GB28181等协议TSINGSEE青犀能力开放平台汇总
2020-09-28 音视频提取功能组件EasyStreamingServer读取本地文件出现内存泄露问题如何修复?
2020-09-28 H265网页视频播放器播放H265编码录像视频文件如何减缓卡顿情况?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示