Caveat: I'm not very familiar with audio codecs and terminology, so it could be that I'm not using the correct words to describe what I want to do. I've attempted to make that clear.
I'm using ecamm's Call Recorder for Skype. It records to a QuickTime MOV file with two audio streams. One is the audio recorded from the mic and the other is the audio recorded from the speakers. They provide a tool called "Convert to Internet" that they ship with their Movie Tools distribution.
I have a meeting every week that I've been recording, and I'm looking for a way to automate the process of "flattening" these audio streams into a single stream so I can share with others. The "Convert to Internet" application only supports converting a single file at a time, and it's a GUI app that works by dragging and dropping the file to convert onto the app's main window.
I'd like to find a way to achieve the same end result "Convert to Internet" application gets, but by using something that I run on the command line, (preferably from a Linux box that I can spin up to do the job and then spin down when it's done).
I think the product guide does a pretty good job of explaining the process that needs to happen. In the event that my rambling here is not all that clear.
I've dug into the documentation for FFmpeg, which I thought would be the best candidate for pulling this off. I found the
amerge filter, but the docs make it sound like it'll just give me a single audio stream with 4 chanels (left and right from the first stream and left and right from the second stream). Since that's not what I want, I looked at the
amix filter, but that appears to work with streams from different input files, and not multiple streams from a single file.
Any help getting pointed in the right direction is greatly appreciated.
I thought the output of
ffprobe for the file that I'm working with might also be useful.
$ ffprobe input.mov ffprobe version 2.8.3 Copyright (c) 2007-2015 the FFmpeg developers built with Apple LLVM version 7.0.0 (clang-700.1.76) configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2015-09-18 17:04:00 Duration: 01:07:51.64, start: 0.000000, bitrate: 1503 kb/s Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 43 kb/s (default) Metadata: creation_time : 2015-09-18 17:04:00 handler_name : Apple Alias Data Handler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2015-09-18 17:04:00 handler_name : Apple Alias Data Handler Stream #0:2(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 1381 kb/s, SAR 1:1 DAR 16:9, 19.63 fps, 14.42 tbr, 1k tbn, 50 tbc (default) Metadata: creation_time : 2015-09-18 17:04:00 handler_name : Apple Alias Data Handler encoder : H.264