FFmpeg推流實戰30秒速成

FFmpeg windows 7.1.1下載地址

FFmpeg 推流方法

FFmpeg 是一個強大的多媒體處理工具,支持將視頻和音頻推流到各種流媒體服務器(如 RTMP、RTSP、HLS 等)。以下是幾種常見的推流方法。

推流到 RTMP 服務器

RTMP(Real-Time Messaging Protocol)是常用的直播推流協議,適用于推流到平臺如 YouTube、Twitch、Bilibili 等。

基本命令格式:

ffmpeg -re -i input.mp4 -c:v libx264 -preset fast -c:a aac -f flv rtmp://server/live/streamkey

參數說明:

  • -re:以實時速度讀取輸入文件(避免過快推流)。
  • -i input.mp4:指定輸入文件。
  • -c:v libx264:使用 H.264 編碼視頻。
  • -preset fast:平衡編碼速度和壓縮率。
  • -c:a aac:使用 AAC 編碼音頻。
  • -f flv:輸出格式為 FLV(RTMP 常用容器格式)。
  • rtmp://server/live/streamkey:RTMP 服務器地址和流密鑰。

推流到 RTSP 服務器

RTSP(Real-Time Streaming Protocol)適用于監控或點播場景。

基本命令格式:

ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f rtsp rtsp://server/live/stream

參數說明:

  • -f rtsp:輸出格式為 RTSP。
  • rtsp://server/live/stream:RTSP 服務器地址和流名稱。

推流到 HLS 服務器

HLS(HTTP Live Streaming)適用于自適應比特率流媒體。

基本命令格式:

ffmpeg -re -i input.mp4 -c:v libx264 -c:a aac -f hls -hls_time 10 -hls_list_size 6 stream.m3u8

參數說明:

  • -f hls:輸出格式為 HLS。
  • -hls_time 10:每個切片時長為 10 秒。
  • -hls_list_size 6:播放列表保留的切片數量。
  • stream.m3u8:生成的 HLS 播放列表文件。

推流攝像頭或屏幕捕獲

攝像頭推流(Linux):

ffmpeg -f video4linux2 -i /dev/video0 -c:v libx264 -preset fast -f flv rtmp://server/live/streamkey

屏幕捕獲推流(MacOS):

ffmpeg -f avfoundation -i "1" -c:v libx264 -preset fast -f flv rtmp://server/live/streamkey

屏幕捕獲推流(Windows):

ffmpeg -f gdigrab -i desktop -c:v libx264 -preset fast -f flv rtmp://server/live/streamkey

動態調整推流參數

調整分辨率與碼率:

ffmpeg -re -i input.mp4 -vf "scale=1280:720" -b:v 2000k -c:v libx264 -preset fast -c:a aac -f flv rtmp://server/live/streamkey

參數說明:

  • -vf "scale=1280:720":調整分辨率為 1280x720。
  • -b:v 2000k:設置視頻碼率為 2000 kbps。

推流時添加字幕或水印

添加水印:

ffmpeg -re -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" -c:v libx264 -preset fast -c:a aac -f flv rtmp://server/live/streamkey

添加字幕:

ffmpeg -re -i input.mp4 -vf "subtitles=subtitle.srt" -c:v libx264 -preset fast -c:a aac -f flv rtmp://server/live/streamkey

推流時使用硬件加速

NVIDIA GPU 加速(NVENC):

ffmpeg -re -i input.mp4 -c:v h264_nvenc -preset fast -c:a aac -f flv rtmp://server/live/streamkey

Intel GPU 加速(QSV):

ffmpeg -re -i input.mp4 -c:v h264_qsv -preset fast -c:a aac -f flv rtmp://server/live/streamkey

推流音頻流

僅推流音頻:

ffmpeg -re -i input.mp4 -vn -c:a aac -f flv rtmp://server/live/streamkey

參數說明:

  • -vn:禁用視頻流。

推流 UDP 流

推流到 UDP:

