logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构

音视频技术的一个主要用途是直播,包括电视直播、电脑直播、手机直播等等,甚至在线课堂、在线问诊、安防监控等应用都属于直播系统的范畴。由于直播系统不仅涉及到音视频数据的编解码,还涉及到音视频数据的实时传输,因此直播领域采用的网络技术标准比较高,实现起来也比一般的WEB系统复杂。

文章图片
#音视频
FFmpeg开发笔记(一)搭建Linux系统的开发环境

对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库,即可着手编写简单的FFmpeg程序。比如这个网站提供了已经编译通过的FFmpeg开发包,囊括Linu

文章图片
#linux#音视频
FFmpeg开发笔记(二)搭建Windows系统的开发环境

由于Linux系统比较专业,个人电脑很少安装Linux,反而大都安装Windows系统,因此提高了FFmpeg的学习门槛,毕竟在Windows系统搭建FFmpeg的开发环境还是比较麻烦的。不过若有已经编译好的Windows版本FFmpeg开发包,那就免去了繁琐的Windows编译过程,所以直接安装已编译的FFmpeg开发包,还是相对容易的。在Windows系统安装FFmpeg之前,要先安装MSYS

文章图片
#windows#音视频
Android开发笔记(一百七十五)利用Room简化数据库操作

虽然Android提供了数据库帮助器,但是开发者在进行数据库编程时仍有诸多不便,比如每次增加一张新表,开发者都得手工实现以下代码逻辑:1、重写数据库帮助器的onCreate方法,添加该表的建表语句;2、在插入记录之时,必须将数据实例的属性值逐一赋给该表的各字段;3、在查询记录之时,必须遍历结果集游标,把各字段值逐一赋给数据实例;4、每次读写操作之前,都要先开启数据库连接;读写操作之后,又要关闭数据

#android#移动开发#sqlite +1
鸿蒙NEXT开发笔记(二十七)仿抖音快手App的实现自动滚动功能

Scroller是鸿蒙提供的可滚动容器组件的控制器,可以将此组件绑定至容器组件,然后通过它控制容器组件的滚动。同一个滚动控制器不可以控制多个容器组件,目前Scroller支持绑定到List、Scroll、Grid、WaterFlow等允许滚动的容器组件上。第一个参数填要滚动到的索引项;3、从当前位置往某个方向滑动若干偏移,此时调用scrollTo或scrollBy均可,这两个方法都能指定横轴上的滑

文章图片
#android#鸿蒙#华为 +1
Android开发笔记(一百七十五)利用Room简化数据库操作

虽然Android提供了数据库帮助器,但是开发者在进行数据库编程时仍有诸多不便,比如每次增加一张新表,开发者都得手工实现以下代码逻辑:1、重写数据库帮助器的onCreate方法,添加该表的建表语句;2、在插入记录之时,必须将数据实例的属性值逐一赋给该表的各字段;3、在查询记录之时,必须遍历结果集游标,把各字段值逐一赋给数据实例;4、每次读写操作之前,都要先开启数据库连接;读写操作之后,又要关闭数据

#android#移动开发#sqlite +1
FFmpeg开发笔记(十八)FFmpeg兼容各种音频格式的播放

FFmpeg结合SDL可以播放音频文件,也能播放视频文件中的音频流,《FFmpeg开发实战:从零基础到短视频上线》一书第10章的示例程序playaudio.c支持播放mp3和aac两种格式的音频,却不支持播放其他格式的音频。因为mp3和aac两个格式拥有标准的规范定义,比如mp3规定每帧音频固定包含1152个样本,而aac规定每帧音频固定包含1024个样本。

文章图片
#音视频
Android开发笔记(一百八十九)利用LAME录制MP3音频

无论是普通音频的amr和aac格式,还是原始音频的pcm格式,都不能在电脑上直接播放,也不能在苹果手机上播放,因为它们属于安卓手机的定制格式,并非通用的音频格式。若想让录音文件放之四海而皆能播放,就得事先将其转为通用的MP3格式,虽然Android官方的开发包不支持MP3转换,不过借助第三方的LAME库,能够将原始音频转存为MP3文件。

文章图片
#android#音视频#java
FFmpeg开发笔记(五十八)把32位采样的MP3转换为16位的PCM音频

FFmpeg开发实战:从零基础到短视频上线》一书的“5.1.2把音频流保存为PCM文件”介绍了如何把媒体文件中的音频流转存为原始的PCM音频,在样例代码的转存过程中,解码后的PCM数据未经任何加工处理,就直接保存到二进制文件。原汁原味保存的PCM文件本来也没什么问题,可是在实际应用中,有的业务场景需要特定规格的PCM音频。比如某厂家的语音识别引擎,要求只能输入16位的PCM数据,然而标准的MP3音

文章图片
#音视频
鸿蒙NEXT开发笔记(二十一)仿抖音快手App的网络动态授权

上一节我们利用滑块组件实现了多张图片的左右轮播特效,在此基础上可以实现多个短视频的上下轮播特效。那么要想正常播放网络视频,还得让App提前获得网络授权才行。鸿蒙系统提供了一种允许应用访问系统资源(例如通讯录)和系统能力(例如访问摄像头、麦克风等)的通用权限访问方式,以此避免系统数据和系统功能被不当使用。根据授权方式的不同,鸿蒙App的权限类型可分为system_grant(系统授权)和user_g

文章图片
#harmonyos#华为#android
    共 25 条
  • 1
  • 2
  • 3
  • 请选择