4 ffmpeg video-processing video-encoding
我有一个网站,允许人们上传各种格式的大型视频文件(avi,mp4,mkv和flv).我需要从已上传的较大文件生成1分钟"样本",样本需要采用相同的格式,具有与原始文件相同的帧尺寸和比特率.有没有办法简单地将文件的一部分剪切成新文件?最好是在ffmpeg(或任何其他工具,如果ffmpeg是不可能的).
Art*_*rke 15
首先,您需要了解视频文件的实际工作方式.这里有一套教程解释:互联网视频过于简单的指南.
然后,您可以尝试各种可能有助于切片样本的工具.一个是flvtool(如果你的输入是FLV)或FFmpeg.随着FFmpeg的,你可以指定一个起始时间和结束时间,并会尝试切断你随便把什么(但它必须找到最近的关键帧开始在切片).
这是用于读取名为input.flv的文件的FFmpeg命令,在视频中开始15秒,然后在接下来的60秒内切出,但是保持音频代码和视频编解码器的相同参数,并将其写入输出文件:
ffmpeg -i input.flv -ss 15 -t 60 -acodec copy -vcodec copy output.flv
最后,如果你想要,你可以用C或C++(使用FFmpeg的libav库)或Java(使用Xuggler)编写计算机代码,以编程方式执行此操作,但这对于您的用例来说非常先进.