欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux系统上FFmpeg的高级用法

程序员文章站 2022-03-04 23:41:59
...

Linux系统上FFmpeg的基本用法请跳转:
https://blog.csdn.net/weixin_43793181/article/details/114131859

1、拆分媒体文件
比如将同一个MP4视频文件,输出成两个视频,第一个是前30s,第二个是从第30s开始到结束

ffmpeg -i video.mp4 -t 00:00:30 video_1.mp4 -ss 00:00:30 video_2.mp4

2、媒体文件拼接合并
比如我将刚刚拆分开的视频文件与另外一个视频文件拼接合并在一起,先在视频文件同目录下新建一个.txt的文本文件,文本文件内容输入如下内容并保存(文件类型格式相同)
Linux系统上FFmpeg的高级用法
终端输入:

ffmpeg -f concat -i join.txt output.mp4
ffmpeg -f concat -i join.txt -c copy output.mp4

3、多图像幻灯片/视频
将同格式的图片放到一个文件夹中(pic),设置帧速度,数值越大切换速度越快,生成的视频总时长就越短。

cat pic/*.jpg | ffmpeg -framerate 0.5 -f image2pipe -i - -c:v copy video.mp4

插入背景音乐

cat pic/*.jpg | ffmpeg -framerate 0.5 -f image2pipe -i - -i 1.mp3 -c copy video.mp4

4、屏幕录制
使用的格式(-f)是x11grab,这将捕获你的XSERVER作为输入,必须指定屏幕显示编号(主屏幕通常应为0:0)
添加屏幕大小(-s),可以随时按q或CTRL+C来停止录制

ffmpeg -f x11grab -s 1920x1080 -i :0.0 output.mp4

可以在输出大小(而不是1920x1080或任何其他设置分辨率)之后设置全屏输出文件的大小、

ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 output.mp4

5、摄像头录制
可以随时按q或CTRL+C来停止录制

ffmpeg -i /dev/video0 output.mkv

6、音频录制

ffmpeg -f alsa -i default output.mp3

摄像头+音频录制

ffmpeg -i /dev/video0 -f alsa -i default -c:v libx264 -c:a flac -r 30 output.mkv

屏幕录制+插入背景音乐

ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 -i audio.wav -c:a copy output.mp4