【音視頻處理】使用ffmpeg實現多個視頻合成一個視頻(按宮格視圖)

先上結果

在這里插入圖片描述

環境

硬件:通用PC
系統:Windows 測試有效
軟件:ffmpeg

解決

0、命令

ffmpeg.exe -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex  "[0:v]scale=iw/2:ih/2,pad=2*iw:2*ih[a]; [1:v]scale=iw/2:ih/2[b]; [2:v]scale=iw/2:ih/2[c];  [3:v]scale=iw/2:ih/2[d];[a][b]overlay=w[x];[x][c]overlay=0:h[y];[y][d]overlay=w:h[v];[0:a][1:a][2:a][3:a]amix=inputs=4[a]" -map "[v]" -map "[a]" -c:v libx264 -c:a aac output.mp4

1、參數說明

  1. -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4:這些是輸入文件的參數,指定了四個視頻文件作為輸入。為了簡單我這里采用一個視頻復制4份使用。
  2. -filter_complex:這個參數用來指定一個復雜的過濾器圖,用于處理和組合視頻和音頻流。
    [0:v]scale=iw/2:ih/2,pad=2iw:2ih[a];:這個過濾器首先將第一個視頻流([0:v])的大小縮小到原來的一半(scale=iw/2:ih/2),然后使用pad過濾器將視頻畫面擴大到原始寬度的兩倍和原始高度的兩倍,準備放置其他視頻。結果標記為[a]。
    [1:v]scale=iw/2:ih/2[b]; [2:v]scale=iw/2:ih/2[c]; [3:v]scale=iw/2:ih/2[d];:這些過濾器將其他三個視頻流的大小也縮小到原來的一半,并分別標記為[b]、[c]、[d]。
    [a][b]overlay=w[x];:這個過濾器將視頻[b]覆蓋到視頻[a]上,位置為寬度w的位置,即右上角,結果標記為[x]。
    [x][c]overlay=0:h[y];:將視頻[c]覆蓋到[x]上,位置為高度h的位置,即左下角,結果標記為[y]。
    [y][d]overlay=w:h[v];:將視頻[d]覆蓋到[y]上,位置為寬度w和高度h的位置,即右下角,最終的視頻流標記為[v]。
  3. [0:a][1:a][2:a][3:a]amix=inputs=4[a]:這個過濾器將四個視頻的音頻流混合成一個音頻流。amix=inputs=4表示混合四個輸入,結果標記為[a]。
  4. -map “[v]” -map “[a]”:這些參數指定了要從過濾器圖中映射到輸出文件的流。"[v]“是最終的視頻流,”[a]"是混合后的音頻流。
  5. -c:v libx264 -c:a aac:這些參數指定了視頻和音頻的編碼器。視頻使用libx264編碼器,音頻使用aac編碼器。
  6. output.mp4:這是輸出文件的名稱。

OK!
至此,問題解決。歡迎留言交流

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

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

相關文章

GO學習記錄

這里寫目錄標題 00 環境二級目錄三級目錄 00 環境 參考的&#xff1a;https://www.liwenzhou.com/posts/Go/install/ 編譯運行&#xff1a; go mod init <項目名> // 在目錄下創建項目 go mod init hello // 編譯二級目錄 三級目錄

BioTech - 大分子藥物設計 概述

歡迎關注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/136302202 大分子藥物設計領域主要包括3個方面&#xff0c;即大環類藥物設計、蛋白質與多肽類藥物設計、核酸藥物設計等&#xff0c;具體如下&…

selenium控制控件出現StaleElementReferenceException

