欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ffmpeg实现屏幕录制、摄像头录制、录音和RTMP推流

程序员文章站 2022-07-01 09:18:12
...

一.项目介绍

本项目适用于新手对ffmpeg框架学习的项目,此项目包括功能,屏幕录制、音频录制、摄像头采集录制、音视频通过RTMP推流。

二、开发环境

QT+vs2017+ffmpeg

三、主要代码介绍

      1.使用QT获取音频输入设备代码

QStringList CUtilDevice::get_input_audio_devices()
{
    //获取输入音频设备名称
    QList<QAudioDeviceInfo> audioDeviceListI = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
    QStringList ret;

    for(int i = 0; i < audioDeviceListI.size(); i++)
    {
        QString device_name = audioDeviceListI.at(i).deviceName();
        bool is_repeat = false;
        for(int j = 0; j < ret.size(); j++)
        {
            if(ret.at(j) == device_name)
            {
                is_repeat = true;
            }
        }

        if(!is_repeat)
        {
            ret.append(device_name);
        }
    }

    return ret;
}

      2.使用QT获取摄像头设备代码

QStringList ret;
    QList<QCameraInfo> device