Skip to content

Instantly share code, notes, and snippets.

@atenni
Created April 14, 2016 00:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atenni/df555ee59a943b9a0c3ea076d4a9f4f7 to your computer and use it in GitHub Desktop.
Save atenni/df555ee59a943b9a0c3ea076d4a9f4f7 to your computer and use it in GitHub Desktop.

How to convert raw Echo360 Personal Capture file with ffmpeg

When Echo360 Personal Capture is set to record video and display, the output file is a container containing both video streams (at least on Windows 7). If you want to edit this footage in third party software before uploading it into Echo you'll probably need to seperate these video streams. Using ffmpeg is one way to do this.

Quick start

ffmpeg -i audiovideodisplay.wmv \
    -map 0:0 \
    -map 0:2 \
    -codec:a libmp3lame \
    -codec:v mpeg2video \
    video-only-output.mp4

Info

An inspection of my sample file looks like this:

$ ffmpeg -i audiovideodisplay.wmv

ffmpeg version N-78304-g37db3e8 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libm
p3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --ena
ble-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-lib
x265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 17.100 / 55. 17.100
  libavcodec     57. 24.101 / 57. 24.101
  libavformat    57. 24.100 / 57. 24.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 28.100 /  6. 28.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, asf, from 'audiovideodisplay.wmv':
  Metadata:
    NumberOfFrames  : 3928
    IsVBR           : 0
    MediaFoundationVersion: 2.112
  Duration: 00:13:06.97, start: 0.000000, bitrate: 1064 kb/s
    Stream #0:0(eng): Audio: wmapro (b[1][0][0] / 0x0162), 44100 Hz, stereo, fltp, 64 kb/s
    Stream #0:1(eng): Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 1920x1080, 4000 kb/s, SAR 1:1 DAR 16:9, 14.17 tbr, 1k tb
n, 1k tbc
    Stream #0:2(eng): Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 1280x720, 6000 kb/s, SAR 1:1 DAR 16:9, 5 fps, 5 tbr, 1k
tbn, 1k tbc
At least one output file must be specified

This file contains three streams listed towards the end: audio, display, and video.

[TODO: explain this more for 1yr-in-the-futre me...]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment