Python 视频格式转换-flv转mp4


# !/usr/bin/python
# -*- coding:utf-8 -*-
# time: 2020/03/18--20:12
__author__ = 'wenguanjun'

import requests, time, urllib.request, re, os
from moviepy.editor import *
import os, sys, threading, json

import imageio

imageio.plugins.ffmpeg.download()


if __name__ == '__main__':
    start_time = time.time()
    video_path = '/Volumes/WS/temp'
    file_list = os.listdir(video_path)

    commands = []
    for f in file_list:
        fileDir = video_path + '/' + f
        if not os.path.isdir(fileDir):
            continue
        file_list_dir = os.listdir(fileDir)
        for file in file_list_dir:
            if str(file).__contains__('.DS_Store'):
                continue
            if not str(file).__contains__('.flv'):
                continue
            if str(file).__contains__('._'):
                continue
            file = file.replace('._','')
            filePath = fileDir + '/' + file
            file = file.replace(' ','-').replace('(','-').replace(')','-').replace('(','-').replace(")",'-')
            filePathNew = fileDir + '/' + file
            if filePath != filePathNew:
                try:
                    os.rename(filePath, filePathNew)
                except:
                    pass
            tsPath = fileDir + '/' + file.replace('.flv','.ts')
            mp4Path = fileDir + '/' + file.replace('.flv','.mp4')
            cmd_ts_command = 'ffmpeg -i ' + filePathNew + ' -c copy -bsf:v h264_mp4toannexb -f mpegts ' + tsPath
            cmd_mp4_command = 'ffmpeg -i "concat:' + tsPath + '" -c copy -bsf:a aac_adtstoasc -movflags +faststart ' + mp4Path
            if cmd_ts_command not in commands:
                commands.append(cmd_ts_command)
                print(cmd_ts_command)
                cmd_ts_command_out = os.popen(r"" + cmd_ts_command, "r")
                print(cmd_ts_command_out.read())
                time.sleep(10)
            if cmd_mp4_command not in commands:
                print(cmd_mp4_command)
                cmd_mp4_command_out = os.popen(r"" + cmd_mp4_command, "r")
                print(cmd_mp4_command_out.read())
                time.sleep(10)
            try:
                print('删除:'+tsPath)
                print('删除:'+filePathNew)
                os.remove(tsPath)
                os.remove(filePathNew)
            except:
                pass
    print('休息')
    time.sleep(10000)


 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答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格式视频

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值