FFmpeg推拉流命令

命令简介

它可以将本地的视频/音频流推送到服务器,也可以将服务器上的音视频流拉到本地。

推流命令的命令格式

ffmpeg -re -i [输入文件] -c:v [视频编码器] -c:a [音频编码器] -f [输出格式] [推流地址]

参数解析

  • -re 表示采用实时模式,以原始速度推流;
  • -i [输入文件] 表示输入源,可以是本地文件、摄像头、屏幕录制等;
  • -c:v [视频编码器] 表示视频编码器,可以选择H.264、H.265等编码器(可选);
  • -c:a [音频编码器] 表示音频编码器,可以选择AAC、MP3等编码器(可选);
  • -f [输出格式] 表示推流输出格式,一般为RTMP协议;
  • [推流地址] 表示推流地址,格式为[协议名]://[服务器地址]/[应用名]/[流名]

拉流命令的命令格式

ffmpeg -i [拉流地址] [输出参数] [输出文件]

参数解析

  • -i [拉流地址] 表示拉流地址,格式为[协议名]://[服务器地址]/[应用名]/[流名]
  • [输出参数] 表示输出参数,可以指定视频分辨率、帧率、码率等参数;
  • [输出文件] 表示输出文件名,一般为本地文件。

协议

  • RTMP:RTMP是一种实时消息传输协议,它通常用于将音频、视频和数据流从推流端传输到支持RTMP协议的流媒体服务器。RTMP在直播、点播和互动应用中得到广泛应用。
  • HTTP:HTTP是一种常用的网络协议,用于在Web上传输超文本和其他资源。在流媒体中,HTTP协议可以通过HTTP Live Streaming(HLS)或Dynamic Adaptive Streaming over HTTP(DASH)等协议来进行流媒体的传输和播放。
  • UDP:UDP是一种无连接的传输协议,适用于实时传输和实时性要求较高的应用,如实时直播和视频会议。UDP提供了快速传输和较低的延迟,但不保证可靠性。
  • RTP:RTP是一种用于实时传输音视频数据的协议,常用于音视频会议、IP电话和流媒体传输。RTP通过提供序列号、时间戳和负载类型等信息,实现了对实时数据的传输和同步。
  • RTSP:RTSP是一种用于控制实时流媒体的传输协议,用于控制流媒体的播放、暂停、快进等操作。RTSP常与RTP协议结合使用,实现流媒体的传输和控制。
  • SRT: SRT是一种可靠的流媒体传输协议,具有低延迟和高安全性,适用于远程视频传输和点对点直播等场景。

例子

从某个直播流网址拉取直播流

ffmpeg -i rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid output.mp4

注意:当你输入上面的命令后会一直拉流,直到该地址的流被拉完(直播/视频结束),如果想中途截止拉流可以使用ctrl+c终止拉流,这样会终止掉拉流,并且之前拉的流已经存在在你指定的output.mp4中。

相关推荐
cpp_learner7 小时前
FFmpeg 解复用全流程解析
ffmpeg
程序员老陆13 小时前
FFmpeg时间基相关函数大杂烩
ffmpeg·时间基·timebase
程序员老陆2 天前
FFmpeg libswresample 模块的关键函数swr_convert 到底在干嘛?
ffmpeg·音视频·格式转换·音频重采样
海兰2 天前
ffmpeg-wasm 完整安装指南(Ubuntu 24.04)
ubuntu·ffmpeg·wasm
≮傷£≯√2 天前
QT配置FFmpeg
开发语言·qt·ffmpeg
Everbrilliant893 天前
Android FFmpeg 实战:从基础到播放器的完整技术解析
android·ffmpeg·ffmepg实战·音视频同步实现·ffmpegpractices·ffmpegpractice·opengl 视频渲染
苏灿烤鱼3 天前
从微信公众号内容到视频号视频:自动化视频生成的技术实现
人工智能·python·ffmpeg
桐桐桐3 天前
视频画面裁剪与尺寸压缩实战:ffmpeg crop/scale 用法与在线替代
ffmpeg·音视频·视频
程序员老陆4 天前
音频为什么不编码成“声卡格式”(例如S16)?因为声卡只负责响,编码器只负责省
ffmpeg·音视频
程序员老陆4 天前
FFmpeg -tune参数全景解析:zerolatency、film、animation 到底在调什么?
ffmpeg·音视频·编码