返回信息流小白,cpp还是大一学的,几乎快忘光了。以后想做音视频开发,请问师兄师姐们应该怎么学习呢
这是一条镜像帖。来源:北邮人论坛 / cpp / #102385同步于 2022/11/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
cpp音视频开发学习路线求助
Ueda
2022/11/25镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
如果就想做事件通知,也就是随便响几声提示音什么的,用libsdl2里的SDL Mixer就行。如果你用Qt,可以用Qt Multimedia里的QSound。GNOME开发人员的话看看libcanberra。
但是如果你想做媒体播放器,或者自己做软件合成器,你就看看PortAudio的回调式API吧。基本上,想要有实时性,就得把程序设计成回调、反应式的,等硬件缓冲区里的样本不够了再往里写。SDL Audio、Qt、ALSA、JACK、PulseAudio、Pipewire也有回调式的API。还有openal之类的库。
如果做Linux开发,看看ALSA、JACK、PulseAudio、Pipewire。其中ALSA是系统接口,剩下的是“声音服务器”(sound server),了解一下声音服务器是个什么东西。Mac的话,CoreAudio。Windows的话,WASAPI。
但如果要做专业音频的话、JACK要看看(以及Mac和Windows上对应的框架),还有Pipewire。顺便了解一下LADSPA、LV2、VST等插件是怎么回事,或许你会想去开发自己的插件,或许你要开发一个音频编辑器或者效果器,要用到这些插件。
如果你想做音频编解码的话,了解一下PCM、MP3、AAC、Ogg Vorbis、Opus、FLAC、Monkey's Audio,顺便了解一下MP3以及各种音频格式的专利问题是怎么回事。看看ffmpeg、gstreamer、vlc、libav什么的框架,以及具体的编解码器比如lame、libvorbis、libflac等。
想复古一下,看看Amiga家庭电脑,还有MOD、XM、IT、S3M等module音乐格式。可以了解一下ProTracker、FastTracker、ScreamTracker,OpenMPT等tracker。想编程的话,试着自己做个.mod文件播放器,或者拿libopenmpt写一个。
想做语音合成和语音识别……我不懂了。
视频……我也不懂。
tql 谢谢大佬指导
【 在 nuanyangyang 的大作中提到: 】
: 如果就想做事件通知,也就是随便响几声提示音什么的,用libsdl2里的SDL Mixer就行。如果你用Qt,可以用Qt Multimedia里的QSound。GNOME开发人员的话看看libcanberra。
: ............
目前没有从事codec相关,纯应用开发。一方面熟悉各种RFC吧,rtp,rtcp,rtcp xr,sdp,ice,stun,dtls,tcp,udp,wireshark,tcpdump,linux,一些弱网工具,tc,clumsy,netblancer,go/c。目前接触到的有pion,janus,freeswitch,webrtc,resip等,大多很容易上手编译、搭建一些环境,尤其是一些基于webrtc的sfu,搭建几个开源的server,结合client代码和弱网工具玩玩,熟悉sdp。熟悉标准和一些比较好的网站如webrtchack等
谢谢 不明觉厉
【 在 ray19950624 的大作中提到: 】
: 目前没有从事codec相关,纯应用开发。一方面熟悉各种RFC吧,rtp,rtcp,rtcp xr,sdp,ice,stun,dtls,tcp,udp,wireshark,tcpdump,linux,一些弱网工具,tc,clumsy,netblancer,go/c。目前接触到的有pion,janus,freeswitch,webrtc,resip等,大多很容易上手编译、搭建一些环境,尤其是一些基于webrtc的sfu,搭建几个开源的server,结合client代码和弱网工具玩玩,熟悉sdp。熟悉
: ............