自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tong5956的专栏

厚德载物,博学敦行

  • 博客(24)
  • 资源 (6)
  • 收藏
  • 关注

原创 ffmpeg拼接两张RGB和YUV图像数据

#define FRAMEWITH 640#define FRAMEHEIGTH 360#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswscale/swscale.h"#include <stdio.h>#include <stdlib.h>...

2018-08-26 15:50:33 847

原创 Android多媒体入门-如何绘制一张图

开始认真学一下Android多媒体开发,拓宽多媒体的技术面,绘制一张图在Android中有三种方法:SurfaceView、ImageView、自定义View。1、使用SurfaceView画一张图:package com.example.tongjiangsong.surfaceviewdemo;import android.content.Context;import andr...

2018-08-17 16:49:10 369

原创 windows下使用CoreAudio采集音频

最近看obs的音频采集,发现它在采集音频时用到了两个方法:默认音频设备时采用CoreAudio、指定音频设备时采用DirectShow对windows下的CoreAudio技术不是太熟,于是就认真学了一下。参考微软官方文档:https://docs.microsoft.com/zh-cn/windows/desktop/CoreAudio/capturing-a-stream//--...

2018-08-17 15:07:57 6416 4

原创 顶尖程序员

今天看了陶老师的极客帮直播,他说了顶尖程序员技术类书都要看英文。如果要在公司出头,必须得在公司内部进行创业孵化才行,多跟领导交流,在新兴领域做技术创新才有成功的机会推荐了技术人员创业前需要做的准备:多看书,向行业内的牛人请教项目有可能会遇到的问题和会有哪些坑推荐的书:《创新者的窘境》、《从0到1》、《疯传》、《跨域鸿沟》技术更新并不快,很多基础性都东西都没有怎么变化,真正快的是前端...

2018-08-17 09:47:08 432

原创 一款基于ffplay的视频播放器

可以运行在vs2015/vs2017上,根据需要(vs2015/vs2017)调整属性=》常规中的平台参数集。 github地址: git@github.com:tong123/ffplay-demo.git

2018-08-16 10:16:36 4491 1

原创 obs-qsv11硬编h264源码解析(二)

