转换视频HEVC / H265和AVC / H264 - Windows c++

本教程演示如何使用LEADTOOLS多188宝金博怎么下载媒体SDK使用高效视频编码(HEVC)或高级视频编码(AVC)与H.265和H.264编解码器在c++中使用Windows C DLL应用程序转换视频。

概述
总结 本教程展示如何使用LEADTOOLS多媒体SDK使用高效视频编码或高级视频编码(HEVC 188宝金博怎么下载/ H265或AVC / H264)转换视频。
完成时间 30分钟
Visual Studio项目 下载教程项目(3kb)
平台 Windows c++应用程序
IDE Visual Studio 2019
运行许可证 下载LEADTOOLS

所需的知识

在开始之前转换视频HEVC / H265和AVC / H264教程,完成添加引用和设置License教程。

创建项目并添加多媒体头文件和LIB文件188宝金博怎么下载

在Visual Studio 2019中,选择创建一个新项目.选择Windows桌面向导模板,然后单击下一个.通过添加项目名称和选择项目要保存到的位置来配置项目,然后单击创建.设置应用程序类型控制台应用程序(.exe),使预编译头文件,然后按好吧

打开预编译的头文件pch.h,并在。之后添加以下行#定义PCH_H线:

//添加LEADTOOLS多媒体标188宝金博怎么下载头和库# include“C: \ LEADTOOLS22 \ \ ltmm.h包括”# include“C: \ LEADTOOLS22 \ \ ltmm_Errors.h包括”/ / x64填词#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ ltmmx.lib”#pragma comment (lib,“C: \ \ LEADTOOLS22 \ \ Lib \ \ CDLL \ \ x64 \ \ ltmmuuidx.lib”

添加项目头文件

将一个新文件添加到名为<项目名称> . h.在这个文件中,添加以下方法定义:

# include“pch.h”无效WaitForCompletion (IltmmConvert * pConvert);无效SelectCompressor(IltmmCompressors* pcompressorname, LPCWSTR pszCompressorName);(LPCWSTR pszVideoCompressorName, LPCWSTR pszAudioCompressorName);

设置License文件

许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License

有两种类型的运行时许可证:

请注意

中更详细地介绍了添加LEADTOOLS引用和设置许可添加引用和设置License教程。

添加代码转换文件

打开<项目名称> . cpp源文件。此文件包含主要函数和程序的执行从这个文件开始并结束。

用下面的代码替换这个文件的内容:

//这个文件包含'main'函数。程序执行从这里开始和结束。# include“pch.h”# include“Convert-Video-to-HEVC-H265-H264.h”# include < iostream >#定义编码器"@device:sw:{33D9A760-90C8-11D0-BD43-00A0C911CE86}\\LEAD H265编码器"#定义编码器"@device:sw:{33d9a740 - 90c8 - 11d0 - bd43 - 00a0c911ce86}\\LEAD H264编码器(4.0)"#定义audio_encoder“@device:西南:{33 d9a761 - 90 - c8 - 11 - d0 bd43 - 00 - a0c911ce86} \ \ {e2b7dd70 - 38 - c5 - 11 - d5 - 91 - f6 - 00104 - bdb8ff9}”//程序的主要功能intmain ()常量l_char * pszLicenseFile = L_TEXT(“C: \ \ \ \ LEADTOOLS22 \ \支持常见的\ \ \ \许可证LEADTOOLS.lic”);常量L_TCHAR* pszDeveloperKey = L_TEXT(“将开发人员键放在这里”);L_SetLicenseFile ((L_TCHAR *) pszLicenseFile (L_TCHAR *) pszDeveloperKey);L_BOOL LicenseFailed = L_IsSupportLocked(L_SUPPORT_BASIC);如果(LicenseFailed)std:: cout < <"许可证文件无效或过期..流产\ n”返回1;std:: cout < <“开始转换…\ n”//初始化转换控件CoInitialize(空);IltmmConvert * pConvert;HRESULT hr = CoCreateInstance(CLSID_ltmmConvert, NULL, CLSCTX_INPROC_SERVER, IID_IltmmConvert, (无效* *) &pConvert);如果(失败(人力资源)返回人力资源;//设置要转换的源文件BSTR BSTR =::SysAllocString(TEXT(“C: \ \ LEADTOOLS22 \ \资源\ \媒体\ \ DaDa_CMP.avi”));pConvert - > put_SourceFile(型);SysFreeString(型);//设置输出文件的位置和名称bstr =::SysAllocString(TEXT(“C: \ \ LEADTOOLS22 \ \资源\ \媒体\ \ out-h265.avi”));pConvert - > put_TargetFile(型);SysFreeString(型);//转换为h265ConvertFile(pConvert, LEAD_H265_ENCODER, LEAD_AAC_AUDIO_ENCODER);//将输出文件的位置和名称设置为不同的输出文件bstr =::SysAllocString(TEXT(“C: \ \ LEADTOOLS22 \ \资源\ \媒体\ \ out-h264.avi”));pConvert - > put_TargetFile(型);SysFreeString(型);//转换为h264ConvertFile(pConvert, LEAD_H264_ENCODER, LEAD_AAC_AUDIO_ENCODER);//释放资源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);返回人力资源;//根据名称选择所需压缩机的方法无效选择压缩机(IltmmCompressors* pcompressorname, LPCWSTR pszCompressorName)指数;BSTR bstrCompressorName = SysAllocString(pszCompressorName);pCompressors - >找到(bstrCompressorName、和);pCompressors - > put_Selection(指数);SysFreeString (bstrCompressorName);//Helper方法等待转换完成无效WaitForCompletion (IltmmConvert * pConvert)lState = ltmmConvert_State_Running;味精味精;pConvert - > get_State (&lState);(lState != ltmmConvert_State_Stopped)如果(PeekMessage(&msg, 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.

另请参阅

net
iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2022领德科技有限公司版权所有。