精华内容
下载资源
问答
  • 基于FFmpeg,实现 8k 16bit 立体声 转码 16k 16bit 单声道
  • ffmpeg -i 1.wav -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -map "[FL]" front_left.wav -map "[FR]" front_right.wav -map "[FC]" front_center.wav -map "[LFE]" lfe.w.

    https://blog.csdn.net/vn700/article/details/104838825

    ffmpeg进行多通道语音分离

    https://blog.csdn.net/panxin801/article/details/106327971/

    多通道

    ffmpeg -i 1.wav -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -map "[FL]" front_left.wav -map "[FR]" front_right.wav -map "[FC]" front_center.wav -map "[LFE]" lfe.wav -map "[BL]" back_left.wav -map "[BR]" back_right.wav

    双通道

    ffmpeg -i 1.wav -map_channel 0.0.0 output/1/1.wav -map_channel 0.0.1 output/2/1.wav
    ————————————————
    版权声明:本文为CSDN博主「CodeBus」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/vn700/article/details/104838825

    展开全文
  • 最近在实验室进行视频音频处理任务,需要将...使用ffmpeg将立体声视频转换成单声道视频。 ffmpeg -y -i L99.mp4 -ac 1 D99.mp4 使用ffmpeg将立体声视频转换成静音视频。 ffmpeg -i L99.mp4 -an J99.mp4 ...

    最近在实验室进行视频音频处理任务,需要将下载的立体声视频转换成单声道和静音。

    使用ffmpeg将立体声视频转换成单声道视频。

      ffmpeg -y -i L99.mp4 -ac 1 D99.mp4

    使用ffmpeg将立体声视频转换成静音视频。

    ffmpeg -i L99.mp4 -an J99.mp4

     

    展开全文
  • 直接看命令: E:\...ffmpeg -i roundDeskS02E01.mp4 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 roundDeskS02E01.pcm ffmpeg version git-2020-03-06-cfd9a65 Copyright (c) 2000-2020 the FFm...

      直接看命令:

    E:\BaiduNetdiskDownload>ffmpeg -i roundDeskS02E01.mp4 -acodec pcm_s16le -f s16le -ac 1 -ar 16000 roundDeskS02E01.pcm
    ffmpeg version git-2020-03-06-cfd9a65 Copyright (c) 2000-2020 the FFmpeg developers
      built with gcc 9.2.1 (GCC) 20200122
      configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
      libavutil      56. 42.100 / 56. 42.100
      libavcodec     58. 73.102 / 58. 73.102
      libavformat    58. 39.101 / 58. 39.101
      libavdevice    58.  9.103 / 58.  9.103
      libavfilter     7. 77.100 /  7. 77.100
      libswscale      5.  6.100 /  5.  6.100
      libswresample   3.  6.100 /  3.  6.100
      libpostproc    55.  6.100 / 55.  6.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'roundDeskS02E01.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.20.100
      Duration: 00:39:54.27, start: 0.000000, bitrate: 815 kb/s
        Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x606, 744 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
        Metadata:
          handler_name    : VideoHandler
        Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
    File 'roundDeskS02E01.pcm' already exists. Overwrite? [y/N] y
    Stream mapping:
      Stream #0:1 -> #0:0 (aac (native) -> pcm_s16le (native))
    Press [q] to stop, [?] for help
    Output #0, s16le, to 'roundDeskS02E01.pcm':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.39.101
        Stream #0:0(und): Audio: pcm_s16le, 16000 Hz, mono, s16, 256 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          encoder         : Lavc58.73.102 pcm_s16le
    size=   74821kB time=00:39:54.26 bitrate= 256.0kbits/s speed= 303x
    video:0kB audio:74821kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
    

      参数说明:

      1、-acodec pcm_s16le -> acodec:音频编码,pcm:pcm原始音频,s16:采样位为16位,le:小端点

      2、-f s16le -> f:音频格式,s16le:参见上面

      3、-ac 1 -> ac:声道数,指定1

      4、-ar 16000 -> ar:采用率,指定16K

      转好之后可以到这里试试能否正常播放http://support.bjdn.openstorage.cn/api/pcm_player/index.html。代码转化参见:JavaCV音视频转单声道16位16K赫兹小端点pcm音频

    展开全文
  • #include <iostream> #include <...extern "C" // 因为FFmpeg是纯C程序 { #include <libavformat/avformat.h> #include <libavcodec/avcodec.h> #include <libavutil/channel_layout

    https://blog.csdn.net/qq_37003193/article/details/93870141

     

    PCM双声道分离为单声道

    https://blog.csdn.net/chinabinlang/article/details/72932947?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

    #include <iostream>
    #include <string>
    extern "C" // 因为FFmpeg是纯C程序
    {
    #include <libavformat/avformat.h>
    #include <libavcodec/avcodec.h>
    #include <libavutil/channel_layout.h>
    #include <libavutil/common.h>
    #include <libavutil/imgutils.h>
    #include <libswscale/swscale.h>   
    #include <libavutil/imgutils.h>      
    #include <libavutil/opt.h>         
    #include <libavutil/mathematics.h>      
    #include <libavutil/samplefmt.h>
    #include <libswresample/swresample.h>
    };
    using namespace std;
    #define FRAME_SIZE 3200
    #define SAMPLE_RATE 16000
    int main()
    {
        AVCodecContext	*pCodecCtx;
    	AVCodec			*pCodec;
        AVPacket packet;
        char *input = "/workspace/src/ffmpegdemo/data/3.mp4";
        enum AVSampleFormat out_sample_fmt = AV_SAMPLE_FMT_S16;
        av_register_all();
        avformat_network_init();
        AVFormatContext* format = avformat_alloc_context();
        // 打开input文件
        if (avformat_open_input(&format, input, NULL, NULL) != 0) {
            return NULL;
        }
        if (avformat_find_stream_info(format, NULL) < 0) {
            return NULL;
        }
        // 找到input文件中的音频流
        int stream_index =- 1;
        for (int i=0; i<format->nb_streams; i++) {
            if (format->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
                stream_index = i;
                break;
            }
        }
        if (stream_index == -1) {
            return NULL;
        }
        AVStream* stream = format->streams[stream_index];
        pCodecCtx = format->streams[stream_index]->codec;
        // 找到解码器
        pCodec = avcodec_find_decoder(pCodecCtx->codec_id);
        if(pCodec == NULL){
        	printf("Codec not found.\n");
        }
        if(avcodec_open2(pCodecCtx, pCodec,NULL)<0){
        	printf("Could not open codec.\n");
        }
        // 准备重采样
        struct SwrContext* swr = swr_alloc();
        av_opt_set_int(swr, "in_channel_count",  pCodecCtx->channels, 0);
        av_opt_set_int(swr, "out_channel_count", 1, 0);
        av_opt_set_int(swr, "in_channel_layout",  pCodecCtx->channel_layout, 0);
        av_opt_set_int(swr, "out_channel_layout", AV_CH_LAYOUT_MONO, 0);
        av_opt_set_int(swr, "in_sample_rate", pCodecCtx->sample_rate, 0);
        av_opt_set_int(swr, "out_sample_rate", SAMPLE_RATE, 0);
        av_opt_set_sample_fmt(swr, "in_sample_fmt",  pCodecCtx->sample_fmt, 0);
        av_opt_set_sample_fmt(swr, "out_sample_fmt", out_sample_fmt,  0);
        swr_init(swr);
        if (!swr_is_initialized(swr)) {
            fprintf(stderr, "Resampler has not been properly initialized\n");
            return NULL;
        }
        av_init_packet(&packet);
        // 初始化frame
        AVFrame* frame = av_frame_alloc();
        if (!frame) {
        	fprintf(stderr, "Error allocating the frame\n");
        	return NULL;
        }
        char *data = NULL;
        while (av_read_frame(format, &packet) >= 0) 
        {
            // 判断是否为音频
            if (packet.stream_index != stream_index)
            {
                continue;
            }
            int gotFrame;
            // 解码一帧音频
            if (avcodec_decode_audio4(pCodecCtx, frame, &gotFrame, &packet) < 0) {
                break;
            }
            if (!gotFrame) {
                continue;
            }
            uint8_t* buffer;
            av_samples_alloc((uint8_t**) &buffer, NULL, 1, frame->nb_samples,
            out_sample_fmt, 0);
            // 重采样
            int frame_count = swr_convert(swr, (uint8_t**) &buffer, frame->nb_samples, 
                                               (const uint8_t**) frame->data, frame->nb_samples);
            data = (char*) realloc(data, frame_count * sizeof(char));
            // 采样完的音频数据复制到data
            memcpy(data, buffer, frame_count * sizeof(char));
        }
        av_frame_free(&frame);
        swr_free(&swr);
        avcodec_close(pCodecCtx);
        avformat_free_context(format);
    }
    

     

    展开全文
  • ffmpeg3版本的解码接口做了不少调整,网上找了好多 代码学习,百分九十九都会有 声明为己否决的问题以下代码是更新了新接口 vs2015 x64下运行。#include &lt;iostream&gt; #include &lt;stdio.h&gt;...
  • //声道 AVCodecID audio_codecID = AV_CODEC_ID_AAC; int audio_frame_size = 1024; AVBitStreamFilterContext * m_aac_adtstoasc; //aac->adts to asc过滤器 int out_framesize; //音频输出流的每帧采样数(aac...
  • FFMPEG

    2019-04-13 11:16:38
    FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供的工具,如 ffmpeg, ffplay, ffprobe,来编辑你的音视频文件。 本文将简要介绍一下 FFMPEG 库的基本目录结构...
  • ffmpeg

    2020-07-09 08:14:41
    转码 ffmpeg -i xxxx.mp4 -...上传的识别的音频格式是有要求的,目前支持的格式是 pcm和wav格式、音频采样率要是16k或者8k、采样精度16位、单声道音频 (采样率 16k 比 8k 识别效果要好一些,识别的音频长度最大为..
  • 准备条件,安装ffmpeg ffmpeg官网 ...使用wave进行单声道转换为双声道 使用AudioSegment进行格式转换并提高音量 import wave from pydub import AudioSegment import os import numpy as np import str...
  • FFmpeg

    千次阅读 2019-04-18 21:51:51
    FFmpeg 处理音视频开源框架 C/C++编写 非常优秀的多媒体框架 解码,编码,转码,复用,解复用,过滤音视频数据 音视频的广泛应用 直播类:音视频会议,教育直播,娱乐/游戏直播等 短视频:抖音,快手,...
  •  有时候我们只需要音频里的单声道内容,比如喜欢用电脑录制卡拉ok的朋友就经常为了找歌曲的伴唱而流连于各大伴奏网站。现在的网络翻唱非常流行,很多网络歌手就是先搜索喜欢的歌曲的伴奏,然后利用Adobe Audition...
  • 实现方法:利用ffmpeg自带的命令来完成 首先要确保ffmpeg的/bin放到了环境变量中,在cmd里输入ffmpeg可测试是否能用 接着便是在python里 import subprocess 这可以帮助我们在python里面调用ffmpeg的命令 ffmpeg的...
  • 求助,语音wav 采样频率8000,采样位数16,单声道,PCM 怎么转换成 wav 8000采样 8位 单声道 CCITT A-Law格式,谁有源码或之前做过的?
  • Ffmpeg为音频设置采样率,和声道

    千次阅读 2019-11-10 15:57:39
    原始音频信息,采样率44100 Hz,双声道stereo Duration: 00:11:23.60, start: 0.025057, bitrate: 128 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128...ffmpeg -i C:\Users\Administrator\Desktop\m...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,572
精华内容 1,028
关键字:

ffmpeg单声道