本教程展示如何使用LEADTOOLS多188宝金博怎么下载媒体SDK转换视频使用高效视频编码(HEVC)或先进的视频编码(AVC) H.265和h C编解码器在c++中使用Windows DLL的应用程序。
| 概述 | |
|---|---|
| 总结 | 本教程展示了如何使用LEADTOOLS多媒体SDK将视频使用高效视频编码或先进的视频编码(188宝金博怎么下载HEVC / H265或AVC / H264)。 |
| 完成时间 | 30分钟 |
| Visual Studio项目 | 下载教程项目(3 KB) |
| 平台 | Windows c++应用程序 |
| IDE | Visual Studio 2019 |
| 运行许可证 | 下载LEADTOOLS |
在工作之前将视频转换成HEVC / H265和AVC / H264教程中,完成添加引用和设置一个许可证教程。
在Visual Studio 2019中,选择创建一个新项目。选择Windows桌面向导模板,然后单击下一个。配置项目通过添加项目名称并选择保存到项目的位置,然后单击创建。设置应用程序类型来控制台应用程序(. exe),使预编译头文件,然后单击好吧。
打开预编译头文件pch.h后的项目并添加以下行#定义PCH_H线:
/ /添加LEADTOOLS多媒体188宝金博怎么下载头和填词# include“C: \ LEADTOOLS21 \ \ ltmm.h包括”# include“C: \ LEADTOOLS21 \ \ ltmm_Errors.h包括”/ / x86填词# pragma评论(自由,“C: \ \ LEADTOOLS21 \ \ Lib \ \ ltmm.lib”)# pragma评论(自由,“C: \ \ LEADTOOLS21 \ \ Lib \ \ ltmmuuid.lib”)/ / x64填词# pragma评论(自由,“C: \ \ LEADTOOLS21 \ \ Lib \ \ ltmmx.lib”)# pragma评论(自由,“C: \ \ LEADTOOLS21 \ \ Lib \ \ ltmmuuidx.lib”)
命名新文件添加到项目<项目名称> . h。在这个文件中,添加以下方法定义:
# include“pch.h”无效WaitForCompletion (IltmmConvert * pConvert);无效SelectCompressor (IltmmCompressors * pCompressors LPCWSTR pszCompressorName);HRESULT ConvertFile (IltmmConvert * pConvert LPCWSTR pszVideoCompressorName, LPCWSTR pszAudioCompressorName);
许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可。
有两种类型的运行时许可证:
请注意
添加LEADTOOLS引用和设置许可中会详细介绍添加引用和设置一个许可证教程。
打开<项目名称> . cpp源文件。这个文件包含了主要功能和程序执行开始和结束与这个文件。
用下面的代码替换这个文件的内容:
/ /这个文件包含的主要的功能。程序执行开始和结束在这里。# include“pch.h”# include“Convert-Video-to-HEVC-H265-H264.h”# include < iostream >#定义LEAD_H265_ENCODER L“@device:西南:{33 d9a760 - 90 - c8 - 11 - d0 bd43 - 00 - a0c911ce86} \ \ H265编码器”#定义LEAD_H264_ENCODER L“@device:西南:{33 d9a760 - 90 - c8 - 11 - d0 bd43 - 00 - a0c911ce86} \ \ H264编码器(4.0)”#定义LEAD_AAC_AUDIO_ENCODER L“@device:西南:{33 d9a761 - 90 - c8 - 11 - d0 bd43 - 00 - a0c911ce86} \ \ {e2b7dd70 - 38 - c5 - 11 - d5 - 91 - f6 - 00104 - bdb8ff9}”/ /程序的主要功能intmain (){std:: cout < <“开始转换…\ n”;/ /初始化转换控制CoInitialize(空);IltmmConvert * pConvert;HRESULT hr = CoCreateInstance (CLSID_ltmmConvert, NULL, CLSCTX_INPROC_SERVER IID_IltmmConvert (无效* *)&pConvert);如果(失败(人力资源)返回人力资源;/ /设置源文件转换型型=::SysAllocString(文本(“C: \ \ LEADTOOLS21 \ \媒体\ \ DaDa_CMP.avi”));pConvert - > put_SourceFile(型);SysFreeString(型);/ /设置输出文件的位置和名称型=::SysAllocString(文本(“C: \ \ LEADTOOLS21 \ \媒体\ \ out-h265.avi”));pConvert - > put_TargetFile(型);SysFreeString(型);/ /转换为h265ConvertFile (pConvert LEAD_H265_ENCODER LEAD_AAC_AUDIO_ENCODER);/ /设置输出文件的位置和名称不同的输出文件型=::SysAllocString(文本(“C: \ \ LEADTOOLS21 \ \媒体\ \ out-h264.avi”));pConvert - > put_TargetFile(型);SysFreeString(型);/ /转换为h264ConvertFile (pConvert LEAD_H264_ENCODER LEAD_AAC_AUDIO_ENCODER);/ /释放资源pConvert - >释放();}HRESULT ConvertFile (IltmmConvert * pConvert LPCWSTR pszVideoCompressorName, LPCWSTR pszAudioCompressorName){/ /设置目标格式为AVIpConvert - > put_TargetFormat (ltmmConvert_TargetFormat_Avi);/ /设置视频压缩IltmmCompressors * pCompressors;pConvert - > get_VideoCompressors (&pCompressors);SelectCompressor (pCompressors pszVideoCompressorName);pCompressors - >释放();/ /设置音频压缩pConvert - > get_AudioCompressors (&pCompressors);SelectCompressor (pCompressors pszAudioCompressorName);pCompressors - >释放();/ /运行转换HRESULT hr = pConvert - > StartConvert ();WaitForCompletion (pConvert);返回人力资源;}/ /方法来选择所需的压缩机基础上的名字无效SelectCompressor (IltmmCompressors * pCompressors LPCWSTR pszCompressorName){长指数;型bstrCompressorName = SysAllocString (pszCompressorName);pCompressors - >找到(bstrCompressorName、和);pCompressors - > put_Selection(指数);SysFreeString (bstrCompressorName);}/ /辅助方法等到转换完成无效WaitForCompletion (IltmmConvert * pConvert){长lState = ltmmConvert_State_Running;味精味精;pConvert - > get_State (&lState);而(lState ! = ltmmConvert_State_Stopped){如果(PeekMessage(味精,NULL, 0, 0, PM_REMOVE)){TranslateMessage(味精);DispatchMessage(味精);}pConvert - > get_State (&lState);}}
按运行项目F5,或通过选择调试- >开始调试。
如果步骤正确,输入视频将被转换成一个HEVC / H265和HEVC / H264压缩视频文件保存在输出路径。
本教程展示了如何创建一个新的c++项目使用LEADTOOLS多媒体控制转换为任何输入视频转换为一个HEVC / H。188宝金博怎么下载265或HEVC / H。264 compressed video file.