0

mp4 ファイルからオーディオ (AMR_WB) とビデオ (H264) を分離したい。ffmpeg ライブラリを使用してこれを行うプログラムを作成する必要があります。

FFMPEGdemuxing.cの例にあるファイルでは、生の形式のみを出力として取得できました。

そのコードを変更して、mp4 ファイルからエンコードされた形式で H264 と AMR_WB を取得できますか?

4

1 に答える 1

0

ffmpeg を 2 回実行し、毎回 1 つのトラックだけを出力にコピーするように指定します。

差分 mp4 の例は、コンテナー内のそれぞれのビデオ/オーディオの特定のトラック タイプに適応する必要があるアイデアのほとんどを提供します...

MP4 の例: demux h264 と aac トラックを個別の出力 (tout1、tout2) に

入力内容は?

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'phoneCam_20120902_112701.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2012-09-02 18:27:14
  Duration: 00:00:12.65, start: 0.000000, bitrate: 8011 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 7707 kb/s, SAR 65536:65536 DAR 16:9, 28.64 fps, 29.83 tbr, 90k tbn, 180k tbc
    Metadata:
      creation_time   : 2012-09-02 18:27:14
      handler_name    : VideoHandle
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, s16, 96 kb/s

パス 1、Vid を取得するだけ

ffmpeg -i phoneCam_20120902_112701.mp4 -map 0:0 -c コピー tout1.mp4

Pass2 は aud を取得するだけです

ffmpeg -i phoneCam_20120902_112701.mp4 -map 0:1 -c aac -ar 48000 -ab 48000 -strict -2 tout2.3gp

プログラムでは、CLI から ffmpeg を実行するか、ffmpeg.c で main() を呼び出すだけです。

于 2013-01-26T18:51:08.053 に答える