什麼樣的 ffmpeg 設定會為 GoToMeeting 產生類似的輸出?

什麼樣的 ffmpeg 設定會為 GoToMeeting 產生類似的輸出?

GoToMeeting 論壇上有一個帖子,其中將 g2m 視頻轉碼為固定尺寸 1920x1080 的 MP4。因此,如果您播放的解析度為 1290x1104,則 MP4 的周圍會出現黑色邊框,使其解析度為 1920x1080。請參閱下面的螢幕截圖。

在此輸入影像描述

我對 GoToMeeting 建立的輸出檔案進行了 ffprobe。如果我要使用 ffmpeg,模擬沒有黑色邊框的輸出的設定是什麼?

原始的g2m有以下編解碼訊息:

Input #0, asf, from 'c:\meeting.g2m':
  Metadata:
    DeviceConformanceTemplate: L2
    WMFSDKNeeded    : 0.0.0.0000
    WMFSDKVersion   : 12.0.9600.17415
    IsVBR           : 1
    WM/ToolVersion  : 7.16.0 Build 4800
    WM/ToolName     : GoToMeeting
    BitRateFrom the writer: 173566
    Audio samples   : 18871
    Video samples   : 6977
    recording time  : Fri, 29 Apr 2016 12:12:57 Mountain Daylight Time
  Duration: 00:31:30.99, start: 0.000000, bitrate: 176 kb/s
    Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 1 channels, fltp, 48 kb/s
    Stream #0:1: Data: none, 2 kb/s
    Stream #0:2: Video: g2m (G2M5 / 0x354D3247), rgb24, 1290x1104, 125 kb/s, 1k tbr, 1k tbn, 1k tbc
Unsupported codec with id 0 for input stream 1

GoToMeeting 轉換器的輸出 MP4 為:

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:\meeting.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2016-05-12 20:00:32
  Duration: 00:31:30.94, start: 0.000000, bitrate: 163 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 98 kb/s, 6.13 fps, 29.85 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : Citrix h264 stream handler
      encoder         : AVC Coding
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 16000 Hz, mono, fltp, 64 kb/s (default)
    Metadata:
      handler_name    : AAC stream handler

我看到提到 h264(基線)和 aac(LC),但不確定如何在 ffmpeg 中配置它以使用這些設定建立 MP4。

答案1

為了主要匹配 GTM 創建的 MP4,但沒有填充,我會使用

ffmpeg -i meeting.g2m -profile:v baseline -c:v libx264 -crf 23 -r 30 -pix_fmt yuv420p
       -c:a aac -b:a 64k -ar 16k -ac 1 output.mp4

一些筆記:

GTM產生的MP4是可變幀率的,而FFmpeg對於MP4輸出則不這樣做。 GTM MP4 報告的名義幀速率約為 30fps,這就是我所使用的。請注意,該-r選項應該存在,因為 .g2m 報告的幀速率為 1000! ,這是一個錯誤標誌,如果沒有被覆蓋,FFmpeg 將嘗試以該速率輸出-r 30

如果 .g2m 的尺寸有奇數值,則必須將它們設為偶數。為此,請在選項-vf scale=2*trunc(iw/2):-2後插入-i meeting.g2m

奇怪的是 44100 Hz 音軌被降採樣到 16K。您應該將其保持在來源速率,因此請跳過-ar 16k

相關內容