命令:

ffmpeg -i AmericanCaptain.mkv -map 0:v -vcodec copy -map 0:a:1 -acodec copyAmericanCaptain.mp4 -strict -2 
命令说明: 0:v 代表提取所有视频流(一般视频流只有1路)

0:a:1 代表提取第2路音频流

这个MKV是有2个音轨的,第一个为英文,第二个为中文,若不清楚原文件的信息,输入ffmpeg-i AmericanCaptain.mkv查看。

下面是我的文件信息。

Input #0, matroska,webm, from 'AmericanCaptain.mkv':
  Metadata:
    creation_time   : 2014-04-06 07:05:17
  Duration: 02:04:11.58, start: 0.000000, bitrate: 2497 kb/s
    Stream #0:0: Video: h264 (High), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s (default)
    Metadata:
      title           : 英语
    Stream #0:2(chi): Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
    Metadata:
      title           : 国语

如下查看视频信息:

ffmpeg -i qianyan.trec

结果如下:

  1. ffmpeg version N--g183fd30 Copyright (c) - the FFmpeg developers
  2. built with gcc 7.2. (GCC)
  3. configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --e
  4. -enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-
  5. -enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libs
  6. -libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265
  7. l2 --enable-libzimg --enable-lzma --enable-zlib
  8. libavutil . 76.100 / . 76.100
  9. libavcodec 57.106. / 57.106.
  10. libavformat . 82.101 / . 82.101
  11. libavdevice . 8.101 / . 8.101
  12. libavfilter 6.105. / 6.105.
  13. libswscale . 7.103 / . 7.103
  14. libswresample . 8.100 / . 8.100
  15. libpostproc . 6.100 / . 6.100
  16. Input #, mov,mp4,m4a,3gp,3g2,mj2, from 'qianyan.trec':
  17. Metadata:
  18. major_brand : mp42
  19. minor_version :
  20. compatible_brands: mp42isom
  21. creation_time : --13T05::.000000Z
  22. Duration: ::03.04, start: 0.000000, bitrate: kb/s
  23. Stream #:(und): Video: tscc2 (tsc2 / 0x32637374), yuv444p, 1916x1040, kb/s, 27.87 fps, tbr, tbn, tbc (default)
  24. Metadata:
  25. creation_time : --13T05::.000000Z
  26. Stream #:(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv), 640x480 [SAR : DAR :], kb/s, fps, tbr, 30k tbn, tbc (default)
  27. Metadata:
  28. creation_time : --13T05::.000000Z
  29. encoder : JVT/AVC Coding
  30. Stream #:(und): Audio: aac (LC) (mp4a / 0x6134706D), Hz, stereo, fltp, kb/s (default)
  31. Metadata:
  32. creation_time : --13T05::.000000Z
  33. At least one output file must be specified

以上有两个视频轨,一个音频轨,导出第一个视频轨为图片

  1. ffmpeg -i qianyan.trec -map :v: -r -f image2 image-%05d.jpeg

from:http://blog.csdn.net/season_hangzhou/article/details/27503421

