將視頻m4s文件轉換為mp4格式

將視頻m4s文件轉換為mp4格式

一般情況:偏大的文件為視頻,偏小的文件為音頻。
環境要求:下載并安裝ffmpeg,并配置好環境變量,如下圖:
在這里插入圖片描述

轉換代碼:

import subprocessdef merge_m4s_to_mp4(video_path, audio_path, output_path):"""使用 FFmpeg 將 m4s 視頻和音頻流合并為 MP4 文件。:param video_path: 視頻 m4s 文件路徑:param audio_path: 音頻 m4s 文件路徑:param output_path: 輸出的 mp4 文件路徑"""command = ["ffmpeg", "-y", "-i", video_path, "-i", audio_path,"-c:v", "copy", "-c:a", "aac", "-strict", "experimental", output_path]try:subprocess.run(command, check=True)print(f"轉換完成: {output_path}")except subprocess.CalledProcessError as e:print(f"轉換失敗: {e}")if __name__ == "__main__":# 示例:手動指定文件路徑 video_path='1452544206/1452544206-1-30080.m4s',audio_path='1452544206/1452544206-1-30280.m4s'# 示例調用video_file = video_pathaudio_file = audio_pathoutput_file = "output222.mp4"merge_m4s_to_mp4(video_file, audio_file, output_file)    

在上述操作前,應先將文件頭的0字符串都刪除,可用notepad++操作,或用python執行如下代碼:

import os def remove_leading_zeros(file_path, save_path=None, backup=True):"""刪除文件頭部全部連續的字符'0':param file_path: 文件路徑 :param save_path: 保存路徑(默認覆蓋原文件):param backup: 是否創建備份 """# 備份機制 if backup:backup_path = file_path + ".bak"os.rename(file_path,  backup_path)file_path = backup_path # 讀取二進制內容 with open(file_path, 'rb') as f:content = f.read() # 動態檢測前導0的數量 zero_count = 0 for byte in content:if byte == 0x30:  # ASCII字符'0'的十六進制值 zero_count += 1 else:break  # 遇到非0字符立即終止 # 截取有效內容 new_content = content[zero_count:]# 保存處理后的文件 save_path = save_path or file_path.replace(".bak",  "")with open(save_path, 'wb') as f:f.write(new_content) print(f"已刪除頭部連續{zero_count}個0")if __name__ == "__main__":# 單文件處理示例 remove_leading_zeros("1476061291/1476061291-1-30280.m4s")remove_leading_zeros("1476061291/1476061291-1-100050.m4s")

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

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

相關文章

EXCEL報錯:無法共享此工作薄,因表包含excel表或xml映射的解決方法

在分享工作薄是,如果出現了“無法共享此工作薄,因表包含excel表或xml映射”的報錯,那么有兩個原因: 1.包含Excel表格,這個也是相對比較常見的原因。 首先選中表格。如果你不知道表的位置在哪,那么在Excel左…

w2ui 水平滾動移動 虛擬列 數據丟失

https://w2ui.com/web/docs/1.5/w2grid.disableCVS https://github.com/vitmalina/w2ui/issues/1398 解決方案來源 問題現象: 窗口縮小 導致多列 出現水平滾動,滾動時觸發本地樣式重繪,導致record undefined,從而引發多列報錯 解決方案: 使用 disableCVS : true 一次加載到d…

在ensp進行OSPF+RIP+靜態網絡架構配置

一、實驗目的 1.Ospf與RIP的雙向引入路由消息 2.Ospf引入靜態路由信息 二、實驗要求 需求: 路由器可以互相ping通 實驗設備: 路由器router7臺 使用ensp搭建實驗壞境,結構如圖所示 三、實驗內容 1.配置R1、R2、R3路由器使用Ospf動態路由…

基于mediapipe深度學習和限定半徑最近鄰分類樹算法的人體摔倒檢測系統python源碼

目錄 1.算法運行效果圖預覽 2.算法運行軟件版本 3.部分核心程序 4.算法理論概述 4.1 Mediapipe人體姿態檢測原理 4.2 限定半徑最近鄰分類樹算法原理 5.算法完整程序工程 1.算法運行效果圖預覽 (完整程序運行后無水印) 2.算法運行軟件版本 人工智能算法python程序運行環…

deep-sync開源程序插件導出您的 DeepSeek 與 public 聊天

一、軟件介紹 文末提供下載 deep-sync開源程序插件導出您的 DeepSeek 與 public 聊天,這是一個瀏覽器擴展,它允許用戶公開、私下分享他們的聊天對話,并使用密碼或過期鏈接來增強 Deepseek Web UI。該擴展程序在 Deepseek 界面中添加了一個 “…

蘋果簽名是否一定安全呢?

蘋果簽名是一種數字簽名技術,用于驗證應用程序的來源和完整性。當開發者將應用程序提交到蘋果應用商店時,蘋果會對應用進行簽名,這個簽名包含了開發者的身份信息以及應用的相關數據。用戶安裝應用時,設備會驗證簽名的有效性&#…

Outlook客戶端無法連接到服務器,添加賬戶顯示“無網絡連接,請檢查你的網絡設置,然后重試。[2603]”

1、先切換一下到手機熱點或者其他網絡,判斷是不是現在所連接的網絡的問題。如果有VPN代理軟件,網銀軟件,加密軟件在后臺運行,麻煩退出一下。 2、打開電腦上的 控制面板——網絡和Internet——Internet選項——高級——先點擊還原…

Laravel 中使用 JWT 作用戶登錄,身份認證

