音视频
文章平均质量分 71
byxdaz
十年以上C/VC++开发经验。熟悉网络编程、数据库编程、数字图像处理与识别,熟悉软件工程和项目管理,熟悉linux C/C++开发。
展开
-
ffmpeg 命令图片和视频转换
将d:\image目录下detect前缀jpg文件合并成视频文件,r表示帧率。一张图片生成10帧视频(loop表示帧数。s表示分辨率,宽高必须为2的倍数)。2.3 多少帧分拆一张图片(原始帧率25,每12帧截取一张图片)2.2 间隔15帧采样一帧,图片名字以时间戳命名。2.1 间隔30帧采样一帧,图片名字以帧号命令。一张图片生成10秒视频(t表示时长,单位秒)4、从视频中生成 GIF 图片。5、将 GIF 转化为视频。原创 2024-08-07 13:30:31 · 299 阅读 · 0 评论 -
NVR添加rtsp流模拟GB28181视频通道
以海康NVR为例。在海康NVR网页后台,选择"配置"-->"系统"-->"通道管理"-->"自定义协议",如下图所示:1.1)首先先添加主码流,NVR录像时用主码流,如下图所示:1.2)接着添加子码流,若配置了子码流,预览时建议用子码流,可以节省解码资源,如下图所示:资源路径可以在编码器的后台可以看到(输出设置-->播放地址)原创 2023-09-16 16:38:40 · 1938 阅读 · 0 评论 -
H265视频硬解
硬解,使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等。目前的主流GPU加速平台:INTEL、AMD、NVIDIA。原创 2023-09-05 20:02:34 · 2935 阅读 · 0 评论 -
查看视频文件关键帧间隔
2、通过执行以下命令将FFprobe信息重定位到ffprobe_help.txt文件中便于查看,FFprobe使用方法为:ffprobe.exe [options] [input_file]。-g 标志设置GOP大小(如您所述), -bf 2 表示2 B-帧应插入每组P帧之间,而 sgop 严格执行GOP大小。-print_format: 信息输出格式,支持xml、csv、json、flat、ini。-select_streams: 参数可以是a、v、s分别表示只查看音频、视频、字幕。原创 2023-09-08 17:38:44 · 1974 阅读 · 0 评论 -
h265视频流rtmp推流服务器搭建
执行安装命令 make install,安装完成之后在我们的/usr/local/srs路径下将会有我们的所需要的所有文件。3.2执行 /usr/local/srs/objs/srs -c /usr/local/srs/conf/srs.conf。方法一、可以打开http://ip地址:8080 查看运行状态。./configure 或者 ./configure --prefix=/usr/local/srs。3.1删除进程记录文件。原创 2023-04-06 13:25:33 · 1656 阅读 · 0 评论 -
librtmp优化
librtmp优化原创 2023-02-16 20:40:58 · 1912 阅读 · 5 评论 -
librtmp使用方法
rtmp是常见的一种流媒体协议,它是由Adobe公司提出的一种应用层协议。rtmp传输的是flv格式的封装数据,flv中保存的一般是H.264视频流和AAC音频流。//播放流过程中服务器断开,重连处理。调用ReConnect函数或者RTMP_ReconnectStream函数。//写入流过程中服务器断开,重连处理。调用ReConnect函数或者RTMP_ReconnectStream函数。1、rtmp播放流步骤。3)是否连接服务器成功。2、rtmp发布流步骤。3)是否连接服务器成功。原创 2023-02-13 13:47:16 · 1071 阅读 · 0 评论 -
opencv 图像类型(Mat、图像字节流、Bitmap、BITMAPINFO、CxImage、AVFrame)之间的转换
一、Mat与IplimageMat<-----> Iplimage :直接赋值IplImage *iplImg = cvLoadImage("greatwave.jpg", 1);Mat mtx(iplImg); // IplImage* ->Mat 共享数据// or : Mat mtx = iplImg;cvReleaseImage(&iplImg);...原创 2019-11-17 13:27:56 · 8105 阅读 · 1 评论 -
利用GPAC生成MP4文件
GPAC主要针对学生和内容创作者,代表了一个跨平台的多媒体框架,开发人员可以使用它在 LGPL 许可下制作开源媒体。GPAC多媒体框架兼容范围广泛的流行文件类型,从常见格式(如 AVI、MPEG 和 MOV)到复杂格式(如 MPEG-4 系统或 VRML/X3D)和 360 电影。原创 2023-02-03 13:15:04 · 1055 阅读 · 3 评论 -
nvidia显卡编码并发session限制破解
nvidia 显卡编码并发 session限制 破解翻译 2023-01-17 16:04:17 · 3125 阅读 · 1 评论 -
centos7下mediainfo安装与使用
MediaInfo是一款非常实用的视频参数检测工具,除了可以对视频进行编码分析查询,还可以对音频文件的编码及信息进行检测,该款工具软件是一款免费软件。mediaInfo官方地址:https://mediaarea.net/en/MediaInfo/Download/CentOS。库地址: https://mediaarea.net/download/binary/test.xml文件内容。原创 2022-09-28 09:51:00 · 825 阅读 · 0 评论 -
用Darwin Streaming Server搭建rtsp流媒体服务器
通过vlc搭建rtsp流媒体服务器,vlc支持RTSP over TCP的方式,数据流传输时只支持RTP over UDP。而DarwinStreamingServer服务器能自适应客户端发起的数据传输请求是用TCP方式,还是用UDP方式,如果是UDP方式,交互命令是RTSP over TCP,数据传输是RTP over UDP,如果是TCP方式,交互命令是RTSP over TCP,数据传输是RTP over TCP。一、DarwinStreamingServer介绍与安装1、D...原创 2020-08-16 13:18:59 · 1292 阅读 · 0 评论 -
用vlc搭建rtsp流媒体服务器
在做视频传输客户端开发的时候,经常需要用到流媒体服务,VLC有着非常强大的流媒体处理能力,同时它也可以搭建流媒体服务器。VLC是一种开源的播放器,同时也可以用作流媒体服务器。vlc搭建rtsp流媒体服务器步骤:1、打开vlc,选择流媒体-流2、选择文件选项卡,添加一个视频文件,基本vlc可以播放的都能添加。3、选择流输出参数。这里要选择rtsp,然后点击添加按钮。端口需要主要不能冲突,一般默认的8554即可,路径根据需要设置...原创 2020-08-15 16:20:28 · 3283 阅读 · 0 评论 -
FFMPEG 视频分割和合并
FFMPEG 视频分割和合并一、分割ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec copy output.mp4 -ss 指定从什么时间开始 -t 指定需要截取多长时间 -i 指定输入文件 这个命令就是从00秒开始裁剪到00+30=30秒结束,总共30秒的视频。这个命令执行很快,因为只是原始数据的拷贝,中间没有什么编码和解码的过程。执行这个命令后你能得到output.mp4这个...原创 2020-07-01 22:46:02 · 2420 阅读 · 0 评论 -
音频基础知识
一、概念从信息论的观点来看,描述信源的数据是信息和数据冗余之和,即:数据=信息+数据冗余。音频信号在时域和频域上具有相关性,也即存在数据冗余。将音频作为一个信源,音频编码的实质是减少音频中的冗余。根据编码方式的不同,音频编码技术分为三种:波形编码、参数编码和混合编码。一般来说,波形编码的话音质量高,但编码速率也很高;参数编码的编码速率很低,产生的合成语音的音质不高;混合编码使用参数编码技术和波形编...原创 2018-06-15 13:02:15 · 9573 阅读 · 0 评论 -
ffmpeg x264编码参数
ffmpeg x264编码参数对照表x264 ffmpeg 说明 命令行 字段 命令行 字段 qp qp_constant cqp cqp 固定量化因子。取值范围0到51。 经常取值在20-40之间,越小质量 越好,要求的码率越高。0表示无损压缩 max-keyint i_keyint_max g gop_size 关键帧的最大...原创 2018-06-12 12:32:45 · 6972 阅读 · 0 评论 -
使用ffmpeg编码和解码aac音频
一、aac音频编码实例#include <stdio.h>#define __STDC_CONSTANT_MACROS#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"};#else//Linux...#ifdef _...原创 2018-06-16 15:07:21 · 9537 阅读 · 5 评论 -
ffmpeg音频小结
一、ffmpeg解码音频流程1.注册所有组件av_register_all();2.拿到封装格式上下文AVFormatContext *avFormatContext = avformat_alloc_context();3.打开文件avformat_open_input4.查找音频流信息avformat_find_stream_info(avFormatContext, NULL)//音频解码,...原创 2018-06-16 15:54:33 · 4813 阅读 · 0 评论 -
ffmpeg视频小结
FFMPEG视频解码流程 1. 注册所有容器格式和CODEC: av_register_all() 2. 打开文件:av_open_input_file() 3. 从文件中提取流信息:av_find_stream_info() 4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO 5. 查找对应的解码器:avcodec_find_decoder() 6. 打开编解码器:a...原创 2018-06-17 20:33:12 · 2481 阅读 · 0 评论 -
视频基础知识汇总
一、视频采集视频采集把模拟视频转换成数字视频,并按数字视频文件的格式保存下来。所谓视频采集就是将模拟摄像机、录像机、LD视盘机、电视机输出的视频信号,通过专用的模拟、数字转换设备,转换为二进制数字信息的过程。在视频采集工作中,视频采集卡是主要设备,它分为专业和家用两个级别。专业级视频采集卡不仅可以进行视频采集,并且还可以实现硬件级的视频压缩和视频编辑。家用级的视频采集卡只能做到视频采集和初步的硬件...原创 2018-06-10 12:38:48 · 13161 阅读 · 0 评论 -
FFmpeg filter
一、FFmpeg filter简介FFmpeg中的libavfilter提供了一整套的基于filter的机制。filter本身是一个插件的形式,可以快速的组装需要的效果。比如下面的filter,可以实现视频的水平镜像效果。ffplay.exe sample.rmvb -vf hflipFFmpeg定义的libavcodec接口已经成为在编解码领域的事实上的行业标准。但音视频filter并没有类似的...原创 2018-06-10 17:08:44 · 3963 阅读 · 1 评论 -
音视频播放
c++实现waveOutOpen音频播放功能https://blog.csdn.net/xbk123123/article/details/53787287c++实现waveinopen录音功能https://blog.csdn.net/xbk123123/article/details/53611283DirectSound播放PCMhttps://blog.csdn.net/leixiaohu...转载 2018-06-30 23:29:36 · 590 阅读 · 0 评论 -
avilib操作avi文件
一、avilib介绍avilib是一个使用c语言编写的库,可以很方便的对avi文件提取帧和生成avi视频文件。如下列出avilib库的代码。/* * avilib.h * * Copyright (C) Thomas streich - June 2001 * multiple audio track support Copyright (C) 2002 Thomas str...原创 2018-10-19 15:58:41 · 5090 阅读 · 0 评论 -
G726编解码类
//G726EnDecoder.h//G726编解码类(海思G726编解码类)#if !defined(G726_EnDecoder_h)#define G726_EnDecoder_h#pragma once#include <windows.h>#include <stdio.h>#include <mmreg.h>#include...原创 2018-12-07 17:07:01 · 2744 阅读 · 0 评论 -
asf文件转成mp4
//asfToMp4.h#pragma once#include <windows.h>#include "Audio/AudioFrameBuffer.h"#include "AsfFile.h" #include "audio/G726EnDecoder.h"#include "mp4v2/mp4v2.h"#include "libfaac/inc...原创 2018-12-07 17:04:20 · 3629 阅读 · 1 评论 -
FFmpeg新版本(2016年10月份以后) 支持硬件解码
转载链接:http://www.cnblogs.com/wainiwann/p/6972984.htmlFFmpeg provides a subsystem for hardware acceleration.Hardware acceleration allows to use specific devices (usually graphical card or other spec...转载 2019-05-26 19:54:10 · 1579 阅读 · 0 评论 -
VFW实现视频捕捉
一、Vedio for Windows 简介Vedio for Windows 是WIN32 SDK 中多媒体编程SDK 的视频开发工具。在微软的Visual C ++中提供了Vedio for Windows 的头文件vfw.h 和库文件vfw32.lib。表1 列出了VFW 中视频捕捉编程常用的一些VFW 函数和宏。二、用VC ++6.0 实现视频捕捉的编程实例 下面结合实例,说明对视频捕捉转载 2009-07-16 10:32:00 · 8497 阅读 · 2 评论 -
ffmpeg视频编解码实例
视频解码// ffmpegdemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#define __STDC_CONSTANT_MACROS#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include ...原创 2018-06-12 12:29:48 · 12171 阅读 · 2 评论 -
FFMPEG视音频编解码零基础学习方法
转自雷神:http://blog.csdn.net/leixiaohua1020/article/details/15811977在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着...转载 2018-06-11 12:43:30 · 721 阅读 · 0 评论 -
faad2解码aac到pcm
//解码AAC音频为PCM数据#pragma once#include "libfaad2/include/faad.h"//aac数据状态typedef enum AccDataStatus{ AccDataStatus_NotKnown = 0x00, //未知 AccDataStatus_InValid = 0x01, //非法 AccDataStat原创 2017-01-03 16:51:26 · 8340 阅读 · 3 评论 -
ffmpeg开发指南
FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。 一、ff原创 2012-03-03 23:38:26 · 33989 阅读 · 6 评论 -
ffmpeg快速命令使用
ffmpeg使用语法ffmpeg [[options][`-i' input_file]]... {[options] output_file}...如果没有输入文件,那么视音频捕捉(只在Linux下有效,因为Linux下把音视频设备当作文件句柄来处理)就会起作用。作为通用的规则,选项一 般用于下一个特定的文件。如果你给 –b 64选项,改选会设置下一个视频速率。对于原始输入文件,转载 2014-05-18 13:14:50 · 2721 阅读 · 0 评论 -
ffmpeg选项详解
通用选项-L license -h 帮助 -fromats 显示可用的格式,编解码的,协议的 -f fmt 强迫采用格式fmt -I filename 输入文件 -y 覆盖输出文件 -t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持 -ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持 -转载 2014-05-18 13:10:16 · 2546 阅读 · 0 评论 -
使用waveOut接口在Windows中播放声音
Windows waveOut教程 本教程将帮助您了解如何使用Windows waveOut接口播放数字音频。根据经验,这些接口函数掌握起来有些困难。在本教程中,我们将会建立一个Windows命令行程序来原始数字音频。注意:本教程假设您熟悉C程序及Windows API的使用。理解数字音频的相关知识也是有益的,但不是必须的。 教程内容: ·转载 2012-03-04 00:01:08 · 13962 阅读 · 0 评论 -
VFW开发视频应用程序
当前,在Windows 平台下开发视频应用程序一般采用两种方式:一种是基于视频采集卡所附带的二次软件开发包SDK(Software development kit)进行。这种方式的优点是应用方便,容易上手,缺点是对硬件的依赖性较强,灵活性差,且功能参差不齐,不能充分满足各种视频应用程序的开发需要; 另一种方式是基于VFW(Video for Windows)进行的。VFW 是Microsoft公司转载 2009-07-16 10:29:00 · 3621 阅读 · 0 评论 -
windows刻录编程
一,使用 Windows XP 内置的刻录功能参考 http://msdn.microsoft.com/msdnmag/issues/04/04/CQA/1,简单文件刻录 使用 Shell 的 ICDBurn 接口,其中方法: HasRecordableDrive 扫描系统,如果发现可写的CD驱动器则返回TRUE。 GetRecorderDriveLette转载 2012-01-31 09:41:53 · 6407 阅读 · 1 评论 -
VFW 介绍
一种实现视频捕捉的简单方法沈旭(湛江师范学院 信息科学与技术学院,广东 湛江 524048) 摘 要 当前,随着视频监控、可视电话、电视会议等多媒体应用技术的迅速发展,对数字视频捕获技术的要求越来越高。实现视频捕获的方法有很多,本文主要介绍了微软公司VFW(Video for Windows)软件包中的AVICap窗口类的成员函数和一些关键宏,以及与编写视频捕捉程序紧密相关的几个结构转载 2009-07-16 10:48:00 · 5023 阅读 · 0 评论 -
音频视频解决方案:GStreamer-ffmpeg-ffdshow-directshow-vfw
linux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向。一、GStreamerGStreamer is a library that allows the construction of graphs of media-handlingcomponents, ranging from simple Ogg/Vorbis playback to complex a转载 2012-03-03 23:23:35 · 6156 阅读 · 0 评论 -
MCI编程--VC++6.0下MIDI、WAV及CD的播放
使用MCI API,源文件中需要包含头文件 Mmsystem.h,在Project->Settings->Link->Object/libraymodule中加入库 Winmm.lib。 1、MCI简介 MCI(MediaControl Interface,媒体控制接口)向Windows程序提供了在高层次上控制媒体设备接口的能力。程序不必关心具体设备,就可以对激光唱机(CD)、视盘机、波形音频原创 2005-12-20 11:33:00 · 4528 阅读 · 0 评论 -
各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所转载 2012-03-03 23:51:42 · 31071 阅读 · 1 评论