¿Qué configuración de ffmpeg produciría un resultado similar para GoToMeeting?

¿Qué configuración de ffmpeg produciría un resultado similar para GoToMeeting?

Hay un hilo en el foro de GoToMeeting donde los videos de g2m se transcodifican a MP4 en una dimensión fija de 1920x1080. Entonces, si la transmisión es de 1290x1104, su MP4 termina con un borde negro alrededor para que sea de 1920x1080. Vea la captura de pantalla a continuación.

ingrese la descripción de la imagen aquí

Hice una prueba ffprobe en el archivo de salida creado por GoToMeeting. Si tuviera que usar ffmpeg, ¿cuáles serían las configuraciones para imitar la salida sin los bordes negros?

El g2m original tiene la siguiente información de códec:

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

El MP4 de salida del convertidor GoToMeeting es:

    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

Veo una mención sobre h264 (Baseline) y aac (LC), pero no estoy seguro de cómo configurarlo en ffmpeg para crear el MP4 con esas configuraciones.

Respuesta1

Para que coincida principalmente con el MP4 creado por GTM, pero sin relleno, usaría

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

Algunas notas:

El MP4 producido por GTM tiene una velocidad de cuadros variable, lo que FFmpeg no hace para la salida MP4. La velocidad de cuadros teórica reportada por el GTM MP4 es de ~30 fps, así que eso es lo que he usado. Tenga en cuenta que la -ropción debería estar presente, ya que .g2m informa una velocidad de cuadros de 1000!, lo cual es una bandera falsa, y FFmpeg intentará generar esa velocidad si no lo anula-r 30

Si las dimensiones del .g2m tienen valores impares, entonces deberán ser pares. Para hacer eso, inserte -vf scale=2*trunc(iw/2):-2después de la -i meeting.g2mopción.

Es extraño que una pista de audio de 44100 Hz se reduzca a 16K. Deberías mantenerlo a la velocidad de origen, así que omítelo.-ar 16k

información relacionada