ffmpeg 将拆分的数据合成一帧_如何使用FFMPEG分割视频,以便每个块以关键帧开始?...

使用的ffmpeg的较新版本,可以通过使用ffprobe和FFMPEG段复用器实现这一点。

1.使用ffprobe和awk识别关键帧尽可能地接近你想要的块长度。

ffprobe -show_frames -select_streams v:0 -print_format csv **[SOURCE_VIDEO]** 2>&1 | grep -n frame,video,1 | awk 'BEGIN { FS="," } { print $1 " " $5 }' | sed 's/:frame//g' | awk 'BEGIN { previous=0; frameIdx=0; size=0; } { split($2,time,"."); current=time[1]; if (current-previous >= **[DURATION_IN_SECONDS]**){ a[frameIdx]=$1; frameIdx++; size++; previous=current;} } END { str=a[0]; for(i=1;i

[SOURCE_VIDEO] =路径视频要段

[DURATION_IN_SECONDS] =以秒为期望的段长度

的输出是逗号分隔的关键帧字符串。

2.使用关键帧输出上述作为输入的ffmpeg。

的ffmpeg -i [SOURCE_VIDEO] -codec拷贝-map 0 -f段-segment_frames [OUTPUT_OF_STEP_1] [SEGMENT_PREFIX] _%03D。 [SOURCE_VIDEO_EXTENSION]

[SOURCE_VIDEO] =路径视频要细分

[OUTPUT_OF_STEP_1]关键帧的 =逗号分隔字符串

[SEGMENT_PREFIX段输出的] =名

[SOURCE_VIDEO_EXTENSION] =扩展视频源(例如,MP4,MKV)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值