我不知道如何在上传时截屏,但是我知道如何在上传后截屏。
最简单的代码是:
ffmpeg -i input.mp4 -ss 00:00:01.000 -vframes 1 output.png
在上传文件后运行此脚本。如果在视频开始时(例如前一分钟)拍摄屏幕截图,则应该只需要很短的时间。
我认为在文件仍在上传过程中拍摄屏幕截图是不可能的。
编辑: 从ffmpeg中删除-f image2
,因为它被正确猜测了。
ffmpeg -ss 00:00:01.000 -i input.mp4 -vframes 1 output.png
$ffmpegPath = exec('which ffmpeg');
$ffprobePath = exec('which ffprobe');
$command = "$ffprobePath -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $input_video";
$video_duration = shell_exec($command);
$thumbnails_output = 'output%02d.png';
$command = "$ffmpegPath -i $input_video -vf fps=3/$video_duration $thumbnails_output";
shell_exec($command)
#!/bin/bash
for input_video in "$@"
do
duracion=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$input_video");
#echo $duracion;
ffmpeg -i "$input_video" -vf fps=11/$duracion "$input_video%02d.png";
#echo " ffmpeg -i \"$input_video\" -vf fps=3/$duracion \"$input_video%02d.png\"";
done
$
符号? - Shayaninput.mp4
。在某些语言中,$
表示变量。 - llogan