ffmpeg -re -i input.mp4 -c:v libx264 -preset fast -c:a aac -f mpegts udp://target_ip:port

參數說明:

  • -f mpegts:輸出格式為 MPEG-TS(常用于 UDP 傳輸)。

以上方法涵蓋了 FFmpeg 推流的常見場景,可根據實際需求調整參數。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909881.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909881.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909881.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

74HC595功能介紹及代碼驅動

一、引腳描述 QA~QH(15,1~7腳):數據輸出引腳 QH1(9腳):移位寄存器串行數據輸出腳,當移位寄存器中的數據多余8位時,最先進入的那位被擠出去,一般級聯使用,接下一個74HC595 G(13腳):輸出使能引腳,低電平使能 RCK(12腳):存儲寄存器輸入數據使能引腳,上升沿時…

AntV G 入門教程

下面是 AntV?G(以下簡稱 G)的中文入門與核心 API 教程,涵蓋從畫布創建、圖形繪制到事件與動畫等常用方法,每個 API 均附帶完整示例代碼。示例引用自官方“Getting Started”指南 ([g.antv.antgroup.com][1])。 一、安裝與引入 #…

短視頻矩陣什么意思?

短視頻矩陣是指通過布局多個短視頻賬號,形成協同運營的賬號體系,以實現流量聚合、品牌曝光或商業變現的策略。其核心邏輯是利用不同賬號的定位、內容風格或受眾群體,構建互補的流量網絡,而非單一賬號的獨立運營。 核心特點與作用&…

Linux 日志查看和分析

Linux 日志是系統運行狀態的重要記錄,包含了系統啟動、服務運行、用戶操作、安全事件等關鍵信息,對于故障排查、安全審計和系統維護至關重要。 故障排查:定位系統崩潰、服務異常的根本原因(如服務啟動失敗、硬件故障)…

一篇文章快速學會HTML

一篇文章快速學會HTML 注:適合有一定編程基礎的來快速掌握HTML 超文本標記語言 超文本:文本,聲音,圖片,視頻,表格,鏈接 標記:許多的標簽組成 HTML頁面是運行到瀏覽器上的 HTML…

智能混合檢索DeepSearch

智能混合檢索 DeepSearch 是一款自主研發的大規模分布式搜索引擎,提供一站式智能搜索解決方案。系統內置多種行業專屬的查詢語義理解能力,融合語義 ORC 模型、文本向量模型、圖像/視頻向量模型、大語言模型(LLM)、分詞器以及機器學…

【Docker基礎】Docker鏡像管理:docker tag詳解

目錄 1 Docker鏡像標簽基礎概念 1.1 什么是Docker鏡像標簽 1.2 鏡像標識的三要素 2 docker tag命令詳解 2.1 命令基本語法 2.2 命令工作原理 2.3 常用操作示例 3 標簽管理的實踐示例 3.1 標簽命名規范 3.2 多標簽策略 3.3 latest標簽的合理使用 4 標簽與鏡像倉庫的…

AI時代個人IP的重塑與機遇 | 創客匠人

2025年作為AI應用爆發元年,正悄然改寫個人IP的打造邏輯。AI不會取代IP,卻會淘汰不懂得與AI共生的創作者。 AI重構IP運營的三大機遇 內容生產效率提升:傳統模式下需2-3天打磨的深度文章,AI輸入關鍵詞后半小時即可完成初稿&#xf…

[5-03-01].第14節:集群搭建 - 在Linux系統中搭建

SpringCloud學習大綱 三、集群環境搭建: 3.1.集群規劃 1.nacos規劃: hadoop103hadoop104hadoop105192.168.148.3192.168.148.4192.168.148.5nacosnacosnacos 2.MYSQL規劃 :192.168.148.3 3306 5.7.27

ESP32-CH3+MicroPython+INMP441 測試麥克風通過音量閾值控制小燈

測試功能描述: 程序會先測量 2 秒環境音量作為基準,然后開始實時顯示音量柱狀圖,并在 30 秒后自動結束,當檢測到音量超過閾值時會顯示提示并打開led燈 一,硬件準備: 1.ESP32 CH3 USB開發板1塊 2.INMP44…

