转换视频格式|压缩视频|使用ffmpeg

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换视频格式|压缩视频|使用ffmpeg相关的知识,希望对你有一定的参考价值。

代码如下

import os.path
import subprocess


def compress_video(origin_file=None, target_file=None, quality=10):
    # 压缩质量(值越小,视频越小)
    # 如果文件存在就删除
    if os.path.exists(target_file):
        os.remove(target_file)

    if not os.path.exists(os.path.join(os.getcwd(), "ffmpeg.exe")):
        return "ffmpeg程序不存在请下在该程序"

    # 定义FFmpeg命令
    command = f\'ffmpeg -i "origin_file" -qscale:v quality -strict -2 "target_file"\'

    # 调用FFmpeg命令
    output = subprocess.getoutput(command)

    # 输出FFmpeg命令执行结果
    print(output)


# 输入视频文件路径
origin_file = r\'video.avi\'
# 输出视频文件路径
target_file = r\'out.mp4\'
compress_video(origin_file=origin_file, target_file=target_file)

上图目录结构

 

C# 使用神器ffmpeg.exe 压缩视频,流畅清晰体积小

参考技术A 转换压缩视频,要求视频通过 ffmpeg 压缩后视频清晰不卡顿,并且视频体积要求比较小

-r 帧率 -r 12 一秒12帧,一秒15帧可以看到比较流畅。
-vf scale=1366:768 分辨率可以设置小一点,为了清晰可以适当调整,同时也会影响到视频体积大小。
-crf 这里设置36, 一般18-28 就差不多了,这里因为要求视频压缩后越小越好,因此调整为36。
以上三条把握好,就可以压缩出来体积小清晰流畅的视频了,具体压缩效果以及参数可以根据现场情况自己进行测试。

以上是关于转换视频格式|压缩视频|使用ffmpeg的主要内容,如果未能解决你的问题,请参考以下文章

FFmpeg使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )

如何使用 FFmpeg 将灰度视频流编码为 MPEG-1?

C# 使用神器ffmpeg.exe 压缩视频,流畅清晰体积小

FFMPEG基本操作命令指南

视频话题识别与跟踪 - demo 问题总结1.1-视频处理

mencoder+ffmpeg视频转换问题