什么是JWT: JWT 全名 JSON Web Token,是一種開放標準 (RFC 7519)。 用于在網絡應用環境間安全地傳輸信息作為 JSON 對象。 它是一種輕量級的認證和授權機制,特別適合分布式系統的身份驗證。 核心特點 緊湊格式:體積小&#x…

51. “閑轉易”交易平臺小程序(基于springbootvue)

目錄 1.系統的受眾說明 2 關鍵技術介紹 2.1 SSM框架 2.2 Java技術及架構介紹 2.3 MYSQL數據庫 2.4微信小程序框架 2.5 B/S架構 3 需求分析與可行性分析 3.1功能需求分析 3.2 性能需求分析 3.3系統設計規則與運行環境 3.4系統流程分析 3.5 可行性分析 4 系統設計 …

【STM32】GPIO輸入(按鍵)

目錄 一、如何分辨GPIO輸入使用什么電頻二、輸入抖動問題如何消抖三、示例代碼 一、如何分辨GPIO輸入使用什么電頻 先看原理圖 即可知道他的初始輸入狀態需要高電平 判斷可知使用上拉輸入 二、輸入抖動問題如何消抖 電路圖中, 按鍵輸入有額外的電容電阻, 是為了消抖 消抖方…

【Android Studio】配置教程以及解決過程中的問題(詳細版本)

目錄 前言 一、下載安裝 二、配置 三、簡單使用 新建項目 創建默認項目 四、解決過程中的問題 前言 如果你目前不是第一次安裝,那需要完全卸載它。 因為一般電腦卸載 Android Studio 時容易落下一堆配置文件沒刪,卸載不干凈導致無用文件占用空間…

EtherNet/IP轉ProfiNet協議轉換網關驅動西門子PLC與流量計的毫秒級壓力同步控制

一、案例背景 汽車涂裝線的靜電噴涂工藝對壓縮空氣流量穩定性要求極高。原系統中Alicat流量計與西門子PLC因協議差異無法聯動,導致涂料浪費率高達8%。通過JM-EIPM-PN網關實現供氣系統與PLC的深度集成。從而實現了EtherNet/IP轉ProfiNet的通訊。 二、設備連接與配置…

如何從0-1的建設云上穩定性?

一、系統架構 整個系統包含了私有云和公有云兩個節點。前端和服務端存在私有云和公有云兩套系統交互,公有云上的系統為三方黑盒系統。 帶著上面的五點風險和挑戰,我們從前后端的視角整體制定優化策略和方案。 二、前端策略 作為釘釘的合作產品&#xff…

【學Rust寫CAD】17 通用2D仿射變換矩陣結構體(matrix/generic.rs)

源代碼 // matrix.rs use std::ops::{Add, Mul};use std::ops::{Add, Mul};/// 通用2D仿射變換矩陣&#xff08;元素僅需Copy&#xff09; #[derive(Clone, Copy, Debug, PartialEq)] pub struct Matrix<X, Y, Xx, Xy, Yx, Yy> {pub x: X, pub y: Y,pub xx: Xx, pub xy:…

Spring Boot @RequestParam 解析參數時的常見問題及解決方案

1&#xff0c;遇到的問題&#xff1a;將后端接口寫完后我想通過PostMan進行簡單的測試一下&#xff0c;一不小心就遇到了這樣的情況&#xff1a; org.springframework.web.bind.MissingServletRequestParameterException: Required Integer parameter contractId is not prese…

Golang中間件的原理與實現

一. 什么是 Middleware&#xff1f; 中間件&#xff08;Middleware&#xff09; 是一種 高階函數&#xff0c;它接受一個函數作為輸入&#xff0c;并返回一個經過增強的函數。它的核心思想是通過函數的遞歸嵌套&#xff0c;動態地為函數添加功能。在 Golang 中&#xff0c;中間…

算法設計學習3

實驗目的及要求&#xff1a; 1.加強對結構體的應用。 2.熟悉字符計數排序。 實驗設備環境&#xff1a; 1.微型計算機 2.DEV C(或其他編譯軟件) 實驗步驟&#xff1a; 任務&#xff1a;要求使用自定義函數來實現 輸入一段文本&#xff0c;統計每個字符出現的次數&#xff0c;按…

Vue2和3的vue-router:生命周期、懶加載

Vue2 vue-router 在 Vue 2 中使用 vue-router 可以方便地管理單頁面應用&#xff08;SPA&#xff09;中的路由。理解 vue-router 的生命周期和懶加載機制對于構建高效的 Vue 應用至關重要。以下是一些關鍵點和示例代碼來幫助你理解這些概念。 Vue Router 的生命周期 vue-rou…

【408--考研復習筆記】計算機網絡----知識點速覽

目錄 一、計算機網絡體系結構 1.計算機網絡的定義與功能&#xff1a; 2.網絡體系結構相關概念&#xff1a; 3.OSI 七層模型與 TCP/IP 模型&#xff1a; 4.通信方式與交換技術&#xff1a; 電路交換 報文交換 分組交換 5.端到端通信和點到點通信&#xff1a; 6.計算機…

MySQL-- 多表查詢的分類,SQL92與SQL99,7種JOIN的實現,SQL99語法的新特性

目錄 一&#xff0c;多表查詢的分類 角度1&#xff1a;等值連接 vs 非等值連接 角度2&#xff1a;自連接 vs 非自連接 角度3&#xff1a;內連接 vs 外連接 二&#xff0c;SQL92語法實現內連接&#xff1a;見上&#xff0c;略SQL92語法實現外連接&#xff1a;使用 -…