.MKV到.MP4选择音频和字幕?

时间:2016-12-11 13:50:20

标签: audio video ffmpeg

以下流属于具有双音频的.mkv文件;

Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x960 [SAR 1:1 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Stream #0:1(eng): Audio: mp3, 48000 Hz, stereo, s16p, 256 kb/s (default)
Stream #0:2(por): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3(eng): Subtitle: ass (default)

我应该使用哪个ffmpeg命令创建一个葡萄牙语语言的输出,已经有英文字幕?

我发现了一些可以提取我指定的基于语言的标题的命令,但是我没有找到与选择音频类型相关的任何内容。

这是ffmpeg的整个输出:

configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 41.101 / 55. 41.101
  libavcodec     57. 66.108 / 57. 66.108
  libavformat    57. 58.101 / 57. 58.101
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 67.100 /  6. 67.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Input #0, matroska,webm, from 'mydualmkv.mkv':
  Metadata:
    title           : Avidemux
    encoder         : libebml v1.2.3 + libmatroska v1.3.0
    creation_time   : 2015-08-04T15:25:49.000000Z
  Duration: 00:23:37.44, start: 0.000000, bitrate: 1908 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x960 [SAR 1:1 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Stream #0:1(eng): Audio: mp3, 48000 Hz, stereo, s16p, 256 kb/s (default)
    Stream #0:2(pot): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:3(eng): Subtitle: ass (default)
[mp4 @ 0000000000c36700] track 1: codec frame size is not set
Output #0, mp4, to 'path-to-output.mp4':
  Metadata:
    title           : Avidemux
    encoder         : Lavf57.58.101
    Stream #0:0: Video: h264 (High) ([33][0][0][0] / 0x0021), yuv420p(progressive), 1280x960 [SAR 1:1 DAR 4:3], q=2-31, 29.97 fps, 29.97 tbr, 16k tbn, 1k tbc (default)
    Stream #0:1(por): Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2(eng): Subtitle: mov_text ([8][0][0][0] / 0x0008) (default)
    Metadata:
      encoder         : Lavc57.66.108 mov_text
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)
  Stream #0:3 -> #0:2 (ass (ssa) -> mov_text (native))
Press [q] to stop, [?] for help
frame= 5451 fps=0.0 q=-1.0 size=   39273kB time=00:03:01.89 bitrate=1768.7kbits/s speed= 363x    
frame=11708 fps=11695 q=-1.0 size=   79743kB time=00:06:30.62 bitrate=1672.3kbits/s speed= 390x    
frame=17902 fps=11926 q=-1.0 size=  122134kB time=00:09:57.60 bitrate=1674.2kbits/s speed= 398x    
frame=24717 fps=12352 q=-1.0 size=  166885kB time=00:13:44.83 bitrate=1657.4kbits/s speed= 412x    
frame=31995 fps=12792 q=-1.0 size=  211010kB time=00:17:47.74 bitrate=1618.9kbits/s speed= 427x    
frame=38979 fps=12988 q=-1.0 size=  260758kB time=00:21:40.64 bitrate=1642.4kbits/s speed= 433x    
frame=42478 fps=13076 q=-1.0 Lsize=  286844kB time=00:23:37.31 bitrate=1657.9kbits/s speed= 436x    
video:252490kB audio:33218kB subtitle:11kB other streams:0kB global headers:0kB muxing overhead: 0.393387%

1 个答案:

答案 0 :(得分:0)

使用

ffmpeg -i in.mkv -map 0:v -map 0:m:language:por -map 0:s -c copy -c:a aac -c:s mov_text out.mp4

这将复制视频,葡萄牙语音频并将英文字幕转码为MP4。

相关问题