- 博客(27)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 ffmpeg vs2017的一种编译方式
ffmpeg Windows vs2017编译,下载yasm,安装msys2,编译x264,编译zlib,编译fdk-aac
2022-03-04 14:55:53 3669 2
原创 ffmpeg源码精读2,视频解码
ffmpeg视频解码例子:https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/doc/examples/decode_video.c从main函数入手,核心接口:avcodec_find_decoder、av_parser_init、avcodec_alloc_context3、avcodec_open2、av_parser_parse2、avcodec_send_packet、avcodec_receive_frame程序流程:查找解码器初始化
2022-02-09 16:45:46 1185
原创 ffmpeg源码精读1,音视频处理概述
一个视频包含封装+视频+音频。简单来说,要处理一个视频分两步。第一步是解封装(demux)这一步能获取视频信息,如:编码器、帧率、pts起始值、时长、帧数、像素格式、音频采样格式、码率、宽高、色彩空间、色域、通道、采样率……获取到了这些视频信息后,就能依据这些信息对视频数据包进行对应的解码操作。第二步逐帧解码(decode)通过循环读取视频数据包,根据编码器类型进行解码,会得到图像采样数据(YUV)或音频采样数据(PCM),后续再进行渲染或其他处理(如添加数据、保存等)...
2022-01-25 13:46:29 2352
原创 ffmpeg example decode_video 升级方案
以 MPEG-1 为例的视频解码例子,不含封装,只解析裸流流程:视频数据包初始化,av_packet_alloc查找 MPEG-1 解码器, avcodec_find_decoder数据解析器初始化,av_parser_init解码结构初始化,avcodec_alloc_context3打开解码器,avcodec_open2打开视频文件,fopen解码视频帧初始化,av_frame_alloc循环读文件,fread解析数据包,av_parser_pars
2020-07-03 15:09:29 502 3
翻译 CFFI - ABI模式与API模式
CFFI可以在四种模式中使用:“ABI”和“API”级别,每种模式都有 in-line 或 out- line 准备(或编译)ABI模式从二进制级别访问库,而更快的API模式通过C编译器访问库在 in-line 模式中,每次导入Python代码时都会设置所有内容 在 out- line 模式中,有一个单独的准备步骤(可能还有C编译),它生成一个模块,主程序可以导入该模块简单例子...
2018-08-26 11:32:02 1494
翻译 CFFI - 简单使用
使用CFFI作为已经编译好的C库的接口。库譬如 piapprox.dll (Windows) 或 libpiapprox.so (Linux and others) 或者 libpiapprox.dylib (OS X)库里面有个函数 float pi_approx(int n)| 版权声明:itisyang,未经博主允许不得转载。https://blog.csdn.net/itisy...
2018-08-26 10:14:19 2449
翻译 CFFI - 简介
CFFI可以通过Python调用C的功能接口,基于一种类C声明,基本可以直接和任何C代码交互。(类C声明通常直接拷贝头文件即可)CFFI接口基于LuaJIT’s FFI,遵循下面几条原则:目标是在不学习第三种语言的情况下从Python调用C代码。现有的替代方法要求用户学习特定语言(Cython、SWIG)或API (ctypes)。CFFI设计只要求用户知道C和Python,尽量减少需要...
2018-08-07 22:36:56 5352
原创 pip缓慢或失败
原因:pip官方服务器访问慢公司内网过滤处理方法pypi换源,推荐阿里云镜像 pip国内的一些镜像阿里云 https://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) https://pypi.douban.com/si...
2018-08-05 14:52:30 3381
原创 树莓派教程-连接ssh
ssh默认连接:ip:22 pi raspberry最新的Raspbian 有可能默认关闭了ssh,同时串口可能没有数据输出(或乱码) 在没有屏幕的时候将很难连接树莓派。 解决办法: 在SD卡中烧录好Raspbian 系统之后,在内存卡的根目录创建一个名为ssh的空文件夹三种ssh连接树莓派的方法 1. 有路由器的情况 - 通过网线连接路由器,查看路由器下的设备...
2018-04-19 19:25:42 6714 1
原创 树莓派教程-命令行连接wifi
原文链接:https://blog.csdn.net/itisyang/article/details/79980517sudo iwlist wlan0 scan列出所有可连接wifisudo vi /etc/wpa_supplicant/wpa_supplicant.conf在文件的底部添加下面内容:network={ ssid="Your_wifi_ssif" ...
2018-04-17 20:44:45 17959 3
原创 树莓派教程-串口调试
原文链接:https://blog.csdn.net/itisyang/article/details/79968592最新的Raspbian串口连接没有数据输出使用ssh连接树莓派之后 - sudo raspi-config - Interfacing Options - Serial 打开串口登录树莓派正常情况串口四根线连接:VCC-5VGND-GNDTX...
2018-04-16 23:41:20 6759
原创 树莓派教程-搭建文件下载服务器二
原文链接:http://blog.csdn.net/itisyang/article/details/69802893 本文使用原生的nginx,相对于使用openresty少了编译过程,并且更加轻量化 - 树莓派3 - nginx安装nginxsudo apt-get install nginx配置sudo vim /etc/nginx/nginx.conf...
2017-04-09 10:57:44 3536 1
原创 树莓派教程-Samba服务器简易配置
原文链接:http://blog.csdn.net/itisyang/article/details/69574094samba安装sudo apt-get install sambasmb.conf配置,此处配置了两个目录分别是用户home目录和tftp目录[global] workgroup = WORKGROUP server string = Samba Ser...
2017-04-07 17:36:28 10718
原创 树莓派教程-搭建文件下载服务器一
原文链接:http://blog.csdn.net/itisyang/article/details/69569553树莓派3openresty下载openresty及编译下载 前往官网 https://openresty.org 下载最新的openresty安装依赖 sudo apt install libreadline-dev libncurses5-de...
2017-04-07 17:16:35 14203 5
原创 Python使用CFFI调用C动态库
原文链接 https://blog.csdn.net/itisyang/article/details/54426631初始化from cffi import FFIffi = FFI()加载C动态库lib_IOTCAPIs = ffi.dlopen("./tutk_lib/libIOTCAPIs.so")这种方法加载动态库若是多个库之间有交错调用,则会报错...
2017-01-14 14:37:30 16515
原创 APUE3学习笔记-第二章-UNIX标准及实现
——上善若水,大道至简环境:Ubuntu 1604 LTS编辑器:Vim编译器:gcc材料:UNIX环境高级编程第三版 Advanced Programming in the UNIX® Environment, Third Edition原文链接:http://blog.csdn.net/itisyang/article/details/52207303UNIX标准化ISO C此标
2016-08-14 23:28:36 3006
原创 APUE3学习笔记-第一章-UNIX基础知识
——上善若水,大道至简环境:Ubuntu 1604 LTS编辑器:Vim编译器:gcc材料:UNIX环境高级编程第三版 Advanced Programming in the UNIX® Environment, Third Edition原文链接:http://blog.csdn.net/itisyang/article/details/52139493UNIX体系结构登录在/et
2016-08-06 23:43:31 3665
原创 Qt for Android
总结一下Qt的Android配置:1.下载安装 Qt for Android2.下载安装 jdk3.下载安装android-sdk4.下载解压ndk5.下载解压ant6.打开Qt Creator,选择工具-选项-android,配置刚刚安装的几个文件路径7.以管理员权限运行android-sdk目录下的SDK Manager.exe,安装适用于自己的工具及api(一开始
2016-04-13 13:43:59 2991
原创 Linux获取进程pid
-/proc是系统中当前运行的所有进程的对应目录,以进程的 PID号为目录名,可用来获取进程信息。-/proc/pid/comm是对应pid号的进程名。
2016-03-16 19:08:24 4613
原创 extern 用法
在一个c文件A中定义了全局变量,在另一个c文件B中定义同名全局变量,对A和B分别编译,都可以正常通过编译,但是进行链接的时候,却出现了错误。在编译阶段,各个文件中定义的全局变量相互是不透明的,编译A时觉察不到B中也定义了该全局变量,同理B也一样。在链接阶段,要将各个文件的内容“合为一体”,因此,如果某些文件中定义的全局变量名相同的话,在这个时候就会出现重复定义的错误。exter
2015-12-30 16:35:03 3026
原创 C语言指针操作
int numbers[5] = {1,2,3,4,5};int *ptr1 = numbers;//numbers表示第一个元素的地址 int *ptr2 = &numbers[0];//把第一个元素的地址赋值给指针ptr2int *ptr3 = numbers + 0; //指针运算,对 numbers 做加减运算,是对地址的运算,数组(或指针)初始化为
2015-10-08 15:45:34 3014
原创 socket机制详解
我另外一片博客中详细解析了Linux下tcp socket通信的过程,下面是我对socket机制更深一层的学习。服务器和客户端创建过程简单描述如下:服务器端 一、创建服务器套接字(CREATE)。 二、服务器套接字进行信息绑定(BIND),并开始监听连接(LISTEN)。 三、接受来自客户端的连接请求(ACCEPT),并创建接收进程。 四、开始数据传输(
2015-09-08 21:58:28 3299
原创 Linux TCP/IP通讯建立
服务器建立:采用了多线程方式,可连接多个客户端,每连接一个客户端就创建一个输入线程和一个接受线程,使得输入和接收互不干扰
2015-09-04 15:04:09 1620
空空如也
APUE3到底值不值得入手?
2015-12-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人