视频处理

将flv帧解成图片

The command

  1. ffmpeg -ss 00:00:25 -t 00:00:00.04 -i YOURMOVIE.MP4 -r 25.0 YOURIMAGE%4d.jpg

will extract frames

  • beginning at second 25 [-ss 00:00:25]
  • stopping after 0.04 second [-t 00:00:00.04]
  • reading from input file YOURMOVIE.MP4
  • using only 25.0 frames per second, i. e. one frame every 1/25 seconds [-r 25.0]
  • as JPEG images with the names YOURIMAGE%04d.jpg, where %4d is a 4-digit autoincrement number with leading zeros

参考资料:extracting frames from mp4 flv

如果是全部解码为图片,则不需要加-ss-t参数,如下所示:
ffmpeg -i 0BD5E43B81178661BBE024668ED25A5C.flv -r 25.0 YOURIMAGE%4d.jpg
0BD5E43B81178661BBE024668ED25A5C.flv

将flv转为mp4

  1. ffmpeg -i gh_1.flv gh_1.mp4

生成mp4文件的缩略图

参考链接
下面是生成png缩略图代码:

  1. ffmpeg -i 'input_video.mp4' -ss 00:00:01.000 -vframes 1 'thumb.png'

下面是生成jpeg缩略图的代码:

  1. ffmpeg -i 'input_video.mp4' -ss 00:00:01.000 -vframes 1 'thumb.jpeg'

修改flv视频的分辨率

  1. ffmpeg -i gh_1.flv -vcodec libx264 -profile:v baseline -preset:v medium -vf scale=600:800 -r 25 -acodec aac -ar 48000 -ac 1 -f flv -y gh_1.flv

修改mp4视频的分辨率

  1. ffmpeg -i gh_1.mp4 -vcodec libx264 -profile:v baseline -preset:v medium -vf scale=600:800 -r 25 -acodec aac -ar 48000 -ac 1 -f mp4 -y test.mp4

音频处理

将mp3转成wav

  1. ffmpeg -i test.mp3 -acodec pcm_s16le -ac 2 -ar 8000 test.wav

如果mp3是双声道,ac=1,则会将两个声道混音。ac=2则两个声道都清晰展现。

ffprobe基本使用

探测完全为黑屏的帧

  1. ffprobe -f lavfi -i "movie=dc1a1f56bf611dc90eb4e707ba3e3c10.webm,blackdetect[out0]" -show_entries tags=lavfi.black_start,lavfi.black_end -of default=nw=1 -v quiet

效果如下图所示:
image.png

限制ffprobe只检测视频的前n秒

使用参数:-read_intervals
-read_intervals %+2 代表只检测前2秒
-read_intervals %+#2 代表只检测前2帧
参考:How to limit the number of frames ffprobe interprets?

  1. ffprobe -f lavfi -i "movie=dc1a1f56bf611dc90eb4e707ba3e3c10.webm,blackdetect[out0]" -show_entries tags=lavfi.black_start,lavfi.black_end -of default=nw=1 -v quiet -read_intervals %+2