播发专题

UDP的组播发送与接收C语言测试和nc接收组播测试

组播这个东西,很多年前用过一次。本身的原理不复杂,未知的是使用的环境,受使用环境的影响有多大,还是那句废话,具体问题具体分析。 发送端代码multicast.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #i

android基于ffmpeg的简单视频播发器 三线程实现播放器(完)

一个多星期都在研究播放器,从双线程到三线程,它们的关系太复杂了,总是搞不定,而且本人c++水平实在有限,很多东西都不太会用。终于搞好了一个能拿得出手的东东,基本没啥严重的bug了,或者我没发现严重的bug,不过代码还是挺乱的,而且音视频对齐使用的办法也不是很好,以后再慢慢优化,先拿来用 一个线程读取AVPacket保存到数组,由另外两个线程做解码和播放,这样就不会出现上一篇博文里一个文件两个线程

android基于ffmpeg的简单视频播发器 跳到指定帧 av_seek_frame()

跳到指定帧,在ffmpeg使用av_seek_frame()进行跳转,这个函数只能跳到关键帧,所以对关键帧时间差距比较大的视频很尴尬,总是不能调到想要的画面 还有av_seek_frame中的时间参数,刚开始以为用秒乘以time_base结果不是,而是AVPacket或AVFrame里的pts或dts对应的数,不用很精确,可以用大概值,因为av_seek_frame会跳到关键帧 所以可

android基于ffmpeg的简单视频播发器 时间同步

前面写了视频解码和音频解码,接下来要同步了 java代码 setContentView(R.layout.activity_main);SurfaceView surfaceView = findViewById(R.id.surface_view);surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {@O

android基于ffmpeg的简单视频播发器 音频播放

音频播放没啥好说的,直接复制这篇文章http://www.jianshu.com/p/68cdbee598cd 上代码 java private void init() {setContentView(R.layout.activity_main); SurfaceView surfaceView = findViewById(R.id.surface_view);

android基于ffmpeg的简单视频播发器 播放视频

视频播放用到opengl,因为ffmpeg是c写的,所以我就用c++写opengl,c不会写 把生成的so文件和include文件夹复制到项目的app\libs文件夹 CMakeLists.txt文件代码 cmake_minimum_required(VERSION 3.4.1)add_library( native-libSHAREDsrc/main/cpp/native-lib.c

android基于ffmpeg的简单视频播发器 编译ffmpeg

ffmpeg编译的文章网上很多,很简单,我是windows10系统 首先安装mingw:https://sourceforge.net/projects/mingw/files 在安装界面选择basic setup,把右边的都勾选,然后点击installation选择apply change进行下载安装 配置环境变量,在Path内添加 C:\MinGW\bin C:\MinGW\msys

android基于ffmpeg的简单视频播发器 目录

最近在研究ffmpeg视频播放器,所以准备写几篇关于ffmpeg和播放器的文章 解码都是用ffmpeg,视频播放就靠opengl渲染,音频就用AudioTrack ffmpeg基本都是用c++代码来写,所以opengl也用c++来写 最开始的思路是开两个线程,一个线程解码音频,一个现场解码视频,由于对ffmpeg不太熟悉,怕一个文件加载两次会比较占内存就考虑用三线程,一个线程解码,一个线程渲

BNC软件实现轨道、钟差、电离层产品的播发截图

(1)实时GNSS精密产品播发软件实际运行截图