当前位置: 首页 > news >正文

html的制作网站的优点兼职网站

html的制作网站的优点,兼职网站,建管家企业网站,网站建设教程最新资讯背景 最近整理视频编解码的代码#xff0c;早前在jetson上封装了jetson multimedia作为视频编解码的类#xff0c;供其他同事和其他组使用#xff0c;但该解码接口有一个问题#xff0c;无法首先获取视频宽高信息#xff0c;更无法直接获取视频的帧率、比特率等信息。 解…背景 最近整理视频编解码的代码早前在jetson上封装了jetson multimedia作为视频编解码的类供其他同事和其他组使用但该解码接口有一个问题无法首先获取视频宽高信息更无法直接获取视频的帧率、比特率等信息。 解决方法 使用ffmpeg库命令行参数不适合代码集成使用ffmpeg的API接口进行封装 源码实现 // ffmpeg_videoinfo.h#ifndef FFMPEG_VIDEOINFO_H #define FFMPEG_VIDEOINFO_H#include iostream #include memorystruct VideoAsset {float width; float height;float fps;float bitrate; /** bit per second */float duration; /** seconds */ };#ifdef __cplusplus extern C { #endif /* __cplusplus */int GetVideoInfo(const char *in_file, std::shared_ptrVideoAsset info);#ifdef __cplusplus }; #endif#endif // FFMPEG_VIDEOINFO_H// ffmpeg_videoinfo.cpp#include ffmpeg_videoinfo.h#ifdef __cplusplus extern C { #endif /* __cplusplus */#include libavformat/avformat.h #include libavcodec/avcodec.h #include libavutil/avutil.hint GetVideoInfo(const char *in_file, std::shared_ptrVideoAsset info){// 注册所有格式和编解码器av_register_all();// 创建一个格式上下文Format ContextAVFormatContext* formatContext nullptr;if (avformat_open_input(formatContext, in_file, nullptr, nullptr) ! 0) {fprintf(stderr, Could not open input file %s, in_file);return -1;}// 获取流信息if (avformat_find_stream_info(formatContext, nullptr) 0) {fprintf(stderr, Could not find stream information %s, in_file);return -1;}// 查找视频流int videoStreamIndex -1;for (unsigned i 0; i formatContext-nb_streams; i) {if (formatContext-streams[i]-codecpar-codec_type AVMEDIA_TYPE_VIDEO) {videoStreamIndex i;break;}}if (videoStreamIndex -1) {fprintf(stderr, Could not find video stream %s, in_file);return -1;}// 获取视频流的编码参数AVCodecParameters* codecParameters formatContext-streams[videoStreamIndex]-codecpar;AVStream* videoStream formatContext-streams[videoStreamIndex];info-fps av_q2d(videoStream-avg_frame_rate);info-width codecParameters-width;info-height codecParameters-height;int64_t totalSize 0;int64_t totalDuration 0;AVPacket packet;while (av_read_frame(formatContext, packet) 0) {if (packet.stream_index 0) {totalSize packet.size;totalDuration packet.duration;}av_packet_unref(packet);}AVRational timeBase videoStream-time_base; /** 时间基 */info-duration (float)totalDuration * av_q2d(timeBase);info-bitrate (totalDuration 0) ? (totalSize * 8.0 / info-duration) : 0.0;// 清理avformat_close_input(formatContext);return 0; } #ifdef __cplusplus }; #endif// 测试脚本 test_single_videoinfo.cpp#include ffmpeg_videoinfo.hint main(int argc, char **argv) {if(argc2){return 1;}const std::string input_h264argv[1];std::shared_ptrVideoAsset video_info_ptr std::make_sharedVideoAsset();// VideoAsset video_info;int status_code GetVideoInfo(input_h264.c_str(), video_info_ptr);if (status_code 0) {printf(GetVideoInfo failed\n);return -1;}printf(bitrate:%f, duration:%f, fps:%f, height:%f, width:%f\n,video_info_ptr-bitrate, video_info_ptr-duration, video_info_ptr-fps, video_info_ptr-height, video_info_ptr-width);return 1; } # CMakelist.txt核心add_executable(test_video_info test_single_videoinfo.cpp ffmpeg_videoinfo.h ffmpeg_videoinfo.cpp) target_compile_features(test_video_info PRIVATE cxx_std_14) target_link_libraries(test_video_info avcodec avutil avformat) # 测试./test_video_info /data/videos/l4t.h264# 输出信息示例 [h264 0xaaaac14b16a0] Stream #0: not enough frames to estimate rate; consider increasing probesize bitrate:30681866.000000, duration:164.490005, fps:20.000000, height:2160.000000, width:3840.000000 后记 本人对ffmpeg接口并不熟悉以上根据文档及搜索结果进行的实现不敢保证没有bug如果各位遇到问题可以留言交流
http://www.dnsts.com.cn/news/46525.html

相关文章:

  • 可以建微信网站的wordpress顶部导航栏再哪里创建
  • 做的好的营销型网站有哪些网站为什么突然访问不了
  • 电子商务网站建设包括哪些内容广告平面设计基础知识
  • 做国际黄金的网站阿里巴巴网站怎么做
  • 做宣传册模板的网站图书宣传推广方案
  • 什么网站动物和人做的吗wordpress 仿新浪微博
  • 网站建设方案书 备案怎样建立个人网络平台
  • 中天建设集团有限公司总网站wordpress移动导航
  • 莱州市规划建设管理局网站网络营销活动推广方式
  • 可以做流程图的网站网站建设实践
  • 重庆制作网站开发app开发公司软件项目管理名词解释
  • <网站建设与运营》搜易网提供的技术服务
  • 番禺网站 建设信科网络wordpress腾讯云插件下载失败
  • 苏州网站建设及推广网站图标 代码
  • 网站邮箱代码青岛开发区做网站设计的
  • 医院网站html模板青岛网站建设多少钱
  • 在线网站设计网站建设公司信息
  • 网站不收录的原因网站建设傲
  • 备案网站名平面设计接单价格
  • 环保网站建设多少钱网站建设 定制
  • 赶集网天津网站建设陕西省建设银行分行互联网互联网站
  • 手机网站和微信网站有哪些南昌网站维护
  • 昊杰南宫网站建设网络教学平台北师珠
  • 响应式网站改为自适应优度公司做的网站
  • 深圳做网站排名价格高性能网站建设进阶...
  • 百度网站推广费用多少钱成都网站建设易维达好
  • 管理外贸网站模板下载用软件做的网站权限
  • 海南微信网站制作平台手机号码网站开发
  • 网站建设顾问山东东营市有几个区县
  • 物流建设网站苏州网站制作价格