流媒体技术
文章平均质量分 90
YongYu_IT
区块链,分布式系统
展开
-
Android利用ffmpeg产生推流
目标在安卓手机客户端有一个视频文件,利用ffmpeg产生推流。借助nginx-rtmp-module推送给另一台安卓手机。另一台安卓手机播放这个视频流。本次实验重点是第一步,即利用ffmpeg产生推流。1、编译ffmpeg源码,获得ffmpeg库1/1 可以直接在ffmpeg官网下载源码,在Ubuntu下借助NDK编译得到.so库。关于这点,可以参照http原创 2017-05-10 14:31:06 · 4118 阅读 · 1 评论 -
android音频(一)
先看几篇优秀的博文1/ 关于android与PCMhttp://www.cnblogs.com/nanguabing/archive/2012/12/16/2820732.html原创 2017-10-12 10:24:49 · 374 阅读 · 0 评论 -
android音频(二)——faad2编译和使用
编译cd ~/Downloads/wget https://nchc.dl.sourceforge.net/project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gztar -xvf faad2-2.7.tar.gzgedit build_android.shchmod +x build_android.sh./build原创 2017-10-16 16:15:49 · 2171 阅读 · 0 评论 -
android音频(三)——利用ndk直接编译faac和faad(续1)
step6 编译faad1、在jni根目录下编写Android.mk和Application.mk文件如下Android.mkLOCAL_PATH := $(call my-dir)FAAD2_TOP := $(LOCAL_PATH)include $(CLEAR_VARS)include $(FAAD2_TOP)/libfaad/Android.mkApplicatio原创 2017-10-18 13:48:18 · 1396 阅读 · 2 评论 -
android音频(三)——利用ndk直接编译faac和faad
前面的两篇文章描述的编译方式是利用ndk的编译链,基于Make方式编译的。下面介绍如何用ndk直接编译。假设ndk环境和源码均已准备好。step1 新建android工程step2 在工程下新建faac和faad库模块step3 在库模块faac和faad下分别新建jni目录step4 把faac和faad的源码分别解压到faac和faad库项目原创 2017-10-18 13:12:40 · 1876 阅读 · 0 评论 -
android音频(三)——利用ndk直接编译faac和faad(续2)
step7 验证1、在工程的主项目app下,编写java代码app\src\main\java\com\thinking\maketest\Test.javapackage com.thinking.maketest;/** * Created by Yu Yong on 2017/10/18. */public class Test { static原创 2017-10-18 14:23:11 · 753 阅读 · 0 评论 -
基于nginx-rtmp-module的推拉流测试
1、安装nginx服务器(参考http://nginx.org/en/docs/)sudo apt-get install nginx或者从源码安装wget https://www.openssl.org/source/openssl-1.1.0e.tar.gztar -zxvf openssl-1.1.0e.tar.gzcd openssl-1.1.0e/原创 2017-05-11 15:18:39 · 4401 阅读 · 0 评论 -
x264多线程编码
转自:http://blog.csdn.net/huibailingyu/article/details/44624781x264有两种并行模式,slice并行和frame并行。slice并行把一帧划分为多个矩形slice,在这多个slice之间并行处理,是一种非延时性的并行模式,多slice会稍微降低编码性能。frame并行是同时开启多帧编码,x264在N个frame并行的时候需要集转载 2017-07-10 13:13:10 · 2303 阅读 · 0 评论 -
H.264初步
1、H.264实现JM:官方实现,效率较低x264:仅实现编码部分,最流行2、分级实现为了适应不同应用领域的需求,H.264标准的实现分4个等级基本实现:乞丐版实现,提供I/P帧,仅支持逐行扫描和CAVLC。主要特点是低延时。扩展实现:提供I/P/B/SP/SI帧,仅支持逐行扫描和CAVLC。主要实现:提供I/P/B/帧,支持逐行扫描和隔行扫描,提供CAVLC或CABA原创 2017-06-26 17:49:07 · 345 阅读 · 0 评论 -
基本概念
1、视频编码的可能性帧内空间布局的连续性帧间运动的连贯性人眼的视觉机制2、主流视频编解码算法标准ISO(国际标准化组织):MPEG-4ITU(国际电信联盟):H.264/AVC这两种编码都是混合编码(即同时包含帧内和帧间编码)3、帧内编码静态图像编码:类似于图片编码I帧编码:又称关键帧编码,利用已编解码的帧(I帧或称关键帧)为基准,非关键帧与I帧的差值矩阵中原创 2017-06-26 16:25:23 · 275 阅读 · 0 评论 -
音频编解码基本流程
原创 2017-06-09 17:28:31 · 3267 阅读 · 0 评论 -
基于NDK编译ffmpeg库(三)
添加H264编码支持wget http://www.nasm.us/pub/nasm/releasebuilds/2.14rc0/nasm-2.14rc0.tar.gz解压cd nasm-2.14rc0/./configuresudo sumake && make installgit clone http://git.videolan.org/git/x264原创 2017-05-31 14:07:00 · 465 阅读 · 0 评论 -
基于NDK编译ffmpeg库(二)
基于源码编译1、基于上一篇日志,检查编译环境2、下载源码,解压wget http://ffmpeg.org/releases/ffmpeg-3.3.1.tar.bz2tar -xvf ffmpeg-3.3.1.tar.bz23、修改configurediff --git a/configure b/configureindex 9b5789a..1c9a812 10原创 2017-05-15 16:30:40 · 491 阅读 · 0 评论 -
基于NDK编译ffmpeg库
1、克隆项目:https://github.com/WritingMinds/ffmpeg-android.git2、修改如下diff --git a/init_update_libs.sh b/init_update_libs.shindex 5e82329..a53ad9a 100755--- a/init_update_libs.sh+++ b/init_update_libs原创 2017-05-12 17:52:21 · 440 阅读 · 0 评论 -
用nginx-rtmp-module直播写代码
前言前段时间用nginx-rtmp-module搭了一个直播系统,测试的时候用来直播了一下桌面,感觉评价还不错,应邀写个简单的教程。服务器安装服务器端我用的是nginx-rtmp-module,操作系统用的是CentOS 7,部署其实很简单, 它主页上就有教程。当然为了系统比较干净,推荐还是简单打个包,CentOS的话我推荐从nginx的官方源下载 源码包,转载 2017-11-09 14:12:50 · 1653 阅读 · 0 评论