
音频视频开发
boonya
资深Java,热衷大数据,Python爬虫,持续探索副业中,有需要的可以加我微信联系:boonya221
展开
-
PCM音频数据
目录1. 什么是PCM?2. PCM数据格式3. FFmpeg支持的PCM数据格式4. FFmpeg中Packed和Planar的PCM数据区别5. 字节序6. PCM音频数据的处理7. 参考1. 什么是PCM?PCM(Pulse Code Modulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。描述PCM数据的6个参数:Sample Rate : 采样频率。8kHz(电话)、44.1k转载 2020-09-18 09:09:52 · 1253 阅读 · 0 评论 -
C# 开发DirectX.DirectSound录音在Win10兼容解决方法
最近做的声音录制项目中用到了Microsoft.DirectX.DirectSound组件,win10默认的DirectX版本是DX12,如果不是请不要升级DirectX12。如果升级到DirectX12会出现:Microsoft.DirectX.DirectSound.PriorityLevelNeededException异常。DirectX是不提供卸载功能的,所以需要借助DirectX卸载和原创 2018-01-17 15:58:00 · 3438 阅读 · 1 评论 -
FFmpeg和SDL教程(七):查找(音视频帧)
英文原文地址:http://dranger.com/ffmpeg/tutorial07.html处理寻找命令现在我们要为我们的播放器添加一些搜索功能,因为当你无法倒带一部电影的时候真的很烦人。 另外,这会告诉你av_seek_frame函数是多么容易使用。我们要让电影中的左右箭头在电影中来回移动,上下箭头很多,“一点”是10秒,“很多”是60秒。 所以我们需要设置主循环,以便捕捉按键。 但是,当我翻译 2018-01-13 01:24:15 · 566 阅读 · 0 评论 -
FFmpeg和SDL教程(六):同步音频
英文原文地址:http://dranger.com/ffmpeg/tutorial06.html同步音频所以现在我们有一个足够体面的球员来看电影,那么让我们看看我们有什么样的松散结局。最后一次,我们掩盖了一点同步,即将音频同步到视频时钟,而不是相反。我们将以与视频相同的方式来做到这一点:制作一个内部视频时钟,以跟踪视频线程的距离,并将音频同步到该视频线程。稍后我们将介绍如何将音频和视频同步到外部时翻译 2018-01-13 01:13:04 · 957 阅读 · 0 评论 -
FFmpeg和SDL教程(五):同步视频
英文原文地址:http://dranger.com/ffmpeg/tutorial05.html警告当我第一次做这个教程时,我的所有同步代码都是从ffplay.c中提取的。今天,这是一个完全不同的程序,ffmpeg库(以及ffplay.c本身)的改进已经导致了一些策略的改变。虽然这段代码仍然有效,但看起来不太好,还有很多本教程可以使用的改进。视频如何同步所以这一整段时间,我们有一个本质上是无用的电翻译 2018-01-13 00:57:32 · 790 阅读 · 0 评论 -
FFmpeg和SDL教程(四):播放线程
英文原文地址:http://dranger.com/ffmpeg/tutorial04.html概览上次我们利用SDL的音频功能添加了音频支持。 SDL启动了一个线程,可以对每次需要音频时定义的函数进行回调。现在我们要用视频显示来做同样的事情。这使代码更加模块化,更容易处理 - 特别是当我们想要添加同步时。那么我们从哪里开始?首先我们注意到,我们的主要功能是处理一个非常多的事情:它通过事件循环运行翻译 2018-01-13 00:32:29 · 782 阅读 · 0 评论 -
C# .NET RTP MJPEG Player
通过RTP实现RTP和MJPEG,支持大型帧和组播。本篇文章值得关注的是RTP包封装和Frame数据获取。翻译 2018-01-04 13:48:46 · 1947 阅读 · 0 评论 -
FFmpeg和SDL教程(三):播放声音
英文原文地址:http://dranger.com/ffmpeg/tutorial03.html音频所以现在我们要播放声音。 SDL也为我们提供了输出声音的方法。 SDL_OpenAudio()函数用于打开音频设备本身。它将SDL_AudioSpec结构作为参数,其中包含有关将要输出的音频的所有信息。在我们展示如何设置之前,让我们首先解释一下计算机如何处理音频。数字音频由很长的样本组成。每个样本表翻译 2018-01-12 18:36:28 · 4926 阅读 · 0 评论 -
FFmpeg和SDL教程(二):输出到屏幕
英文原文地址:http://dranger.com/ffmpeg/tutorial02.htmlSDL和视频要画到屏幕上,我们要使用SDL。 SDL代表简单直接层,是一个优秀的多媒体库,是跨平台的,并在多个项目中使用。您可以在官方网站上获得该库,或者可以下载适用于您的操作系统的开发包(如果有的话)。您将需要库来编译本教程的代码(以及其他代码)。SDL有很多方法可以将图像绘制到屏幕上,特别是用于在屏翻译 2018-01-12 18:34:39 · 1673 阅读 · 1 评论 -
FFMPEG视音频编解码零基础学习方法
原文作者:有不少人不清楚“FFmpeg”应该怎么读。它读作“ef ef em peg”。在优快云上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着深奥的问题;而初学者们还停留在入门阶段。究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:FFMPEG难度比较大,却没有一个循序渐进,由简转载 2018-01-05 10:51:52 · 752 阅读 · 1 评论 -
C# DirectX.DirectSound声音播放
英文原文:https://msdn.microsoft.com/en-us/library/windows/desktop/bb318665(v=vs.85).aspxMicrosoft DirectSound提供了一个系统,可以捕捉来自输入设备的声音,并通过使用高级三维定位效果的各种播放设备播放声音,以及用于回声,失真,混响和其他效果的滤波器,信息显示在以下主题中。Playing Sounds本翻译 2018-01-19 17:56:07 · 2324 阅读 · 0 评论 -
如何构造即时通信或视频帝国——云服务的集中爆发点
经过一段时间的思考,还是觉得做传统行业缺乏动力,沉浸在业务的海洋里可能会溺死。总结一下技术栈和相关的知识,也相当于是个普及吧。前两年视频直播很火,经过这几年的发展市场也在逐步地规范,尤其涉黄主播在直播领域泛滥成灾,也为视频行业的发展蒙上一层朦胧的薄纱,看不清楚未来该怎么发展。 但是除了这些,我们如果好好利用可以发掘很多传统行业对视频的需求还是很旺盛的。并且传统行业互联网+的概念和云结合之后几乎云无...原创 2019-05-09 17:07:37 · 348 阅读 · 2 评论 -
FFmpeg环境安装及使用命令实现音视频转码
官方地址:http://www.ffmpeg.org/FFmpeg是领先的多媒体框架,能够解码,编码,转码,复用,解复用,流式传输,过滤和播放人类和机器创建的任何内容。 它支持最晦涩难懂的古代格式,直至最前沿。 无论它们是由某些标准委员会,社区还是公司设计的。 它还具有高度可移植性:FFmpeg在各种构建环境,机器架构和配置下,跨Linux,Mac OS X,Microsoft Windows...原创 2018-09-28 14:56:08 · 3358 阅读 · 0 评论 -
FFmpeg添加滤镜调整视频对比度和亮度
原文地址:https://blog.youkuaiyun.com/wer85121430/article/details/79642951目的:调整视频的亮度和对比度。可参考ffmpeg的源码:\examples\filtering_video.c,视频滤波例子\libavfilter\vf_eq.c,亮度对比度调整的具体实现先使用ffmpeg.exe试试效果,女神的原始视频图片:ffmpeg.exe -i ...转载 2018-03-30 09:55:25 · 8591 阅读 · 1 评论 -
SDL适合多窗口播放音频打开方式
在实现OCX播放控件中要求可以多个窗口播放,注意这里的需求不是分屏。官方例子参考:SDL_OpenAudioDeviceSDL_AudioSpec want, have;SDL_AudioDeviceID dev;SDL_memset(&want, 0, sizeof(want)); /* or SDL_zero(want) */want.freq = 48000;want.fo...原创 2018-03-19 15:10:16 · 2035 阅读 · 0 评论 -
C# 窗体视频控件进入全屏模式和退出全屏模式
窗体控件进入全屏模式和退出全屏模式,视频播放的时候用到此功能。工具类代码using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;using Syst...原创 2018-03-13 11:02:34 · 6450 阅读 · 0 评论 -
录像音视频同步原理分析及PTS计算公式
图解分析音视频同步要分别保证开始的PTS一样,PTS是控制帧的显示时间的,所以要实现音视频同步必须分别设置音视频的PTS。注:音、视频最后一帧的PTS时刻不一定相同。1. 视频时间戳计算pts = count++ *(1000/fps); //其中count初始值为0,每次打完时间戳count加1.//在ffmpeg,中的代码为pkt.pts= count++ * (Ctx->tim...原创 2018-03-05 14:10:18 · 5635 阅读 · 2 评论 -
C# DirectX.DirectShow-音视频播放或捕获
英文原文:https://msdn.microsoft.com/en-us/library/windows/desktop/dd375454(v=vs.85).aspxMicrosoft DirectShow应用程序编程接口(API)是Microsoft Windows的媒体流式架构。 使用DirectShow,您的应用程序可以执行高质量的视频和音频播放或捕获。Windows SDK中提供了Dir翻译 2018-01-19 18:55:24 · 1868 阅读 · 0 评论 -
C# DirectX.AudioVideoPlayback音频视频播放
英文原文:https://msdn.microsoft.com/en-us/library/windows/desktop/bb324497(v=vs.85).aspxAudioVideoPlayback应用程序编程接口(API)提供音频和视频文件的基本播放和简单控制。有关更多信息,请参阅Microsoft.DirectX.AudioVideoPlayback托管代码参考文档。使用Video类播放翻译 2018-01-19 18:27:40 · 2630 阅读 · 0 评论 -
FFmpeg和SDL教程(一):制作屏幕截图
英文原文地址:http://dranger.com/ffmpeg/tutorial01.html概观电影文件有几个基本组件。首先,文件本身被称为容器,容器的类型决定了文件中信息的位置。容器的例子是AVI和Quicktime。接下来,你有一堆流;例如,你通常有一个音频流和一个视频流。 (“流”只是“随着时间的推移可用的一系列数据元素”的流行词)。流中的数据元素称为帧。每个流由不同种类的编解码器编码。翻译 2018-01-12 18:23:57 · 2995 阅读 · 0 评论 -
音视频开发:多播系统中RTP如何工作?
RTP,即实时传输协议。更多RTP编程请参考:http://www.socketcoder.com/ IP网络中数据音频/视频传输的关键标准是实时传输协议(RTP)及其关联的配置文件和有效载荷格式。 RTP旨在通过IP网络提供对传输实时媒体(如音频和视频)有用的服务。这些服务包括定时恢复,丢失检测和纠正,有效载荷和源识别,接收质量反馈,媒体同步和会员管理。 RTP最初设计用于组播会议,使用轻量级会话模型。从那时起,它已被证明是有用的一系列其他应用程序:在H.323视频会议,网络广播和电视分配;以及有线和蜂窝翻译 2017-12-29 10:03:46 · 4529 阅读 · 0 评论 -
OpenCV Java教程文档及深入学习图书
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的原创 2017-11-27 17:01:36 · 7926 阅读 · 2 评论 -
终端音视频播放处理方案整理
JavaCV 是一款开源的视觉处理库,基于GPLv2协议,对各种常用计算机视觉库封装后的一组jar包,封装了OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库的接口。JavaCV通过其中的utility类方便的在包括Android在内的Java平台上调用这些接口。原创 2017-11-27 16:29:11 · 1150 阅读 · 0 评论 -
NGINX-RTMP直播服务器搭建-OBS录制推流-VLC视频流播放
网上关于视频直播的资料还是挺多的,看了一些文章,自己也动手实践了下。主要有三个步骤:(1)NginxRTMP服务器搭建(2)视频录制推流器 (3)拉流器(播放器),有了这些就可以开始简单视频相关的直播了。对于延时什么的,还需要深入去研究 ,以及如何进行视频开发等后续再深入研究。Nginx-RTMP服务器搭建参考:利用nginx搭建RTMP视频点播、直播、HLS服务器GitHub ngi...原创 2017-11-29 12:16:59 · 29362 阅读 · 3 评论 -
如何从开发小白到音视频专家
原文地址:http://blog.youkuaiyun.com/dev_csdn/article/details/78738806 作者:卢俊,七牛云客户端团队技术负责人。拥有丰富的音视频领域的开发和实战经验,先后开发过 Android 播放 SDK、Android 推流 SDK、短视频 SDK,并主导了七牛连麦系统的设计和实现。服务过上百家直播客户,包括熊猫、全民、龙珠、汽车之家、懂球帝等。转载 2017-12-08 13:27:48 · 1721 阅读 · 0 评论 -
RTMP与Flowplayer实现web页面视频流播放功能
RTMP与Flowplayer实现web页面视频流播放功能,官网地址:https://flowplayer.com/。原创 2017-11-29 14:09:29 · 11828 阅读 · 1 评论 -
蘑菇街直播实战技巧带你解决直播开发难题
文章来源:http://geek.youkuaiyun.com/news/detail/131009蘑菇街作为一个电商平台,主要服务对象是女性用户。而蘑菇街直播是今年3月21号正式上线的,最初模仿了已有的直播平台,比如映客、花椒这类的秀场直播。但是上线之后,发现秀场直播的模式并不适合我们。随后我们很快推出了第二个版本,加入了电商模块。4月到7月,加入了各种各样丰富的内容。7月对于蘑菇街直播算是一个转载 2016-12-30 10:39:09 · 1160 阅读 · 0 评论 -
HTML5视频直播及H5直播扫盲
文章来源:http://geek.youkuaiyun.com/news/detail/95188分享内容简介: 目前视频直播,尤其是移动端的视频直播已经火到不行了,基本上各大互联网公司都有了自己的直播产品,所以对于直播的一些基本知识和主要技术点也要有所了解,本次分享就向大家介绍一下其中的奥秘。内容大体框架: 1. 怎样利用 HTML5 来播放直播视频 2. 怎样录制直播视频 3.转载 2016-08-15 14:00:22 · 44996 阅读 · 5 评论 -
音视频相关研究-英年早逝的雷宵骅在读博士的项目
优快云的老朋友,博主雷霄骅,于2016年7月17日去世,时年26岁,优快云博客排名第52位。两届优快云博客之星、微软MVP。中国传媒大学通信与信息系统专业在读博士。主要从事与广播电视有关的视音频技术的研究。包括视音频质量评价,视音频编解码,流媒体,媒资检索等。虽然此前没拜读过此公的文章,盖因专业领域不同也;观其一生之成就,令我等望尘莫及,来自心底的唯有敬意!Github:http原创 2016-08-08 14:11:01 · 4507 阅读 · 3 评论 -
LibVLC.NET 与WPF绑定播放器
LibVLC.NET提供.NET绑定到VLC媒体播放器的LibVLC核心库(libVLC)。由于使用了一些更新的LibVLC功能,LibVLC.NET需要VLC版本1.2,可以在这里下载。如果您已将VLC媒体播放器(1.2)安装在其默认位置(例如C:\ Program Files(x86)\ VideoLAN \ VLC),那么LibVLC.NET应该可以直接使用。 要使用libVLC的本地副本,将文件libvlc.dll,libvlccore.dll和文件夹插件复制到名为VLC的文件夹中,以将其应用到您的翻译 2017-12-15 10:48:36 · 3983 阅读 · 0 评论 -
DMediaPlayer - 简单的VLC前端播放器
这是VLC媒体播放器的一个简单但不错的前端。 我已经复制了一些我喜欢的Media Player Classic和其他的东西 - 比如鼠标滚轮控制的音量,更好的滑块,双击全屏切换和无边界面板查看模式。 它需要.NET 3.5框架。它是免费的,希望人们可以欣赏它的简单性。 只需将二进制发行版的内容放入您的VLC播放器文件夹,然后运行DMediaPlayer.exe即可。翻译 2017-12-15 10:34:22 · 1244 阅读 · 0 评论 -
C#Socket TCP通信测试&委托传值到控件&DirectSound录音测试源码
C#里面Socket有异步和同步之分,可参考:https://docs.microsoft.com/en-us/dotnet/framework/network-programming/socket-code-examples进行学习。网络上很多有关DirectSound的Socket声音采集示例,不过都是单独的一个工具类(如:DirectSoundCapture),花了点时间实现了Socket的调用,顺便总结分享一下。原创 2017-12-28 09:49:12 · 737 阅读 · 0 评论 -
FFmpeg音视频编解码示例
FFmpeg示例程序集:https://www3.nd.edu/~sjiang1/docio/ffmpeg_doc/globals_eval.htmlFFmpeg音视频编解码示例:https://www3.nd.edu/~sjiang1/docio/ffmpeg_doc/decoding_encoding_8c-example.html#a19视频编码/* * Video encoding ex原创 2018-01-11 09:42:32 · 3162 阅读 · 0 评论 -
FFmpeg编解码ADPCM_*格式音频
ADPCM格式音频编解码:https://lists.ffmpeg.org/doxygen/3.2/adpcm_8c_source.html以下是代码: 1 /* 2 * Copyright (c) 2001-2003 The FFmpeg project 3 * 4 * first version by Francois Revol (revol@free.fr)原创 2018-01-11 11:15:37 · 9701 阅读 · 0 评论 -
TCP音频流媒体和播放器(IP语音聊天)
这是通过TCP发送和接收音频数据的专有VoIP项目。这是我的第一篇文章播放或捕获音频声音的延伸作为组播发送和接收(RTP)。此应用程序不是通过多播而是通过TCP来传输音频数据。所以你可以确定没有数据丢失,你可以通过子网和路由器转移它们。音频编解码器是U-Law。采样率可以从5000到44100选择。服务器可以在您的本地PC上运行。您可以在运行cmd.exe的帮助下输入“ipconfig”来获取当前的IP4地址。您应该使用静态IP地址,以便可能的客户端在几天后重新连接后不必更改其设置。客户端必须连接到正在运行翻译 2017-12-26 17:42:33 · 6914 阅读 · 0 评论 -
C#使用APlayer开发自制媒体播放器
APlayer 媒体播放引擎是迅雷公司从 2009 年开始开发的通用音视频媒体文件播放内核。迅雷看看播放器和迅雷影音就是使用 APlayer 作为播放内核,目前迅雷看看播放器在PC播放器市场占有率排第一。本质上APlayer播放引擎是一个ActiveX控件,可以被本地其他外部程序嵌入调用,也可以直接被网页嵌入,类似于(Adobe Flash Player)。APlayer不包含界面,但另一个依赖于APlayer的ActiveX控件APlayerUI可以提供丰富的界面元素(播放控制条,Flash广告等),AP转载 2017-12-07 22:48:23 · 11189 阅读 · 2 评论 -
C#基于WindowsMediaPlayer实现音视频文件播放器
开发一个使用c#.net播放音频和视频文件的Windows应用程序。原文地址:http://www.c-sharpcorner.com/uploadfile/e628d9/playing-audio-and-video-files-using-C-Sharp/翻译 2017-12-15 17:33:36 · 14088 阅读 · 2 评论 -
Stream Player Control-流播放器控件
这篇文章是我前一篇文章的一个延续,它展示了一个网络摄像头控件的实现。 最近我创建了另一个控件,并希望与社区分享我的经验。 这是一个基于FFmpeg的流播放器控件,可以执行以下操作:(1)播放 RTSP/RTMP视频流或本地视频文件(2)检索控件显示的当前帧;该控件没有额外的依赖和一个简约的界面。翻译 2017-12-15 14:37:41 · 5582 阅读 · 5 评论 -
视频相关知识积累文章阅读全集:一切始于未知
视频相关知识积累文章阅读全集收录了关于协议、视频编码、视频开发框架工具、视频点播直播推流拉流、以及前端视频播放等处理的文章。知不足,而行止,是为不智。学习是一件需要付出时间的东西,但时间能证明你的付出都是值得的,从管理系统和接口开发中挣脱出来进入视频开发,你会发现这是一个未知而神秘世界,也是技能提升的一个方向。原创 2017-11-30 14:47:07 · 630 阅读 · 0 评论 -
开源代码Window下搭建rtmp流媒体服务器
有这样需求,将摄像头视屏发布出去,并且需要在web网页上通过Flash播放器播放。首先Flash被我所知道的所有浏览器所支持。如果是Activex控件。还需要被用户额外安装,而且一不小心还会出问题。但是Flash player默认是被安装的。而且是比较稳定的。虽然开源的VLC播放器所提供的OCX相当不错。可是个人还是觉得没有Flash直接播放方便。flash支持的视频格式有限,像mp4等格式都不会转载 2016-07-22 15:42:30 · 13281 阅读 · 0 评论