【转】用ffmpeg转多音轨的mkv文件的更多相关文章

  1. 用Python和FFmpeg查找大码率的视频文件

    用Python和FFmpeg查找大码率的视频文件 本文使用Python2.7, 这个工作分两步 遍历目录下的视频文件 用ffprobe获取是视频文件的码率信息 用ffprobe 获取json格式的视频 ...

  2. FFmpeg编译找不到库文件

    在编译FFmpeg的时候,用./configure 进行配置,经常会出现找不到库文件的情况,原因大概就两个: 1.没有安装库文件或者安装的库文件版本不对 2.FFmpeg没有找到库文件 前者的问题好解 ...

  3. FFmpeg开发实战(六):使用 FFmpeg 将YUV数据编码为视频文件

    本文中实现的一个小功能是把一个YUV原始视频数据(时间序列图像)经过h264编码为视频码流,然后在使用mp4封装格式封装. 编码&封装的流程图如下: 使用ffmpeg编码流程: 1.首先使用a ...

  4. ubuntu64,ndk-r9 编译 ffmpeg 2.1.1的config文件

    #!/bin/bash NDK_ROOT=/home/wjh/fox/android-ndk-r9c/ PREBUILT=${NDK_ROOT}toolchains/arm-linux-android ...

  5. ffmpeg接收udp输入的h264文件流,推流到rtmp服务器

    ffmpeg -re -f h264 -i udp://192.168.5.49:10002 -vcodec libx264 -f flv rtmp://192.168.5.155/live/1

  6. 【转】ubuntu64,ndk-r9 编译 ffmpeg 2.1.1的config文件

    #!/bin/bash NDK_ROOT=/home/wjh/fox/android-ndk-r9c/ PREBUILT=${NDK_ROOT}toolchains/arm-linux-android ...

  7. ffmpeg使用转码学习

    ffmpeg在官网上描述自身:是一个对视频和音频进行记录,转换,流化的完整的跨平台解决方案.事实上,现在有很多工具都是基于ffmpeg来进行视频音频的处理工具的.比如鼎鼎大名的格式工厂,就是使用ffm ...

  8. ffmpeg 命令

    1.保存文件: ffmpeg -i rtsp://admin:12345@172.29.61.108/Streaming/Channels/1 -vcodec copy -acodec libvo_a ...

  9. ffmpeg, libav学习记录

    转载自:http://hi.baidu.com/y11022053/item/81f12035182257332e0f8196 一个偶然遇到了ffmpeg,看起来不多,而且通用性很强,算是一个扎实的技 ...

随机推荐

  1. 快速掌握JavaScript面试基础知识(三)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  2. 5; XHTML图像

    1.背景图案的设置 2.将图片插入到网页中去 3.用图像作为超链接 4.使用工具建立地图索引 5.切片索引 6.为网站添加图标 5.1 背景图案的设置 格式:<body background=” ...

  3. iphone屏幕镜像 屏幕镜像怎么用

    iPhone手机投屏到电脑设备上,需要使用到AirPlay镜像功能,但是有些苹果新用户朋友一定还不知道iphone屏幕镜像怎么用吧?你要着急下面为你提供解决方法. 使用工具:iphone.电脑 操作方 ...

  4. Salesforce 外部对象

    外部对象(External Object) 在Salesforce中,管理员或开发者可以通过"外部对象"将其他系统中的数据虚拟地展现为Salesforce的对象.每个外部对象都要连 ...

  5. css3 @media支持ie8用respond.js 解决IE6~8的响应式布局问题

    respond.js插件实现原理 接下来,需要理解respond.js的实现思路: 第一步,将head中所有外部引入的CSS文件路径取出来存储到一个数组当中: 第二步,遍历数组,并一个个发送AJAX请 ...

  6. git 入门教程之紧急修复

    和往常一样,每个人团队开发者都在自己的本地分支上进行日常工作,相互独立又相互联系,一直以来相安无事,可是某天下午,上级领导突然急冲冲的打电话告诉你线上出bug了,需要你紧急修复,下班之前必须解决! 我 ...

  7. Android 7.0 fiddler代理抓不到https请求的解决办法

    解决方法:  1.在源码res目录下新建xml目录,增加network_security_config.xml文件 (工程名/app/src/main/res/xml/network_security ...

  8. Thread和Runnable的区别和联系、多次start一个线程会怎么样

    一.Java有两种方式实现多线程,第一个是继承Thread类,第二个是实现Runnable接口.他们之间的联系:   1.Thread类实现了Runable接口. 2.都需要重写里面Run方法. 二. ...

  9. iOS application/json上传文件等

    在和sever后台交互的过程中.有时候.他们需要我们iOS开发者以“application/json”形式上传. NSString *accessUrl = [NSString stringWithF ...

  10. powershell脚本执行绕过powershell下脚本执行限制(cmd下执行)以及在cmd下隐藏脚本窗口

    powershell脚本执行绕过powershell下脚本执行限制(cmd下执行) powershell脚本运行方式有两种,一种是powshell中运行,另一种是在cmd中(在某些情况下相当有用) p ...