利用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結束程序的執行。

/*
 * @brief  test001 use ffmpeg.exe directly
 * @author ray
 * @date 2013.3.27

 */ 

#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;

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM