ffmepg 整理
FFmpeg 是一个非常强大的开源软件,用于处理各种媒体数据,如音频、视频、字幕等。它提供了一组命令行工具和库来处理媒体数据。以下是一些常用的 FFmpeg 命令:可以查阅 FFmpeg 的官方文档或使用 man ffmpeg 命令在终端中查看手册。
https://github.com/FFmpeg/FFmpeg
http://www.ruanyifeng.com/blog/2020/01/ffmpeg.html 阮一峰教程
ffmpeg -i input.mp4 output.avi
ffmpeg -i input.mp4 -vn output.mp3
在这里,-vn 是一个选项,它告诉 FFmpeg 忽略视频流。
ffmpeg -i input.mp4 -an output.avi
在这里,-an 是一个选项,它告诉 FFmpeg 忽略音频流。
ffmpeg -i input.mp4 -ss 00:00:10 -vframes 1 output.png
在这里,-ss 选项用于指定开始时间,-vframes 选项用于指定要提取的帧数。
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:05 -async 1 output.mp4
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
ffmpeg -f concat -i files.txt -c copy output.mp4
以下是示例命令行,演示如何将多个视频文件直接在命令行中拼接:
ffmpeg -f concat -safe 0 -i "input1.mp4" -i "input2.mp4" -i "input3.mp4" -c copy output.mp4
ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4
ffmpeg -i input.mp4 -b:v 1M output.mp4
以上就是一些常用的 FFmpeg 命令。FFmpeg 的功能非常强大,有很多选项和滤镜可以使用。如果你想获取更多信息,
- 在指定时间位置插入文字:要在视频的特定时间位置插入文字,你可以使用 FFmpeg 的 drawtext 过滤器。以下是一个示例命令,它将在视频的第5秒至第10秒之间显示文字"Hello World":
ffmpeg -i input.mp4 -vf "drawtext=enable='between(t,5,10)':text='Hello World':fontcolor=white:fontsize=24:x=(w-text_w)/2:y=(h-text_h)/2" output.mp4
在这个命令中,enable='between(t,5,10)' 表示在第5秒至第10秒之间显示文字。你可以修改这些参数以满足你的需求。
- 由图片组装为视频:你可以使用 FFmpeg 将一系列的图片组装成一个视频。假设你有一些按顺序编号的图片(例如 img001.jpg, img002.jpg, img003.jpg...),你可以使用以下命令:
ffmpeg -framerate 30 -i img%03d.jpg output.mp4
在这个命令中,-framerate 30 指定了视频的帧率,img%03d.jpg 是输入文件的格式。%03d 表示数字部分会被填充到至少三位数字。
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
这个命令会将 mylist.txt 中列出的所有视频合并成一个视频。
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4
这个命令会将 mylist.txt 中列出的所有视频合并成一个视频
请注意,FFmpeg 是一个非常复杂和强大的工具,有很多可能的选项和滤镜。你可能需要花一些时间学习和实验才能得到你想要的结果。如果你遇到困难,FFmpeg 的文档和在线社区是非常有用的资源。
- 如果你想将多个视频合并为一个多画面(比如分割屏幕)的视频,你可以使用 FFmpeg 的 hstack(水平堆叠)和 vstack(垂直堆叠)滤镜。这些滤镜可以将多个视频流堆叠为一个视频流。水平堆叠(hstack): 这将视频并排放在一起,形成一个宽的视频。例如,如果你有两个视频文件 input1.mp4 和 input2.mp4,并想把它们水平合并在一起,你可以使用以下命令:css
a、水平堆叠(hstack): 这将视频并排放在一起,形成一个宽的视频。例如,如果你有两个视频文件 input1.mp4 和 input2.mp4,并想把它们水平合并在一起,你可以使用以下命令:css
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex hstack output.mp4
b、垂直堆叠(vstack): 这将视频放置在彼此的上方和下方,形成一个高的视频。例如,如果你想把同样的两个视频文件垂直合并在一起,你可以使用以下命令:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex vstack output.mp4
c、如果你有更多的视频文件需要堆叠,你可以相应地调整命令。例如,如果你有四个视频文件,想要将它们堆叠成一个 2x2 的网格,你可以使用以下命令:
ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex "[0:v][1:v]hstack[top];[2:v][3:v]hstack[bottom];[top][bottom]vstack" output.mp4
在这个命令中,[0:v][1:v]hstack[top];[2:v][3:v]hstack[bottom];[top][bottom]vstack 是滤镜复杂图,它首先创建两个水平堆叠的视频(分别命名为 "top" 和 "bottom"),然后将这两个视频垂直堆叠在一起。
请注意,为了使这些命令正确工作,你的输入视频需要有相同的分辨率和帧率。如果它们没有,你需要先使用 scale 和 fps 滤镜来调整它们。
1669

被折叠的 条评论
为什么被折叠?



