实例介绍
基于ffmpeg开发的windows录屏软件,同时录制桌面、麦克风、系统声音并合成MP4文件,Visual Studio版本最低vs2015,启动前请修改本地的声音捕获设备名称。
【实例截图】
【核心代码】
Recorder
└── Recorder
├── ffmpeg
│ ├── bin
│ │ ├── avcodec-58.dll
│ │ ├── avdevice-58.dll
│ │ ├── avfilter-7.dll
│ │ ├── avformat-58.dll
│ │ ├── avutil-56.dll
│ │ ├── postproc-55.dll
│ │ ├── swresample-3.dll
│ │ └── swscale-5.dll
│ ├── include
│ │ ├── libavcodec
│ │ │ ├── ac3_parser.h
│ │ │ ├── adts_parser.h
│ │ │ ├── avcodec.h
│ │ │ ├── avdct.h
│ │ │ ├── avfft.h
│ │ │ ├── d3d11va.h
│ │ │ ├── dirac.h
│ │ │ ├── dv_profile.h
│ │ │ ├── dxva2.h
│ │ │ ├── jni.h
│ │ │ ├── mediacodec.h
│ │ │ ├── qsv.h
│ │ │ ├── vaapi.h
│ │ │ ├── vdpau.h
│ │ │ ├── version.h
│ │ │ ├── videotoolbox.h
│ │ │ ├── vorbis_parser.h
│ │ │ └── xvmc.h
│ │ ├── libavdevice
│ │ │ ├── avdevice.h
│ │ │ └── version.h
│ │ ├── libavfilter
│ │ │ ├── avfilter.h
│ │ │ ├── buffersink.h
│ │ │ ├── buffersrc.h
│ │ │ └── version.h
│ │ ├── libavformat
│ │ │ ├── avformat.h
│ │ │ ├── avio.h
│ │ │ └── version.h
│ │ ├── libavutil
│ │ │ ├── adler32.h
│ │ │ ├── aes_ctr.h
│ │ │ ├── aes.h
│ │ │ ├── attributes.h
│ │ │ ├── audio_fifo.h
│ │ │ ├── avassert.h
│ │ │ ├── avconfig.h
│ │ │ ├── avstring.h
│ │ │ ├── avutil.h
│ │ │ ├── base64.h
│ │ │ ├── blowfish.h
│ │ │ ├── bprint.h
│ │ │ ├── bswap.h
│ │ │ ├── buffer.h
│ │ │ ├── camellia.h
│ │ │ ├── cast5.h
│ │ │ ├── channel_layout.h
│ │ │ ├── common.h
│ │ │ ├── cpu.h
│ │ │ ├── crc.h
│ │ │ ├── des.h
│ │ │ ├── dict.h
│ │ │ ├── display.h
│ │ │ ├── downmix_info.h
│ │ │ ├── encryption_info.h
│ │ │ ├── error.h
│ │ │ ├── eval.h
│ │ │ ├── ffversion.h
│ │ │ ├── fifo.h
│ │ │ ├── file.h
│ │ │ ├── frame.h
│ │ │ ├── hash.h
│ │ │ ├── hdr_dynamic_metadata.h
│ │ │ ├── hmac.h
│ │ │ ├── hwcontext_cuda.h
│ │ │ ├── hwcontext_d3d11va.h
│ │ │ ├── hwcontext_drm.h
│ │ │ ├── hwcontext_dxva2.h
│ │ │ ├── hwcontext.h
│ │ │ ├── hwcontext_mediacodec.h
│ │ │ ├── hwcontext_qsv.h
│ │ │ ├── hwcontext_vaapi.h
│ │ │ ├── hwcontext_vdpau.h
│ │ │ ├── hwcontext_videotoolbox.h
│ │ │ ├── imgutils.h
│ │ │ ├── intfloat.h
│ │ │ ├── intreadwrite.h
│ │ │ ├── lfg.h
│ │ │ ├── log.h
│ │ │ ├── lzo.h
│ │ │ ├── macros.h
│ │ │ ├── mastering_display_metadata.h
│ │ │ ├── mathematics.h
│ │ │ ├── md5.h
│ │ │ ├── mem.h
│ │ │ ├── motion_vector.h
│ │ │ ├── murmur3.h
│ │ │ ├── opt.h
│ │ │ ├── parseutils.h
│ │ │ ├── pixdesc.h
│ │ │ ├── pixelutils.h
│ │ │ ├── pixfmt.h
│ │ │ ├── random_seed.h
│ │ │ ├── rational.h
│ │ │ ├── rc4.h
│ │ │ ├── replaygain.h
│ │ │ ├── ripemd.h
│ │ │ ├── samplefmt.h
│ │ │ ├── sha512.h
│ │ │ ├── sha.h
│ │ │ ├── spherical.h
│ │ │ ├── stereo3d.h
│ │ │ ├── tea.h
│ │ │ ├── threadmessage.h
│ │ │ ├── timecode.h
│ │ │ ├── time.h
│ │ │ ├── timestamp.h
│ │ │ ├── tree.h
│ │ │ ├── twofish.h
│ │ │ ├── tx.h
│ │ │ ├── version.h
│ │ │ └── xtea.h
│ │ ├── libpostproc
│ │ │ ├── postprocess.h
│ │ │ └── version.h
│ │ ├── libswresample
│ │ │ ├── swresample.h
│ │ │ └── version.h
│ │ └── libswscale
│ │ ├── swscale.h
│ │ └── version.h
│ └── lib
│ ├── avcodec-58.def
│ ├── avcodec.lib
│ ├── avdevice-58.def
│ ├── avdevice.lib
│ ├── avfilter-7.def
│ ├── avfilter.lib
│ ├── avformat-58.def
│ ├── avformat.lib
│ ├── avutil-56.def
│ ├── avutil.lib
│ ├── libavcodec.dll.a
│ ├── libavdevice.dll.a
│ ├── libavfilter.dll.a
│ ├── libavformat.dll.a
│ ├── libavutil.dll.a
│ ├── libpostproc.dll.a
│ ├── libswresample.dll.a
│ ├── libswscale.dll.a
│ ├── postproc-55.def
│ ├── postproc.lib
│ ├── swresample-3.def
│ ├── swresample.lib
│ ├── swscale-5.def
│ └── swscale.lib
├── libmp4v2
│ ├── bin
│ │ ├── Debug
│ │ │ └── libmp4v2.dll
│ │ └── Release
│ │ └── libmp4v2.dll
│ ├── include
│ │ └── mp4v2
│ │ ├── chapter.h
│ │ ├── file.h
│ │ ├── file_prop.h
│ │ ├── general.h
│ │ ├── isma.h
│ │ ├── itmf_generic.h
│ │ ├── itmf_tags.h
│ │ ├── mp4v2.h
│ │ ├── platform.h
│ │ ├── project.h
│ │ ├── project.h.in
│ │ ├── sample.h
│ │ ├── streaming.h
│ │ ├── track.h
│ │ └── track_prop.h
│ └── lib
│ ├── libmp4v2D.lib
│ └── libmp4v2.lib
├── portaudio
│ ├── bin
│ │ └── portaudio_x86.dll
│ ├── include
│ │ ├── pa_asio.h
│ │ ├── pa_jack.h
│ │ ├── pa_linux_alsa.h
│ │ ├── pa_mac_core.h
│ │ ├── pa_win_ds.h
│ │ ├── pa_win_wasapi.h
│ │ ├── pa_win_waveformat.h
│ │ ├── pa_win_wdmks.h
│ │ ├── pa_win_wmme.h
│ │ └── portaudio.h
│ └── lib
│ ├── portaudio_static_x86.lib
│ └── portaudio_x86.lib
├── README.md
├── Recorder
│ ├── AecKsBinder.cpp
│ ├── AecKsBinder.h
│ ├── common.h
│ ├── encoder_264.cpp
│ ├── encoder_264.h
│ ├── encoder_aac.cpp
│ ├── encoder_aac.h
│ ├── error_define.h
│ ├── filter_audio.cpp
│ ├── filter_audio.h
│ ├── headers_ffmpeg.h
│ ├── log_helper.h
│ ├── main.cpp
│ ├── muxer_define.h
│ ├── muxer_libmp4v2.cpp
│ ├── muxer_libmp4v2.h
│ ├── muxer_mp4.cpp
│ ├── muxer_mp4.h
│ ├── ReadMe.txt
│ ├── record_audio.cpp
│ ├── record_audio_define.h
│ ├── record_audio_dshow.cpp
│ ├── record_audio_dshow.h
│ ├── record_audio_factory.cpp
│ ├── record_audio_factory.h
│ ├── record_audio.h
│ ├── record_audio_wasapi.cpp
│ ├── record_audio_wasapi.h
│ ├── record_desktop.cpp
│ ├── record_desktop_define.h
│ ├── record_desktop_factory.cpp
│ ├── record_desktop_factory.h
│ ├── record_desktop_gdi.cpp
│ ├── record_desktop_gdi.h
│ ├── record_desktop.h
│ ├── record_devices.cpp
│ ├── record_devices.h
│ ├── Recorder.cpp
│ ├── Recorder.vcxproj
│ ├── Recorder.vcxproj.filters
│ ├── Recorder.vcxproj.user
│ ├── resample_pcm.cpp
│ ├── resample_pcm.h
│ ├── ring_buffer.cpp
│ ├── ring_buffer.h
│ ├── stdafx.cpp
│ ├── stdafx.h
│ ├── targetver.h
│ └── transcode_aac.cpp
└── Recorder.sln
25 directories, 230 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论