/*This file is provided under a dual BSD/GPLv2 license. When using orredistributing this file, you may do so under either license.GPL LICENSE SUMMARYCopyright(c) Oct. 2015 Intel Corporation....

2018-08-14 17:54:11 2114

原创 obs-qsv11硬编h264源码解析(一)

这几天在研究intel media sdk的硬编功能,在obs里面正好有这个模块,这里将硬编原理进行研究一下,硬编内容主要在这两个文件种,QSV_Encoder.cpp和QSV_Encoder_Internal.cpp 先研究QSV_Encoder.cpp文件 1、获取编码器版本号mfxIMPL impl = MFX_IMPL_HARDWARE_ANY;mfxV...

2018-08-14 17:32:53 2520

原创 播放器系列之ffplay源码分析(九)

1、清理参考帧static void frame_queue_unref_item(Frame *vp){ av_frame_unref(vp->frame); avsubtitle_free(&vp->sub);}2、帧队列初始化static int frame_queue_init(FrameQueue *f, PacketQ

2018-08-10 09:49:41 610 2

原创 播放器系列之ffplay源码分析(八)

包队列的使用: 1、将包放入队列的详细过程static int packet_queue_put_private(PacketQueue *q, AVPacket *pkt){ MyAVPacketList *pkt1; if (q->abort_request) return -1; pkt1 = av_malloc(sizeof(My...

2018-08-10 09:13:59 722 1

原创 播放器系列之ffplay源码分析(七)

1、解码结构体初始化static void decoder_init(Decoder *d, AVCodecContext *avctx, PacketQueue *queue, SDL_cond *empty_queue_cond) { memset(d, 0, sizeof(Decoder)); d->avctx = avctx; d->queue = ...

2018-08-09 17:59:56 546

原创 播放器系列之ffplay源码分析(六)

1、ffplay包含的头文件#include "config.h"#include <inttypes.h>#include <math.h>#include <limits.h>#include <signal.h>#include <stdint.h&am

2018-08-09 17:26:14 400

原创 播放器系列之ffplay源码分析(五)

1、配置filtergraphstatic int configure_filtergraph(AVFilterGraph *graph, const char *filtergraph, AVFilterContext *source_ctx, AVFilterContext *sink_ctx){ int ret,...

2018-08-09 16:52:33 443

原创 播放器系列之ffplay源码分析(四)

1、开始解码的线程static int decoder_start(Decoder *d, int (*fn)(void *), void *arg){ packet_queue_start(d->queue); d->decoder_tid = SDL_CreateThread(fn, "decoder", arg); if (!d->decode...

2018-08-09 14:39:24 422

原创 播放器系列之ffplay源码分析(三)

这里开始调用解码线程audio_thread()、video_thread()、subtitle_thread()/* open a given stream. Return 0 if OK */static int stream_component_open(VideoState *is, int stream_index){ AVFormatContext *ic = is-&...

2018-08-08 18:10:17 638

原创 播放器系列之ffplay源码分析(二)

下面开始了打开媒体流的操作 1、read_thread()里打开video、audio、subtitle流/* this thread gets the stream from the disk or the network */static int read_thread(void *arg){ VideoState *is = arg; AVFormatContext...

2018-08-08 17:47:08 1156 1

原创 播放器系列之ffplay源码分析(一)

最近在分析ffmpeg4.0中的播放器源码ffplay.c,这里将一些心得体会记录下来。 ffplay是一个独立文件,下面是入口函数:int main(int argc, char **argv){ int flags; VideoState *is; init_dynload(); av_log_set_flags(AV_LOG_SKIP_REPEAT...

2018-08-08 17:29:53 4032 6

原创 OBS-rtmp源码剖析之rtmp发送音频和视频数据(七)

这里主要讲解了音频、视频包的发送,包括函数init_send()、send_thread() 1、初始化发送static int init_send(struct rtmp_stream *stream){ int ret; size_t idx = 0; bool next = true;#if defined(_WIN32) adjust_sndbu...

2018-08-08 10:09:47 992

原创 OBS-rtmp源码剖析之rtmp发送元数据和音视频包头(六)

这里主要讲解rtmp_stream是怎样调用rtmp.c中的函数进行发送元数据、音频包头和视频包头。包括函数send_meta_data()、send_audio_header()、send_video_header()、send_headers()static bool send_meta_data(struct rtmp_stream *stream, size_t idx, bool *...

2018-08-08 09:57:23 754

原创 OBS-rtmp源码剖析之rtmp网络数据流读写操作(五)

1、RTMP读取函数static const char flvHeader[] = { 'F', 'L', 'V', 0x01, 0x00, /* 0x04 == audio, 0x01 == video */ 0x00, 0x00, ...

2018-08-07 15:52:22 555

原创 OBS-rtmp源码剖析之rtmp网络数据流读写操作(四)

1、读取rtmp数据包static intReadN(RTMP *r, char *buffer, int n){ int nOriginalSize = n; int avail; char *ptr; r->m_sb.sb_timedout = FALSE;#ifdef _DEBUG memset(buffer, 0, n);#en...

2018-08-07 14:25:19 639 1

原创 OBS-rtmp源码剖析之rtmp客户端通信介绍(三)

这里主要接着上一篇继续网络连接部分的讲解。 1、socket协议协商static intSocksNegotiate(RTMP *r){ unsigned long addr; struct sockaddr_storage service; socklen_t addrlen = 0; int socket_error = 0; memset(&...

2018-08-07 13:59:04 620

原创 OBS-rtmp源码剖析之rtmp客户端通信介绍(二)

rtmp的网络 1、rtmp结构体设置RTMP_LNK#define DEF_VERSTR OSS " 10,0,32,18"static const char DEFAULT_FLASH_VER[] = DEF_VERSTR;const AVal RTMP_DefaultFlashVer ={ (char *)DEFAULT_FLASH_VER, sizeof(DEFAULT_FL...

2018-08-07 13:43:04 1086

原创 OBS-rtmp源码剖析之rtmp常用结构体介绍(一)

最近在看obs-studio的源码,这里将源码学习的东西记录下来,方便查看和系统结构化。 rtmp.c文件位于obs-studio工程中obs-outputs中: 1、rtmp.h中常用结构体如下 typedef struct RTMPChunk { int c_headerSize; int c_chunkSize; char...

2018-08-07 10:44:50 1204

原创 Android中使用ffmpeg库进行音视频开发

github地址:https://github.com/tong123/android_ffmpeg_demo 下载后即可运行在手机上,运行如下:

2018-08-06 17:33:40 913 1

intel_media_sdk_2018_r2

最新intel media sdk 2018 R2,包含hevc,超高清编码。

2018-11-06

android-ndk-r10e-linux-x86_64

Android的ndk包,版本android-ndk-r10e-linux-x86_64,运行下64位操作系统下

2018-09-20

人工智能标准化白皮书

人工智能白皮书,介绍前沿内容和当前国内人工智能发展现状,和待解决的问题。

2018-01-30

深度学习经典资源下载

深度学习书籍下载,入门的经典书籍,可以下载学习的。

2018-01-30

libiconv的下载

libiconv用于做字符转码方面的事情,下载后对其直接使用即可

2018-01-30

ucrtbased下载

ucrtbased用于vs2015在运行下会出现少库的情况,把该库下载放在系统的sysWOW64目录下

2018-01-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除