利用ffmpeg切割与合并视频(一)调用ffmpeg程序直接切割
ffmpeg -ss 00:00:00 -i D:\media\Linux.mpg -vcodec copy -acodec copy -t 00:01:00 C:\Users\a\Desktop\output.mpg
选项介绍:
-ss 截取视频的开始时间 单位为秒
-t 截取视频的时长,单位为秒
-vcodec 视频编码
-acodec 音频编码
-i 输入文件
前提:ffmpeg在系统的Path目录下,这样执行的时候才会找到这个命令
下面这个程序可以将Linux.mpg分割成长度为len分钟的若干个文件。
缺点:由于无法得知源文件的具体长度,无法计算需要分多少份,只好用system(“pause”)在每次分割完成后暂停,然后根据程序的执行情况,手动地用Ctrl+C结束程序的执行。
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
char szcmd[128];//command
char szoutfile[128];
int hh = 0;
int mm = 0;
int ss = 0;
const int len = 1;//增加步长:1分钟
int res = 0;
int ms, me;
do
{
hh = mm / 60;
ms = mm-hh*60;
me= ms + len;
sprintf(szoutfile, "%d-%d-%d.mpg", hh, ms, me);
sprintf(szcmd, "ffmpeg -i D:\\media\\5min.mpg -ss %d:%d:%d -t 00:01:00 -vcodec copy -acodec copy %s", hh, ms, ss, szoutfile);
puts(szcmd);//same as printf("%s\n",s)
res = system(szcmd); //发出一个DOS命令
mm += 1;
system("pause");
} while (res == 0);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决