attempts0while attempts<2:try:ywbh_text self.getElement(self.driver, //*[id"board_data"]/tbody/tr[1]/td[2])ywbh_text.click()config.zscjhbgbz_ywbh ywbh_text.textprint("保存業務編號&#xff1a;"ywbh_text.text"到conf中 zscjhbgbz_…

DolphinScheduler——奇富科技的調度實踐

目錄 一、技術架構 二、業務挑戰 2.1 調度任務量大 2.2 運維復雜 2.3 SLA要求高 三、調度優化實踐 3.1 重復調度 3.2 漏調度 3.3 Worker服務卡死 3.4 任務重復運行 四、服務監控 4.1 方法耗時監控 4.2 任務調度鏈路監控 五、用戶收益 原文大佬的這篇調度系統案例…

nginx使用詳解--緩存

Nginx 是一個功能強大的 Web 服務器和反向代理服務器&#xff0c;它可以用于實現靜態內容的緩存&#xff0c;緩存可以分為客戶端緩存和服務端緩存。 客戶端緩存 客戶端緩存指的是瀏覽器緩存, 瀏覽器緩存是最快的緩存, 因為它直接從本地獲取(但有可能需要發送一個協商緩存的請…

【XR806開發板試用】全網首發,對接騰訊云平臺的血淚史

1.前面的話 在上次連夜肝出了華為云平臺的帖子:https://aijishu.com/a/1060000000287434 之后,論壇里的反響平平,好評沒有,點贊更無,抱著已完成任務成功白嫖一塊板子的心態,把板子收在了盒子里,第二天,助手小姐姐跟我說為何不把騰訊云的做了,對于這個要求我其實是拒絕的,但是小…

鴻蒙開發之組件間方法傳遞(方法回調)

目前使用的方式有兩種&#xff0c;一種是父子組件方法傳遞&#xff0c;一種是系統提供的emitter。 一、父子組件方法傳遞 1.1 使用場景 當我們父組件中有一個方法&#xff0c;需要子組件在修改完數據后回調父組件的方法時候。有點抽象&#xff1a;這樣解釋一下&#xff0c;父…

深度學習-Pytorch運算的基本數據類型

深度學習-Pytorch模型運算的基本數據類型 用pytorch構建模型&#xff0c;并訓練模型&#xff0c;得到一個優化的模型&#xff0c;那么模型構造的數據類型怎樣的&#xff1f; 數據分析 數據分析-Pandas如何轉換產生新列 數據分析-Pandas如何統計數據概況 數據分析-Pandas如…

Three.js-04軌道控制器

1.導入 說明&#xff1a;相機圍繞目標進行軌道運動。也就是可以通過鼠標拖拽進行移動視角。 import { OrbitControls } from three/addons/controls/OrbitControls.js; 2.使用 說明&#xff1a;構造controls對象&#xff0c;再調用update方法&#xff1b;為了使效果更為明顯…

十二、Qt自定義Widget組件、靜態庫與動態庫

一、自定義Widget組件 1、自定義Widget組件 使用步驟采用提升法&#xff08;promotion&#xff09;重新定義paintEvent事件 2、實現程序 &#xff08;1&#xff09;創建項目&#xff0c;基于QWidget &#xff08;2&#xff09;添加類&#xff0c;為Widget組件提升類 #inclu…

Spring Boot 集成 Quartz 實現定時任務

Spring Boot 集成 Quartz 實現定時任務 在Spring Boot應用中&#xff0c;我們經常需要執行一些定時任務&#xff0c;如每天發送報表、定時更新數據庫等。雖然Spring Framework自帶了一個簡單的定時任務功能&#xff08;Scheduled&#xff09;&#xff0c;但在一些復雜場景下&a…

Vue3 在SCSS中使用v-bind

template 先創建一個通用的頁面結構 <template><div class"v-bubble-bg"></div> </template>js 在JS中先對需要用的數據進行定義&#xff1a; 可以是參數&#xff0c;也可以是data <script setup>const props defineProps({bgCol…

cURL 命令中有$的問題

最近學會使用cURL來快速訪問網絡資源&#xff0c;確實很好用&#xff0c;但在使用過程中遇到一個奇怪的問題&#xff0c;多方查詢也沒有找到現成答案&#xff0c;最后經摸索終于解決&#xff0c;特記錄如下。 我們一般訪問網站使用Chrome瀏覽器獲取的cURL命令大概是這個樣子&am…

gpt批量原創文章生成器,不限制內容的生成器

在當今的數字化時代&#xff0c;內容創作是網站持續發展的重要組成部分。然而&#xff0c;對于擁有大量內容需求的網站來說&#xff0c;手動創作文章可能會耗費大量時間和精力。為了解決這一問題&#xff0c;許多GPT&#xff08;生成式預訓練模型&#xff09;文章生成軟件應運而…

【重溫設計模式】外觀模式及其Java示例

設計模式及外觀模式介紹 在編程世界中&#xff0c;設計模式就如同自然界的法則&#xff0c;是一種反復出現在各種情況下的通用解決方案。設計模式可以分為創建型、結構型和行為型三大類&#xff0c;每一類都有其獨特的應用場景和解決問題的方式。今天&#xff0c;我們要重點解…

【HbuilderX】 uniapp實現 android申請權限 和 退出app返回桌面

目錄 android申請權限&#xff1a; 監聽用戶是否開啟權限或關閉權限&#xff1a; 退出app返回桌面&#xff1a; android申請權限&#xff1a; 首先在 manifest.json 內添加你所需要用到權限 添加權限插件 permission.js 一次就好1/權限插件 - Gitee.comhttps://gitee.co…

數據庫分庫分表中間件選擇

目前分庫分表的中間件有三種設計思路&#xff0c;分別是&#xff1a; 采用分散式架構&#xff0c;適用于用Java開發的高性能輕量級OLTP應用程序&#xff0c;以Sharding-JDBC為代表。采用中間層Proxy架構&#xff0c;提供了靜態輸入和所有語言支持&#xff0c;適用于OLAP應用程…

MATLAB環境下基于小波和濾波器組的音頻信號處理

音頻分類研究的重點&#xff0c;一方面在于音頻特征的提取和選擇&#xff0c;通常來說數據集和特征集在分類系統中有著極為重要的作用&#xff0c;離開了對數據集的處理、對特征集中特征的提取和選擇&#xff0c;分類結果必將產生巨大誤差。對于提高音頻分類系統的分類準確度和…

vulnhub-----Hackademic靶機

文章目錄 1.C段掃描2.端口掃描3.服務掃描4.web分析5.sql注入6.目錄掃描7.寫馬php反彈shell木馬 8.反彈shell9.內核提權 1.C段掃描 kali:192.168.9.27 靶機&#xff1a;192.168.9.25 ┌──(root?kali)-[~] └─# arp-scan -l Interface: eth0,…

Docker容器(3)單容器管理

一、單容器 1.1概念簡介 Docker三個重要概念: 倉庫(Repository); 鏡像(Image); 容器(Container). *Docker的三個重要概念是倉庫(Repository)、鏡像(Image)和容器(Container)**。具體如下&#xff1a; **鏡像(Image)**&#xff1a;Docker鏡像是創建容器的基礎&#xff0c;它類似…