首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Qt项目实战

    Qt音视频开发4-vlc读取和控制

    data.constData(); //一旦打开视频以后要动态更改宽高比,值只能是vlc认识的比如 16:9 1:1 之类的 //const char *arg = "4:

    1.6K30发布于 2020-08-06
  • 来自专栏实时音视频TRTC从小白到熟练

    实时音视频开发学习4 - 实现web端运行

    在加入房间的过程中需要创建本地音视频流,并进行初始化,然后发布本地流音视频。但是在发布之前需要监听stream-added和stream-subscribed来订阅和接收远端音视频流。 最后进行播放,播放可以传递一个id参数,SDK内部会在该div元素下自动创建音视频标签并在其上播放音视频。 当用户离开房间时,首先是停止远端流的发布,然后离开房间,并关闭停止和关闭本地流音视频。 给播放器的member成员列表添加一个音视频的图标按钮,并通过判断远端是流否含有包含视频轨道来修改音视频按钮图片。 然后创建本地音视频流,并设置好用户ID、打开音视频通道。 注:更多内容请关注腾讯云的实时音视频

    3.2K30发布于 2020-08-21
  • 来自专栏HelloCode开发者学习平台

    iOS开发-音视频开发

    一.学习背景 5G网络作为第5代的移动通信网络,它的网络峰值传播速度可1以达到10Gbps/s.这比4G的的传输速度快数百倍.举个例子,整部超高画质电影下载可在1秒钟之内下载完成. 想必大家也逐步了解,国内外的互联网公司也已经布局音视频,3D技术方面的开发者招聘和相关产品研发.目前落地推广最普遍的就是直播类项目和小视频类的项目.当然未来的方向肯定不止如此. 音视频采集 视频滤镜 音视频编码 推流 流媒体服务器处理 拉流 音视频解码 音视频播放 这个在开发者面试一些有意向或者目前业务中包含直播需求的公司,最为常见的面试题.不管在我们过往的工作经验是否有直播或音视频相关经验 AVFoundation.framework 视频滤镜处理 使用iOS原生框架 CoreImage.framework 使用第三方框架 GPUImage.framework CoreImage 与 GPUImage 框架比较: 在实际项目开发中 ,开发者更加倾向使用于GPUImage框架.

    3.4K40发布于 2018-08-22
  • 来自专栏猫哥的专栏

    【Android 音视频开发打怪升级:音视频硬解码篇】四、音视频解封和封装:生成一个MP4

    一、音视频解封 在本篇章的第二篇文章【音视频硬解码流程】,已经讲过,Android使用的是MediaExtractor对音视频数据流进行解封。这里,我们简单再过一遍。 支持MP4、Webm、3GP三种封装格式。 一般使用MP4格式。 新建一个重打包类MP4Repack class MP4Repack(path: String) { private val TAG = "MP4Repack" //初始化音视频分离器 val repack = MP4Repack(path) repack.start() } 到这里,本篇章【音视频硬解码篇】系列文章就结束了,本系列共四篇文章,从【音视频基础知识介绍

    1.1K30发布于 2020-04-01
  • 来自专栏音视频技术学习笔记

    音视频技术(4)-SDL播放PCM

    SDL 是一套跨平台的音视频播放框架,对齐了底层硬件的差异,开发者可以专注于音视频的处理,本文记录在iOS上使用SDL播放pcm音频裸数据的实现过程。pcm是音频的裸数据。 free(pcm_buffer); } fclose(fp); SDL_Quit(); return 0; } 使用ffmpeg从mp4中提取 pcm文件 提取:ffmpeg -i 1.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm 播放:ffplay -ac 2 -ar 44100 -f s16le out.pcm

    1.3K20发布于 2020-03-27
  • 来自专栏DevTips

    iOSAndroid 音视频开发专题

    初衷 记得从 2016 年起我开始从事音视频 SDK 开发,当时音频技术处于零基础阶段。现在 Android 和 iOS SDK 已迭代至 v3.x 版本。 在期间得到很多乐于分享的开发者帮助,如果没有他们分享的精神,我无法完成这么复杂的工作。现在,我也愿意把自己在音视频领域积累的开发经验分享出来,让相关开发者能够得到一点启发和帮助。 专题计划 由音视频开发设计到的东西较为广泛,我将开设一个专题用来介绍。我将从零开始带大家开发一个音视频播放器。 使用 AVAssetReader/AVAssetReaderOutput 分离音视频数据 iOS 音视频分离器架构设计 iOS 音视频分离器实现 iOS 音视频播放器架构设计 iOS 使用 OpenGL 高级进阶内容如下: 音视频时间轴概念 音视频编码 音频重采样 音频变声 音视频倒序播放 音频视频裁剪 音视频多文件播放器 视频画中画 ffmpeg

    1.2K10编辑于 2022-01-20
  • 来自专栏实时音视频TRTC从小白到熟练

    实时音视频开发学习1 - 音视频初体验

    腾讯实时音视频(Tencent Real-Time Communication,TRTC)经过了10多年在网络音视频技术的发展与积累,并以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放 ,使得开发者能快速实现低成本、低延时、高品质的音频互动解决方案。 可以用来作为登录音视频的账号,开发者可以直接使用用户名作为UserID,但是其取值范围最好不超过32个字节,需要使用英文字符、数字或下划线,泵全为数字。 在音视频开发过程中,通过判断UserID的不同可以给房间添加成员。 RoomID 房间ID是一个音视频的空间,同一房间的用户可以互相接收对方的实时视频数据。 在开发中用来作为主播的推流房间,粉丝的拉流房间。需要注意的是,TRTC房间是一个虚拟概念,用于用户之间的相互隔离,不同房间的用户不能接收音视频,且一个用户同时只能进入一个房间。

    5.4K63发布于 2020-08-20
  • 来自专栏猫哥的专栏

    【Android 音视频开发打怪升级:音视频硬解码篇】三、音视频播放:音视频同步

    一、音视频数据流分离提取器 上篇文章,多次提到音视频数据分离提取器,在实现音视频解码器子类之前,先把这个实现了。 4)进入下一帧:先记录当前帧的时间戳,然后调用advance进入下一帧,这时读取指针将自动移动到下一帧开头。 //记录当前帧的时间戳 mCurSampleTime = mExtractor!!. advance() 【4,释放提取器】 客户端退出解码的时候,需要调用stop是否提取器相关资源。 play() 4. 手动渲染音频数据,实现播放 最后就是将解码出来的数据写入AudioTrack,实现播放。 系统时间 而系统时间作为统一信号源则非常适合,音视频彼此独立互不干扰,同时又可以保证基本一致。 实现音视频同步 要实现音视频之间的同步,这里需要考虑的有两个点: 1.

    3.3K20发布于 2020-04-01
  • 来自专栏Qt项目实战

    Qt音视频开发24-ffmpeg音视频同步

    ,要么根本没法同步歪七八糟的,要么进度跳过去直接蹦蹦蹦崩溃的,其实最完美的音视频同步处理demo就是ffplay,我亲测过几十种各种各样的音视频本地文件,数十种视频流文件,都是非常完美,当然啦这是亲生的啦 如果仅仅是播放视频流(不带音频流),可能不需要音视频同步,所以最开始只做rtsp视频流播放的时候根本没有考虑同步的问题,因为没遇到也不需要,等到后期发现各种rtmp、http、m3u8这种视频流的时候, 常用的音视频同步方法: 通过fps来控制,fps表示一秒钟播放多少帧,比如25帧,可以自行计算一帧解码用掉的时间,一帧占用(1000/25=40毫秒),通过延时来处理,这其实是最渣渣的办法。 支持windows+linux+mac,支持ffmpeg3和ffmpeg4,支持32位和64位。 多线程显示图像,不卡主界面。 自动重连网络摄像头。 可设置边框大小即偏移量和边框颜色。 录像文件存储支持裸流和MP4文件。 音视频完美同步,采用外部时钟同步策略。 支持seek定位播放位置。 支持qsv、dxva2、d3d11va等硬解码。

    2.5K62发布于 2020-09-24
  • 来自专栏韩曙亮的移动开发专栏

    【Android FFMPEG 开发】音视频基础 和 FFMPEG 编译 ( 音视频基础 | MPEG-4 标准 | Android 开发环境 | FFMPEG 交叉编译 | 安卓项目导入配置 )

    音视频基础 1. 音频基础 (1) 声音要素 (2) 心理声学模型 2. 音频信号处理 (1) 音频信号量化过程 (2) PCM 音频参数 简介 3. 测试 Android 开发环境 ( 测试 包含 C/C++ 的 Android 工程 ) (1) 测试工程 (2) ndk-build 构建脚本 ( FFMPEG不使用该脚本 使用 CMake ) ( 音视频基础 1. : 1.封装模型简介 : 按照次序排列 : 封装格式头 -> 视频编码帧 -> 音频编码帧 -> 视频编码帧 -> 音频编码帧 … ( 重复视频音频编码帧 ) 2.封装格式头 : 主要封装 box 音视频 NDK 简介 ###(1) NDK 安装 ---- 交叉编译环境安装 : 1.NDK 简介 : Android 中 NDK 允许 开发者在 Android 中可以使用 C/C++ 进行开发,

    4.9K20编辑于 2023-03-27
  • 来自专栏音视频开发技术

    ffplay源码分析4-音视频同步

    4. 音视频同步 音视频同步的目的是为了使播放的声音和显示的画面保持一致。 如果仅仅是视频按帧率播放,音频按采样率播放,二者没有同步机制,即使最初音视频是基本同步的,随着时间的流逝,音视频会逐渐失去同步,并且不同步的现象会越来越严重。 我们暂且把一个音频时钟更新点记作其播放点,理想情况下,音视频完全同步,音视频播放过程如下图所示: ? [4]. 4.5 音视频同步到外部时钟 略

    3K40发布于 2019-04-02
  • 来自专栏嵌入式Linux系统开发

    音视频开发专业词汇总结及音视频处理流程

    音视频开发岗专业词汇总结,这些词汇大量出现在音视频相关的代码中: 缩略语 英文全名 中文解释 SDK Software development Kit 软件开发工具包 MPP Media Processing Platform 媒体处理平台 ISP Image Signal Pipeline

    2K20发布于 2021-05-28
  • 来自专栏txp玩Linux

    音视频开发之 ALSA实战!

    一、alsa框架的介绍: ALSA是Linux音频采集的声音框架,它提供了一系列API让开发者进行音频的采集、录音、播放等功能。 目前ALSA框架广泛运用在嵌入式、Android开发等领域,下面这个是一般的ALSA代码架构采集流程。

    2.2K21编辑于 2023-02-10
  • 来自专栏猫哥的专栏

    【Android 音视频开发打怪升级:FFmpeg音视频编解码篇】

    画面数据 } } const char* VideoDrawer::GetVertexShader() { const GLbyte shader[] = "attribute vec4 vec2 vCoordinate;\n" "void main() {\n" " vec4 AppCompatActivity() { val path = Environment.getExternalStorageDirectory().absolutePath + "/mvtest.mp4" } }) } else { Toast.makeText(this, "视频文件不存在,请在手机根目录下放置 mvtest.mp4"

    2.7K30发布于 2020-06-03
  • 来自专栏猫哥的专栏

    【Android 音视频开发打怪升级:FFmpeg音视频编解码篇】六、FFmpeg简单合成MP4:视屏解封与重新封装

    教程代码:【Github传送门】 目录 一、Android音视频硬解码篇: 1,音视频基础知识 2,音视频硬解码流程:封装基础解码框架 3,音视频播放:音视频同步 4,音视频解封和封装:生成一个MP4 数据缓冲区 6,Android音视频硬编码:生成一个MP4 三、Android FFmpeg音视频解码篇 1,FFmpeg so库编译 2,Android 引入FFmpeg 3,Android FFmpeg 视频解码播放 4,Android FFmpeg+OpenSL ES音频解码播放 5,Android FFmpeg+OpenGL ES播放视频 6,Android FFmpeg简单合成MP4:视屏解封与重新封装 当然了,在了解如何编码之前,先了解如何对编码好的音视频进行封装,会有事半功倍的效果。 在《音视频解封和封装:生成一个MP4》中使用了 Android 的原生功能,实现了对音视频的重打包。 二、初始化封装参数 我们知道,将编码数据封装到 Mp4 中,需要知道音视频编码相关的参数,比如编码格式,视频的宽高,音频通道数,帧率,比特率等,下面就先看看如何初始化它们。

    1.4K20发布于 2020-08-11
  • 来自专栏猫哥的专栏

    【Android 音视频开发打怪升级:OpenGL渲染视频画面篇】六、Android音视频硬编码:生成一个MP4

    同时,MediaCodec也可以实现对音视频的硬编码。 还是先来看看官方的编解码数据流图 ? 关于如何把数据写入到mp4中,本文不再重述,请查看【Mp4重打包】。 mCodec.releaseOutputBuffer(index, false) } } } } /** * 配置mp4音视频轨道 */ abstract fun addTrack(muxer: MMuxer, mediaFormat: MediaFormat) /** * 往mp4写入音视频数据 改造解码器 还记得之前的文章中提到,音视频要正常播放,需要对音频和视频进行音视频同步吗? 而由于编码的时候,并不需要把视频画面和音频播放出来,所以可以把音视频同步去掉,加快编码速度。

    2.9K30发布于 2020-04-02
  • 来自专栏音视频技术

    音视频技术开发周刊 | 293

    每周一期,纵览音视频技术领域的干货。 新闻投稿:contribute@livevideostack.com。 谷歌全面反攻 ChatGPT! 在今天举行的年度 Google I/O 开发者大会上,Google 宣布了一款拥有 26,000 个 GPU 的 AI 超级计算机——A3 ,这个超级计算机是谷歌与微软争夺 AI 霸权的斗争中投入更多资源进行积极反攻的又一证据 AVIF 图像格式支持也将得到及时支持 https://github.com/AOMediaCodec/libavif/pull/1361 Metal 和 OpenGLES 的差异,快速入门 Metal 开发 LiveVideoStackCon 2022北京站邀请到了腾讯云音视频的成锐林老师为我们分享他们团队是如何解答这一系列问题的。 音视频通讯QoS技术及其演进 利用多种算法和策略进行网络传输控制,最大限度满足弱网场景下的音视频用户体验。

    96230编辑于 2023-05-18
  • 来自专栏Gnep's_Technology_Blog

    音视频开发常用工具

    前言 我们在进行音视频开发过程中不可避免的需要使用一些工具进行协助开发,本文重点讲解音视频开发过程中常用工具以及常用功能。 一、VLC 播放器 1、简介 VLC 支持多种常见音视频格式,支持多种流媒体传输协议,也可当做本地流媒体服务器使用,功能十分强大。 它提供了录制、 转换以及流化音视频的完整解决方案。 它包含了非常先进的音频/视频编解码库 libavcodec, 为了保证高可移植性和编解码质量,libavcodec 里很多 code 都是从头开发的。 4、使用 ffmpeg 的方式分为两种 一种方式是直接使用 ffmpeg 提供的这三个命令行工具来进行多媒体处理; 另一种是使用 ffmpeg 封装的这些库进行二次开发 5、FFmpeg 命令行 列出支持的格式

    4.6K40编辑于 2023-09-03
  • 来自专栏音视频技术

    音视频技术开发周刊 | 257

    跨平台播放器开发 (七) FFplay 解封装、解码、音视频同步原理分析 该篇主要介绍 「ffplay」 如何实现的解封装,解码和音视频同步的能力,下一篇文章会根据 「ffplay」 已提供的能力,会把一些基础能力给独立出来 音视频开发之旅(20) 指针、内存模型、引用 本文主要目录:指针、内存模型和四区使用、引用、资料、收获。下一篇我们继续学习实践cpp知识 继承、多态、模版。 音视频开发之旅(21)运算符重载、继承、多态、模版 本次主要学习内容:类和对象的重要知识点、运算符重载、继承、多态、模版。下一篇我们学习实践CPP 的 STL容器和算法。 一文看完 WWDC 2022 音视频相关的更新要点丨音视频工程示例 WWDC 2022 一共发布了 170 多个 Session,其中与音视频相关的 Session 也有不少,在这里根据内容相关性分类整理了其中的要点 为播放器外接一套渲染框架 如果你有一定的音视频基础,其实从头开发一个播放器并非难事,自己从头开发的播放器可定制化程度就非常高。

    1.2K10编辑于 2022-08-26
  • 来自专栏音视频技术

    音视频技术开发周刊 | 286

    每周一期,纵览音视频技术领域的干货。 新闻投稿:contribute@livevideostack.com。 GPT-4 Copilot X震撼来袭:AI写代码效率10倍提升 GitHub官宣:基于GPT-4的新一代代码生成工具Copilot X来了! 如何把ChatGPT集成到Twilio语音服务中? 但由于不同项目均独立开发,维护成本巨大。目前,Netflix正在着手解决这一问题。 三一智能:SRS流媒体在交通行业的实践 近两年,汽车新四化的在很多车企中快速地推进。 国内音视频开发的前景怎么样?一位老兵这么说 目前干我们这一行的年纪都比较大,我自己工作五年就是很年轻的了。 时间: 2023年3月31日 - 4月1日 报名: 点击【阅读原文】了解详细信息,报名参与。

    94910编辑于 2023-04-04
领券