ubuntu小技巧24--快速入门ffmpeg

Posted 昕光xg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu小技巧24--快速入门ffmpeg相关的知识,希望对你有一定的参考价值。


ubuntu小技巧24--快速入门ffmpeg

1 介绍

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。

笔者偶尔会做一些音视频的简单剪辑工具,多使用Ubuntu系统,且不想下载过多的工具软件,因此整理了一些 ffmpeg 常用的音视频操作方法,方便后续用 ffmpeg 做基础的音视频剪辑。
后续也会在本文持续更新 ffmpeg 相关的操作技巧和注意事项!

2 使用方法

2.1 ffmpeg命令剪辑音视频文件

视频格式转换

从mp4 转化为avi格式
ffmpeg -i v_input.mp4 v_input.avi

将音视频输出到mpg文件中

ffmpeg -i m_input.mp -i v_input.mp4 v_input.mpg

从视频中提取图片

ffmpeg -i v_input.mp4 -r 1

将图片合并为视频

ffmpeg -f image2 -framerate 12

剪辑音乐

ffmpeg -ss 60 -i dayu.mp3 -t 10  dayu1.mp3
-ss 表示起始偏移时间,此处即从60s开始剪辑
-t 表示时间周期,此处为需要剪辑10s
最终即为剪辑 0:60 - 0:70 的音乐

剪辑视频

ffmpeg -ss 60 -i v_input.mp4 -t 10  v_input1.mp4
-ss 表示起始偏移时间,此处即从60s开始剪辑
-t 表示时间周期,此处为需要剪辑10s
最终即为剪辑 0:60 - 0:70 的视频

拼接多个音频

cat dayu.txt 
file dayu1.mp3
file

2.2 python脚本剪辑音视频文件

输出视频基础信息

from __future__ import unicode_literals, print_function
import argparse
import ffmpeg
import sys


parser = argparse.ArgumentParser(description=Get video information)
parser.add_argument(in_filename, help=Input filename)


if __name__ == __main__:
args = parser.parse_args()

try:
probe = ffmpeg.probe(args.in_filename)
except ffmpeg.Error as e:
print(e.stderr, file=sys.stderr)
sys.exit(1)

video_stream = next((stream for stream in probe[streams] if stream[codec_type] == video), None)
if video_stream is None:
print(No video stream found, file=sys.stderr)
sys.exit(1)

width = int(video_stream[width])
height = int(video_stream[height])
num_frames = int(video_stream[nb_frames])
print(width: .format(width))
print(height: .format(height))
print(num_frames: .format(num_frames))

############################################
测试
############################################
# python3 video_info.py v_input.mp4
width: 1920
height: 1080
num_frames: 1984

ubuntu小技巧24--快速入门ffmpeg_快速入门ffmpeg


水平翻转视频(对每一帧进行左右翻转)

import ffmpeg
stream = ffmpeg.input(v_input1.mp4)
stream = ffmpeg.hflip(stream)
stream = ffmpeg.output(stream, v_output1.mp4)
ffmpeg.run(stream)

3 注意事项

  1. ffmpeg 有很多命令和参数,实际中如果不是需要精细处理,可以省略掉不必要的参数。

4 说明

软件环境
Ubuntu Desktop 20.04
ffmpeg version 4.2.4-1ubuntu0.1
参考文档
​​​百度百科–ffmpeg​​​​ffmpeg 官方文档​​​​FFmpeg常用命令汇总+文档汇总​​​​ffmpeg-python 0.1.1​​​​github.com/kkroening/ffmpeg-python​


以上是关于ubuntu小技巧24--快速入门ffmpeg的主要内容,如果未能解决你的问题,请参考以下文章

熟悉这些fcpx剪辑技巧 快速提高你的剪辑效率

Ffmpeg入门级教程(Java代码开发)

剖析抖音快速涨粉的音乐类账号,了解大佬运营技巧,学以致用

FFmpeg入门

体验 Python 剪辑视频以及相关问题解决, 一劳永逸!

Win10技巧:使用“照片”应用剪辑视频添加特效