-
分离视频音频流
ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流
ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流 -
-r 提取图像的频率,-ss 开始时间,-t 持续时间
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切视频 -
ffmpeg从视频中生成gif图片:
ffmpeg -i capx.mp4 -t 10 -s 320x240 -pix_fmt rgb24 jidu1.gif
// -t参数表示提取前10秒视频
// -s 表示按照 320x240的像素提取 -
ffmpeg将视频导出成多张图片
ffmpeg -i output.mp4 -r 30 -f image2 foo-%05d.jpeg
// -r参数表示按照30帧的速度提取。 -
ffmpeg批量将视频转为单帧图片shell脚本
有一些行车记录仪的视频,需要将其转换为单帧图片以供标注和神经网络学习。ffmpeg安装很简单,见前面1-4,视频格式全部为mp4格式,放在/home/ffmpeg-project目录下。需要将其转换并存储在单独目录下,命名为ffout-【视频名】
先贴出最终脚本
#!/bin/bash
#Program:
#convert MP4 to jpg
#History:
#2017/12/02 raulxty@163.com First release
PATH=/root/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH
filelist=$(find *.mp4)
OLDIFS="$IFS"
IFS=$"\n"
for filename in *.mp4
#$(find -iname *.mp4)
do
mkdir "ffout-${filename%.*}"
ffmpeg -i $filename /home/ffmpeg-project/"ffout-${filename%.*}"/%03d.jpg
done
IFS=$OLDIFS
运行方式是
[root@centos7 ffmpeg-project]# ./convert_mp4_to_jpg.sh
可能遇到的两个错误,若提示
-bash: ./convert_mp4_to_jpg.sh: Permission denied
解决方法
chmod 777 convert_mp4_to_jpg.sh
若提示
-bash: ./convert_mp4_to_jpg.sh: /bin/bash^M: bad interpreter: No such file or directory
解决方法
sed -i 's/\r$//' convert_mp4_to_jpg.sh
本文介绍了如何利用ffmpeg工具将mp4视频文件转换为多张jpg图片,包括设置提取图像的频率、指定开始时间和持续时间。还提供了一个ffmpeg的shell脚本示例,适用于批量处理行车记录仪视频,以便进行图像标注和深度学习训练。
4789

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