io.net 攜手 Walrus,為 AI 和機器學習應用提供去中心化存儲與計算能力

作為最大規模的按需云計算提供商之一,io.net 部署并管理來自地理分布式節點的去中心化 GPU 集群,現正與基于 Sui 構建的去中心化數據存儲協議 Walrus 深度整合。此次合作為去中心化 AI 和機器學習(machine learning,ML&#xff09…

【上市公司文本分析】根據句號和分號進行文本分割,提取含有特定關鍵詞的語句并導出為EXCEL

本文介紹了一種基于Python的中文文本分析方法,用于從年報文件中提取含有關鍵詞的語句。方法使用jieba分詞庫進行中文分詞,通過自定義詞典提高分詞準確性。程序首先讀取并預處理文本(統一標點符號、去除換行符),然后按句…

小白暢通Linux之旅-----DHCP服務項目實戰

目錄 一、項目拓撲 二、項目要求 三、項目準備 DHCP服務器 1、下載dhcp服務 2、準備 1.txt 文件 (為內部客戶機設置為固定獲得ip) 3、準備2.txt文件 (為內部網絡分配ip) 4、準備 3.txt 文件(為外部網絡配置ip&…

eps轉pdf-2025年6月18日星期三

1.打開cmd。 使用 cd 命令切換到包含 EPS 文件的目錄。例如,如果 EPS 文件在 E:\eps_files 目錄下,輸入以下命令: cd E:\eps_files 2. 轉換單個 EPS 文件: 輸入以下命令將單個 EPS 文件轉換為 PDF 文件 epstopdf input.eps …

處理器特性有哪些?

處理器特性有哪些? 處理器的特性可以從多個維度進行劃分,包括架構設計、性能指標、功能支持等。以下是處理器的主要特性分類及詳細說明: 1. 架構特性 指令集架構(ISA) CISC(復雜指令集,如x86&…

Vue3+TypeScript 導入枚舉(Enum)最佳實踐

在 Vue 3 TypeScript 項目中,導入枚舉時通常不需要使用 import type,但具體取決于使用場景。以下是詳細說明: 1. 枚舉的特殊性 枚舉在 TypeScript 中既是類型(Type)也是值(Value)&#xff1a…

主成分分析(PCA)例題——給定協方差矩陣

向量 x x x的相關矩陣為 R x [ 0.3 0.1 0.1 0.1 0.3 ? 0.1 0.1 ? 0.1 0.3 ] {\bm R}_x \begin{bmatrix} 0.3 & 0.1 & 0.1 \\ 0.1 & 0.3 & -0.1 \\ 0.1 & -0.1 & 0.3 \end{bmatrix} Rx? ?0.30.10.1?0.10.3?0.1?0.1?0.10.3? ? 計算輸入向量…

RTSP播放器低延遲實踐:一次對毫秒級響應的技術探索

? 為什么說“大牛直播SDK的RTSP播放器延遲表現行業領先”: 1. 毫秒級延遲(100ms~250ms) windows平臺rtsp播放器延遲測試 在業內常見的 RTSP 播放器中,傳統開源方案(如 VLC、FFmpeg 播放器封裝)延遲普遍在…

【postgresql中timestamp為6是什么意思?】

postgresql中timestamp為6是什么意思? postgresql中timestamp為6是什么意思?示例注意事項 postgresql中timestamp為6是什么意思? 在 PostgreSQL 中,TIMESTAMP 類型用于存儲日期和時間信息。當你提到 TIMESTAMP(6),這里…

EC2實例(Amazon Linux 2023)監控磁盤讀寫速度和I/O負載

在viewer端進行日志分析的時候,由于日志比較大,每個4.5G,一共9個viewer端,對應9個日志文件,而且判斷音頻幀和視頻幀是否卡頓時,需要的樣本也很多,各15000行,分析完成需要5分20秒左右…