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

怎么盗号网站怎么做ftp媒体库 wordpress

怎么盗号网站怎么做,ftp媒体库 wordpress,宝塔面板做网站,注册公司的流程有哪些最近需要做一个关于视频拼接的内容#xff0c;需要将两个视频合成一个视频#xff0c;使用opencv的话需要将视频读上来然后再写到文件了#xff0c;这个会很消耗时间也没有必要。两个视频的编码格式是一样的#xff0c;并不需要转码操作所以想法是直接将视频流补到后面需要将两个视频合成一个视频使用opencv的话需要将视频读上来然后再写到文件了这个会很消耗时间也没有必要。两个视频的编码格式是一样的并不需要转码操作所以想法是直接将视频流补到后面这样可以直接省去加解码操作。在查找了ffmpeg资料后发现是支持这么做的但是必须要将文件一一打开然后复制到另一个文件中资料中有很多中说法concat demuxer解复用这个其实不太理解什么意思但是看说明就是利用一个txt文件将需要进行拼接的文件列在这个txt中然后一一去处理做一个流的拷贝。FFmpeg功能强大唯一不好的一点是大部分都是使用命令行的操作编程相关的内容少的可怜而且很不全面后面找了好久都没找到很完整的内容需要自己一点一点去找和试其中有几个不错的参考。一个是一本新上来的书他有随书代码可以参考“ffmpeg从零基础到短视频上线”这个里面的示例还是挺多的感觉也挺实用的。还有就是官方的github代码以及“https://github.com/0voice/ffmpeg_develop_doc”这个网址下有很多的参考资料。这几个是我能找到相对较全并且内容也比较实用的资料了剩下的基本上都是命令行之类的我用不到就先忽略。 这里主要记录一下完整的视频流拷贝代码网上想找一个比较完整的代码好难这个代码用于提供参考以及后面自己回顾。 这里就以两个文件为例进行合并并且只转换其中的视频流。 vectorstring fileList { url_origin,url_add };//这是两个文件 //获得原始输入视频文件编码等信息 const AVOutputFormat* ofmt NULL;//输出格式 AVFormatContext* ifmt_ctx NULL, * ofmt_ctx NULL;//视频数据维护对象 AVPacket* pkt NULL;//数据包int ret;//函数执行返回码 int stream_index;//数据流索引pkt av_packet_alloc();//初始化数据包结构 if (!pkt) {return; }if ((ret avformat_open_input(ifmt_ctx, url_origin, 0, 0) 0)) {goto end;//打开文件失败 }//获得输出文件名 string out_file; auto name ifmt_ctx-iformat-name;//自动识别文件的封装类型 //hevc只能使用MP4或者hevc封装才能完成转换其余封装报错因为这里进行了自动识别可以不用管具体格式 out_file.replace(out_file.find(.)1, 3, name); const char* out_filename out_file.c_str();//根据第一个文件获得其中的编码等参数这里要求两个文件的编码格式一样就是因为在写入文件时用的是相同的配置没有进行转码等操作 if ((ret avformat_find_stream_info(ifmt_ctx, 0)) 0) {goto end; }avformat_alloc_output_context2(ofmt_ctx, NULL, NULL, out_filename); if (!ofmt_ctx) {goto end; }ofmt ofmt_ctx-oformat; //查找视频流并复制视频流的参数到输出流 for (int i 0; i ifmt_ctx-nb_streams; i) {AVStream* in_stream ifmt_ctx-streams[i];AVCodecParameters* in_codecpar in_stream-codecpar;if (in_codecpar-codec_type ! AVMEDIA_TYPE_VIDEO)//非视频流跳过{continue;}AVStream* out_stream avformat_new_stream(ofmt_ctx, NULL);//创建输出流if (!out_stream){goto end;}ret avcodec_parameters_copy(out_stream-codecpar, in_codecpar);//复制解码器参数if (ret 0){goto end;}out_stream-time_base in_stream-time_base;//复制时间基stream_index i;out_stream-codecpar-codec_tag 0;break; } avformat_close_input(ifmt_ctx);//关闭文件//打开输出文件 if (!(ofmt-flags AVFMT_NOFILE)) {ret avio_open(ofmt_ctx-pb, out_filename, AVIO_FLAG_WRITE);if (ret 0){goto end;} }ret avformat_write_header(ofmt_ctx, NULL);//写入头信息如编码等内容 if (ret 0) {goto end; }int64_t i 0;//用于计算时间戳同时也是帧数 int64_t p_max_dts 0;//用于拼文件的时间戳for (int index 0; index fileList.size(); index)//遍历文件 {if ((ret avformat_open_input(ifmt_ctx, fileList[index].c_str(), 0, 0)) 0){goto end;}if ((ret avformat_find_stream_info(ifmt_ctx, 0)) 0)//查找文件流信息{goto end;}//对流直接进行转写while (1){AVStream* in_stream, * out_stream;ret av_read_frame(ifmt_ctx, pkt);if (ret 0){break;}pkt-stream_index stream_index;//视频流编号//这里做一个提示因为上述的例子只有视频没有音频所以不会越界如果存在多种流的这里需要看一下你new了几个流是否会越界in_stream ifmt_ctx-streams[stream_index];out_stream ofmt_ctx-streams[stream_index];//这里要对时间戳进行处理否则写入的时候会失败//单帧时长int64_t frameDuration av_rescale_q(1, av_inv_q(in_stream-time_base), in_stream-r_frame_rate);//将单帧的时间从输入流转化到输出流时间int64_t _t av_rescale_q(frameDuration, in_stream-time_base, out_stream-time_base);//计算时间戳并进行累计以推算后面的时间戳p_max_dts _t * (i);pkt-dts p_max_dts;pkt-pts pkt-dts;//如果音视频都需要写入可能需要这个函数av_interleaved_write_frame他会进行交叉写入//pkt现在是空的这个函数会获得pkt内容的所有权并重置因此不需要unref但是write_frame情况不同需要手动释放ret av_write_frame(ofmt_ctx, pkt);//直接将包写入输出文件不进行解码av_packet_unref(pkt);if (ret 0){break;}i;}//关闭文件avformat_close_input(ifmt_ctx); }av_write_trailer(ofmt_ctx);//写文件尾end:av_packet_free(pkt);//这里传指针因为要将pkt设为nullavformat_close_input(ifmt_ctx);//同理if (ofmt_ctx !(ofmt-flags AVFMT_NOFILE)){avio_closep(ofmt_ctx-pb);//avio打开要释放}avformat_free_context(ofmt_ctx);if (ret 0 ret ! AVERROR_EOF){return;//异常结束}这个示例可以完成视频流的复制拼接是一个比较简单的示例要求文件编码等信息必须一致不进行转码速度比较快。
http://www.hkea.cn/news/14336938/

