opus

将 Windows Terminal 作为外部工具集成到其他工具 程序 代码中

我与影子孤独终老i 提交于 2020-10-13 06:21:25
Windows Terminal 在 Windows 上是一款 UWP 应用,然而其依然具有良好的与外部工具的集成特性,你可以在其他各种工具中配置使用 Windows Terminal 打开。 本文介绍如何配置使用 Windows Terminal 打开。 @ TOC 命令行调用 在应用商店可以下载到 Windows Terminal (Preview) ,下载安装后,你就可以开始使用 wt 命令了,这可以用来启动 Windows Terminal。(这里要说明一下,虽然你可以找到应用程序在 C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_0.9.433.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe 下,但是你并没有权限直接去运行 UWP 应用的 exe 入口。 因此,你在任意的命令行工具,甚至是 Win+R 运行窗口,或者开始菜单的搜索中输入 wt 回车就可以运行 Windows Terminal 了。 增加的命令实际上来自于 C:\Users\lvyi\AppData\Local\Microsoft\WindowsApps 目录。你可以进入这个目录找到商店应用增加的所有的命令。 默认情况下直接打开会进入用户文件夹下。 如果需要在特定的工作目录下打开,则需要修改配置

webrtc音频QOS方法二(opus编码器自适应网络参数调整功能)

筅森魡賤 提交于 2020-08-15 16:50:25
一、opus函数调用接口 二、自适应网络调整参数介绍 1、WebRtcOpus_SetBitRate Opus支持码率从6 kbit/s到510 kbit/s的切换功能,以适应这种网络状态。以20ms单帧数据编码为例,下面是各种配置的Opus的比特率最佳点。 2、WebRtcOpus_SetPacketLossRate 动态配置丢包率,是为了动态调整opus FEC的冗余度。opus编码器自带inband FEC冗余算法,增强抗丢包能力。大概使用的是非对称冗余协议。将一些关键信息多次编码重传。 3、WebRtcOpus_EnableFec/DisableFec 开启或者关闭inband FEC功能。 走读opus代码,发现只有silk编码支持inband FEC。函数实现调用栈如下: opus_encode_native ->silk_Encode ->silk_encode_frame_Fxx ->silk_encode_frame_FLP ->silk_LBRR_encode_FLP celt不支持inband FEC。猜测celt是通过改变参考帧长度,来增强抗网络丢包能力。 4、WebRtcOpus_EnableDtx/DisableDtx DTX:Discontinuous Transmission。不同于music场景,在voip场景下,声音不是持续的

直播技术中音视频的处理

南楼画角 提交于 2020-08-13 02:14:17
今天我们来讲一下音视频直播都用到了哪些技术。图玩智能科技作为直播领域专业服务商,为企业提供直播平台的二次开发服务,搭建更完善更稳定的直播系统,欢迎随时咨询 www.toivan.com 。说到音视频直播技术,我们最先想到的是音频技术和视频技术。 其实音频技术和视频技术它们的大体处理流程都是差不多的。一般都分为五大步: 数据采集,编码,传输,解码和渲染。 音视频处理 数据采集。对于音频来说采集到的数据是 PCM 格式,对于视频数据采集的格式是 YUV 格式。 数据压缩编码。数据采集完成之后,需要对数据进行压缩编码。音视频使用的压缩技术称为有损压缩技术。而像我们平 RAR , ZIP 工具进行的压缩都是无损压缩。就是说解压后的数据与原始数据一样叫做无损压缩,解压后和原始数据高度接近称为有损压缩,音视频编码属于后者。对于音频来讲,常用的编码格式有 speex, AAC, OPUS, G.711 等。现在比较常用的是 AAC ,一是它音质比较好,二是 RTMP 对 AAC 支持的比较好。对于视频编码格式有 H.264, H.265, VP8, VP9 等,目常基本上都是使用 H.264 。注意,衡量有损压缩好坏的指标就是看同等压缩率的情况下,解压后的数据与原始数据之间差别的大小,差别越小证明压缩的算法越优。当然在实时互动直播中

OPUS编解码器简介

限于喜欢 提交于 2020-08-12 02:57:54
总览 Opus是一款完全开放的功能广泛的音频编解码器。Opus在互联网上的交互式语音和音乐传输方面无可匹敌,但也适用于存储和流媒体应用程序。它由Internet工程任务组(IETF)标准化为RFC 6716 ,该标准融合了Skype的SILK编解码器和Xiph.Org的CELT编解码器中的技术。 技术 Opus可以处理各种音频应用程序,包括IP语音,视频会议,游戏内聊天,甚至是远程直播音乐表演。它可以从低比特率的窄带语音扩展到高质量的立体声音乐。支持的特性有: 从6kb/s到510kb/s的比特率; 从8kHz(窄带)到48kHz(全频带)的采样率; *从2.5毫秒到60毫秒的帧长; 支持固定比特率(constant bitrate,CBR)和可变比特率(variable bitrate,VBR); 窄带到宽带音频带宽;支持语音和音乐; 支持单声道和立体声; 最多支持255个通道(多流帧, multistream frames)动态自适应比特率、音频带宽和帧长; 良好的稳定性和丢包隐藏; 可进行浮点和定点实现。 代码下载 (1)Opus库本身: git clone https://git.xiph.org/opus.git (2)Opus-tools Opus-tools包含了一组将Opus与wav进行编解码的工具。 git clone https://gitlab.xiph

直播中音视频处理的一般流程

拟墨画扇 提交于 2020-08-06 10:54:06
数据采集 → 数据编码 → 数据传输 ( 流媒体服务器 ) → 解码数据 → 播放显示 1 、 数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为原始数据 涉及技术或协议: 摄像机: CCD 、 CMOS 拾音器:声电转换装置(咪头)、音频放大电路 2 、 数据编码: 使用相关硬件或软件对音视频原始数据进行编码处理(数字化)及加工(如音视频混合、打包封装等),得到可用的音视频数据 涉及技术或协议: 编码方式: CBR 、 VBR 编码格式 视频: H.265 、 H.264 、 MPEG-4 等,封装容器有 TS 、 MKV 、 AVI 、 MP4 等 音频: G.711μ 、 AAC 、 Opus 等,封装有 MP3 、 OGG 、 AAC 等 3 、 数据传输: 将编码完成后的音视频数据进行传输,早期的音视频通过同轴电缆之类的线缆进行传输, IP 网络发展后,使用 IP 网络优传输 涉及技术或协议: 传输协议: RTP 与 RTCP 、 RTSP 、 RTMP 、 HTTP 、 HLS ( HTTP Live Streaming )等 控制信令: SIP 和 SDP 、 SNMP 等 4 、 解码数据: 使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像 / 声音 涉及技术或协议: 一般对应的编码器都会带有相应的解码器

Wav to Opus convertion with Discord.js/opus fails silently

安稳与你 提交于 2020-07-08 10:23:07
问题 The bounty expires in 3 days . Answers to this question are eligible for a +50 reputation bounty. Rikard wants to draw more attention to this question. I am trying to convert a WAV file to Opus, using Node's fs.readFile and passing that buffer to @Discord/opus converter. I get neither the result or a error thrown with a explanation of what is wrong. This is basically the example you have in the docs... right? Bug? By design? or me missing something? I would expect the try/catch to be called

How do I decode opus file to pcm file using libavcodec from ffmpeg?

孤街醉人 提交于 2020-06-16 03:37:09
问题 I am trying to decode opus to pcm file using libavcodec.So,I use ffmpeg example from https://ffmpeg.org/doxygen/trunk/decode_audio_8c-example.html .And I change AV_CODEC_ID_MP2 to AV_CODEC_ID_OPUS.But I get an error. codec = avcodec_find_decoder((AV_CODEC_ID_MP2); codec = avcodec_find_decoder(AV_CODEC_ID_OPUS); error: codec ./decode_audio ./out.opus ./out.pcm [opus @ 0x7ff361800000] Error parsing Opus packet header. [opus @ 0x7ff361800000] Error parsing Opus packet header. [opus @

How do I decode opus file to pcm file using libavcodec from ffmpeg?

ぐ巨炮叔叔 提交于 2020-06-16 03:37:09
问题 I am trying to decode opus to pcm file using libavcodec.So,I use ffmpeg example from https://ffmpeg.org/doxygen/trunk/decode_audio_8c-example.html .And I change AV_CODEC_ID_MP2 to AV_CODEC_ID_OPUS.But I get an error. codec = avcodec_find_decoder((AV_CODEC_ID_MP2); codec = avcodec_find_decoder(AV_CODEC_ID_OPUS); error: codec ./decode_audio ./out.opus ./out.pcm [opus @ 0x7ff361800000] Error parsing Opus packet header. [opus @ 0x7ff361800000] Error parsing Opus packet header. [opus @