CString strFindFile;
strFindFile.Format(_T("%s\\*.mp4"), input);
CFileFind finder;
BOOL bWorking = finder.FindFile(strFindFile);
if (bWorking)
{
bWorking = finder.FindNextFile();
CString strFile = finder.GetFilePath();
CString strName=finder.GetFileName();
CString strTitle=finder.GetFileTitle();
CFileStatus status;
CFile::GetStatus(strFile, status);
DWORD dwAttr = GetFileAttributes(strFile);//获取文件的属性
if (dwAttr == 33){
CString cmd=L"";
cmd.Format(L"%s -i %s",L"D:\\ffmpeg\\bin\\ffmpeg",strFile); // inputCmd为输入的cmd命令
CString pattInfo=CoverProccessMp4(cmd);
CString result=PattInfo(pattInfo);
if(result=="")
{
continue;
}
cmd=L"";
CString rq=L"";
rq.Format(L"'%04d年%02d月%02d日 '",status.m_ctime.GetYear(),status.m_ctime.GetMonth(),status.m_ctime.GetDay());
CString sj=L"";
sj.Format(L"'%02d\\:%02d\\:%02d\\:%02d'",status.m_ctime.GetHour(),status.m_ctime.GetMinute(),status.m_ctime.GetSecond(),0);
cmd.Format(L"%s -i %s -vf \"drawtext=fontfile=%s: text=%s : timecode=%s: r=30:x=20:y=20:fontcolor=red:fontsize=24: box=1: boxcolor=0x000000ff@0\" -b %sk -metadata title=\"%s\" -vcodec libx264 -acodec copy -y %s\\%s",L"D:\\ffmpeg\\bin\\ffmpeg",strFile,L"simsun.ttc",rq,sj,result,strTitle,outPath,strName);
CString cout=CoverProccessMp4(cmd);
SetFileAttributes(strFile,32);
CFile file;
file.Remove(strFile);
}
}
finder.Close ();
部分函数见:c++通过调用FFMPEG获取视频码率
注意:本文归作者所有,未经作者允许,不得转载