m4s格式转换mp4

先安装 ffmpeg,具体从官网可以查到,https://ffmpeg.org,按流程走。

转换代码如下,可以任意选择格式导出

python 复制代码
import subprocess
import os

def merge_audio_video(input_audio_path, input_video_path, output_mp4_path):
    # 构建 FFmpeg 命令
    ffmpeg_cmd = [
        'ffmpeg',                  # FFmpeg 执行文件
        '-i', input_audio_path,    # 输入音频 M4S 文件路径
        '-i', input_video_path,    # 输入视频 M4S 文件路径
        '-c', 'copy',              # 使用 copy 编码方式,保持原始编码
        output_mp4_path            # 输出 MP4 文件路径
    ]

    # 执行 FFmpeg 命令
    subprocess.run(ffmpeg_cmd)

if __name__ == "__main__":
    # 首发
    # 输入的音频和视频 M4S 文件路径
    input_audio_m4s_path = "/Users/xxx/Movies/bilibili/948126882/948126882_nb3-1-30280.m4s"
    input_video_m4s_path = "/Users/xxx/Movies/bilibili/948126882/948126882-1-30112.m4s"
    #
    # 输出的合并后的 MP4 文件路径
    output_merged_mp4_path = "/Users/xxx/Movies/bilibili/948126882/output_merged.mp4"
    
    # 确保输出文件夹存在
    os.makedirs(os.path.dirname(output_merged_mp4_path), exist_ok=True)

    # 调用函数进行合并
    merge_audio_video(input_audio_m4s_path, input_video_m4s_path, output_merged_mp4_path)

    print("合并完成!")

注意,b站导出的m4s文件有时候会出现报错, Invalid data found when processing input

https://www.bilibili.com/read/cv14802750/ 可以参考这篇文章。

mac多说一句,直接用sublime text读取m4s文件,打开是数字编码,删除前九对30,删到00,保存就可以转了。

mac如果直接用文本格式读取,即使手动删除前9个0还是不行。

相关推荐
黑科技Python41 分钟前
生活中的“小智慧”——认识算法
学习·算法·生活
Yupureki41 分钟前
从零开始的C++学习生活 16:C++11新特性全解析
c语言·数据结构·c++·学习·visual studio
青云交1 小时前
Java 大视界 -- Java 大数据在智能教育学习社区互动模式创新与用户活跃度提升中的应用(426)
java·大数据·学习·flink 实时计算·智能教育社区·互动模式创新·用户活跃度
武清伯MVP3 小时前
阮一峰《TypeScript 教程》学习笔记——类型映射
笔记·学习·typescript
月阳羊3 小时前
【论文学习与撰写】Mathtype的安装与word插件安装
学习·word
BreezeJuvenile3 小时前
MAX30102脉搏血氧传感器相关内容整理(理论版)
学习·max30102·心率血氧传感器
报错小能手4 小时前
C++笔记(面向对象)深赋值 浅赋值
c++·笔记·学习
一介书生-0074 小时前
2025-10-27 Java AI学习路线
java·人工智能·学习
繁花与尘埃4 小时前
CSS引入方式(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
css·笔记·学习
Century_Dragon4 小时前
新能源汽车故障诊断与排除虚拟实训软件:赋能职业教育利器
学习