【Python】Avi转Mp4 视频转换


Code


# !/usr/bin/env python
# -*-coding:utf-8-*-
import time
import cv2


def Video2Mp4(videoPath, outVideoPath):
    capture = cv2.VideoCapture(videoPath)
    fps = capture.get(cv2.CAP_PROP_FPS)  # 获取帧率
    size = (int(capture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
    # fNUMS = cap.get(cv2.CAP_PROP_FRAME_COUNT)
    suc = capture.isOpened()  # 是否成功打开

    allFrame = []
    while suc:
        suc, frame = capture.read()
        if suc:
            allFrame.append(frame)
    capture.release()

    fourcc = cv2.VideoWriter_fourcc(*"mp4v")
    videoWriter = cv2.VideoWriter(outVideoPath, fourcc, fps, size)
    for aFrame in allFrame:
        videoWriter.write(aFrame)
    videoWriter.release()


if __name__ == '__main__':
    inputVideoPath = "mv_1639632186.3482149.avi"  # 读取视频路径
    outVideoPath = f"out_{int(time.time())}.mp4"
    Video2Mp4(inputVideoPath, outVideoPath)


TS 转MP4


import glob

def ts_to_mp4(mp4Name, ts_path):
    with open(mp4Name, 'wb') as fw:
        files = glob.glob('{}/*.ts'.format(ts_path))
        files.sort(key=lambda x: int(x.split('\\')[-1].split('.')[0]))
        for file in files:
            with open(file, 'rb') as fr:
                fw.write(fr.read())

ts_to_mp4('result.mp4', 'tmp')

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用Python中的FFmpeg库来实现avi转换mp4格式。具体步骤如下: 1. 安装FFmpeg库 可以使用pip命令安装FFmpeg库: ``` pip install ffmpeg-python ``` 2. 导入FFmpeg库 在Python代码中导入FFmpeg库: ``` import ffmpeg ``` 3. 转换视频格式 使用FFmpeg库中的`input()`和`output()`函数来转换视频格式,示例代码如下: ``` input_file = 'input.avi' output_file = 'output.mp4' input_stream = ffmpeg.input(input_file) output_stream = ffmpeg.output(input_stream, output_file) ffmpeg.run(output_stream) ``` 其中,`input.avi`为输入文件名,`output.mp4`为输出文件名。运行以上代码后,即可将avi格式的视频转换mp4格式。 ### 回答2: Python是一个开源的编程语言,因其具有易学易用、可读性强等优点受到广泛关注。在Python中,我们可以使用第三方库FFmpeg来处理视频文件,通过FFmpeg提供的API,我们可以将视频从一种格式转换为另一种格式。 如果我们想要将视频格式从AVI转换MP4,可以使用Python中的subprocess库来调用FFmpeg命令行进行转换操作。首先,我们需要安装FFmpeg,并将其添加至环境变量中,以便在命令行中使用FFmpeg命令。 接下来,我们可以使用subprocess库来调用FFmpeg命令,示例代码如下: ```python import subprocess # 调用FFmpeg命令进行视频转换 subprocess.call(['ffmpeg', '-i', 'input.avi', 'output.mp4']) ``` 在上述代码中,我们使用FFmpeg的-i参数指定输入文件为input.avi,使用output.mp4作为输出文件名。这里的文件名可以根据实际需求进行修改。 此外,我们还可以对FFmpeg命令进行更详细的设置。例如,我们可以设置视频分辨率、帧率、比特率等参数,以优化视频转换效果。下面是一个示例代码,演示如何设置视频分辨率: ```python import subprocess # 设置视频分辨率为1280x720 subprocess.call(['ffmpeg', '-i', 'input.avi', '-s', '1280x720', 'output.mp4']) ``` 在上述代码中,我们使用FFmpeg的-s参数指定输出视频分辨率为1280x720,这里的分辨率可以根据实际需求进行修改。 总之,Python与FFmpeg配合可以对视频进行多样化处理,包括AVIMP4等格式转换。我们可以根据需求进行调整,提高视频处理效率和质量。 ### 回答3: Python是一个高级编程语言,可以实现各种各样的功能。其中包括将avi格式的视频转换mp4格式的视频。这在我们的日常生活中很常见,比如说,你有一些avi格式的电影或者视频,但你的设备并不支持这种格式,这个时候就需要将这些视频转换成常用的mp4格式。 在Python中,我们可以使用FFmpeg这个工具来实现视频格式的转换。简要来说,我们需要执行以下步骤: 1. 下载FFmpeg 2. 安装FFmpeg 3. 导入Python中的subprocess模块 4. 使用subprocess模块执行FFmpeg命令,将avi格式的视频转换mp4格式。 具体实现步骤如下: 1. 下载FFmpeg FFmpeg是一个开源的视频转换器,我们可以去FFmpeg官网(https://ffmpeg.org/download.html)下载对应操作系统的安装包。这里以Windows系统为例,下载Windows版的FFmpeg安装包。 2. 安装FFmpeg 下载完成后,我们需要安装FFmpeg。安装过程非常简单,直接双击下载的安装包,按照提示步骤安装即可。 3. 导入subprocess模块 Python中的subprocess模块可以让我们在程序中执行外部命令。 在Python中,我们可以使用以下语句导入subprocess模块: import subprocess 4. 使用subprocess模块执行FFmpeg命令 下面是将avi格式的视频转换mp4格式的Python代码: import subprocess def avi_to_mp4(video_path): cmd = 'ffmpeg -i ' + video_path + ' -vcodec copy -acodec copy ' + video_path[:-4] + '.mp4' # video_path[:-4]是去掉视频文件后缀.avi subprocess.call(cmd, shell=True) if __name__ == '__main__': avi_file_path = r'C:\Users\Username\Desktop\example.avi' avi_to_mp4(avi_file_path) 以上代码中,我们定义了一个函数avi_to_mp4,接收一个视频文件的路径作为参数。然后,我们使用FFmpeg命令将avi格式的视频转换mp4格式的视频。 具体来说,我们使用-vcodec copy和-acodec copy指定视频和音频编解码格式,从而不改变视频和音频的格式,提升转换速度。 最后,我们调用avi_to_mp4函数,传入 avi_file_path参数,即可将avi格式的视频转换mp4格式的视频
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值