首页 > 其他分享 >ffmpeg实现视频的分割生成测试用的图片视频和音频

ffmpeg实现视频的分割生成测试用的图片视频和音频

时间:2023-10-30 23:13:18浏览次数:29  
标签:视频 ffmpeg read 音频 切分 MP4 输入

测试代码如下:

#!/bin/bash

# 提示用户输入参数
read -p "请输入要切分的MP4文件名: " filename
read -p "请输入要生成的视频数量: " video_count
read -p "请输入视频文件的大小范围(单位MB,例如10-20): " video_size_range
read -p "请输入要生成的图片数量: " image_count
read -p "请输入要生成的音频数量: " audio_count
read -p "请输入要提取的音频时长(单位秒): " audio_duration

# 创建输出文件夹
output_folder="output"
mkdir -p $output_folder

# 切分MP4文件
echo "开始切分MP4文件..."

# 切分视频
echo "开始切分视频..."
for (( i=1; i<=video_count; i++ ))
do
    video_size=$((RANDOM % (video_size_range+1 - 5) + 5)) # 随机生成视频大小
    ffmpeg -i $filename -ss 00:00:00 -t 00:00:$video_size -c copy $output_folder/video_$i.mp4
done
echo "视频切分完成!"

# 提取图片
echo "开始提取图片..."
duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $filename) # 获取视频总时长
for (( i=1; i<=image_count; i++ ))
do
    start_time=$(awk "BEGIN{ srand(); print int(rand() * ($duration)) }") # 随机生成图片起始时间
    ffmpeg -ss $start_time -i $filename -vframes 1 $output_folder/image_$i.jpg
done
echo "图片提取完成!"

# 提取音频
echo "开始提取音频..."
duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $filename) # 获取音频总时长
for (( i=1; i<=audio_count; i++ ))
do
    start_time=$(awk "BEGIN{ srand(); print int(rand() * ($duration - $audio_duration)) }") # 随机生成音频起始时间
    ffmpeg -i $filename -ss $start_time -t $audio_duration -vn -acodec aac $output_folder/audio_$i.m4a
done
echo "音频提取完成!"

echo "所有操作已完成!"

标签:视频,ffmpeg,read,音频,切分,MP4,输入
From: https://www.cnblogs.com/lx2035/p/17799144.html

相关文章

  • 告诉你一个真实的短视频自媒体收入
    我是卢松松,点点上面的头像,欢迎关注我哦!10个月前我分享了《这一年半我在短视频的收入》都是真实的,最近我看到有人在分享卢松松做短视频的收入,玩视频又被赋予了很多内容,我这说明下也是一些小感悟分享给大家:(1)直播打赏8000元,是1年半的收入,并非1年。而且平台扣50%,扣个人税,实际到手也就......
  • 视频无痕去水印揭秘那些你不知道的好用软件
    视频无痕去水印怎么去?各位小伙伴在初学剪视频的时候是不是和我一样经常会碰到一个烦人的问题:在网上找到的视频素材总是带着讨厌的水印,不仅影响美观还挡住了视频的一些部分,让人特别不爽,我想各位遇到这种情况的时候肯定会很想知道有没有什么办法能无痕去掉视频上的水印,别急今天我就来......
  • 安防视频监控平台EasyCVR前端解码与后端解码的区别介绍
    视频监控平台/视频存储/视频分析平台EasyCVR基于云边端一体化管理,支持多类型设备、多协议方式接入,具体包括:国标GB28181协议、RTMP、RTSP/Onvif、海康Ehome,以及海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石SDK等,可覆盖市面上绝大多数的视频源设备。前两期我们介绍了EasyCVRv......
  • 安防视频监控平台EasyCVR服务器需要开启firewall防火墙,该如何开放端口?
    智能视频监控/视频云存储/集中存储/视频汇聚平台EasyCVR具备视频融合汇聚能力,作为安防视频监控综合管理平台,它支持多协议接入、多格式视频流分发,视频监控综合管理平台EasyCVR支持海量视频汇聚管理,可应用在多样化的场景上,包括城市“一网统管”建设、智慧工地风险预警、智慧工厂安全......
  • 美颜SDK是什么?选择视频美颜SDK的关键因素
    当下,视频美颜技术在各种应用中发挥着越来越重要的作用,从视频通话到社交媒体直播,甚至在线培训和娱乐。随着市场的增长,开发人员和企业需要仔细考虑选择适合他们需求的视频美颜SDK。本文将探讨选择视频美颜SDK的关键因素,以确保您的应用程序提供最佳的美颜效果和用户体验。一、技术性能......
  • 视频汇聚平台EasyCVR分发的流如何进行token鉴权?具体步骤是什么?
    视频监控EasyCVR平台能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放协议,包括:HLS、HTT......
  • 手把手教你如何轻松播放附件中的视频——面向初学者的实践指引
    前言在日常使用办公系统的过程中,经常被问到一个问题,就是附件中如果上传的是视频文件,如何在网页上播放?虽然可以下载后再在本地播放,但是有时候只是想看一下视频里其中的一段,下载后再播放就非常的浪费时间。在这篇文章中,我们将一步一步手把手教你如何实现在办公系统中播放视频(以kinton......
  • 视频直播app源码,CSS div水平垂直居中和div置于底部
    视频直播app源码,CSSdiv水平垂直居中和div置于底部一、水平居中 .hor_center{  margin:0auto;}​二、水平垂直居中 .content{  width:360px;  height:240px;} .ver_hor_center{  position:absolute;  top:50%;  left:50%;  margi......
  • 短视频app源码,Flutter组件--搜索页面布局
    短视频app源码,Flutter组件--搜索页面布局 classLayoutDemoextendsStatelessWidget{ constLayoutDemo({Key?key}):super(key:key); @override Widgetbuild(BuildContextcontext){  returnPadding(   padding:constEdgeInsets.all(10),   c......
  • 手把手教你如何轻松播放附件中的视频——面向初学者的实践指引
    前言在日常使用办公系统的过程中,经常被问到一个问题,就是附件中如果上传的是视频文件,如何在网页上播放?虽然可以下载后再在本地播放,但是有时候只是想看一下视频里其中的一段,下载后再播放就非常的浪费时间。在这篇文章中,我们将一步一步手把手教你如何实现在办公系统中播放视频(以kin......