相关文章:

  • 医院网站建设台账百度 手机网站 收录
  • 网络营销从网站建设开始网站地图制作怎么做?
  • 免费地方门户网站源码重庆网站建设公司价钱
  • c 网站开发教程南昌模板建站定制
  • 网站优化怎么做 有什么技巧织梦律师网站模版
  • 奇网企业网站管理系统seo和点击付费的区别
  • 游戏网站风控怎么做全国工商登记网
  • 网站后台如何更改信誉好的唐山网站建设
  • 大连网站建设怎么做网站设计培训学校
  • 内蒙古呼和浩特网站建设强比网站建设
  • 平台式网站模板下载地址电商如何推广产品
  • 建设企业网站有什么好处六安头条网
  • 做电商网站需要多少钱商务网站的建设有哪几个步骤
  • 遂宁建设网站wordpress+模板宽度
  • 做网站先建立模型如何申请小程序
  • 南昌网站建设品牌做蛋糕网站有哪些
  • 天津小型企业网站设计网站备案 多久
  • 一般的网站需要多大的空间建筑行业网站有哪些
  • 浙江省建设注册管理中心网站福州最好的网站建设公司
  • 什么软件能看网站?江苏已经宣布封城的城市
  • 河北廊坊建设银行网站wordpress不能搜索文章
  • wordpress 恢复初始化seo关键词排名注册价格
  • 徐州网站开发要多少钱互联网推广企业
  • 做网站的人中国五大门户网站
  • 医疗网站建设怎么样网站没快照
  • 松江新城建设集团有限公司网站photoshop手机版在线使用
  • 网站重构工程师外综服网站开发
  • 网站降权该怎么做wordpress快速工具
  • ip做网站需要过白名单吗企业建站公司哪里有
  • 网站建设 域名业务 邮箱手机版网页开发者工具