哪些 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 (Baseline) 和 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

相关内容