Quais configurações do ffmpeg produziriam uma saída semelhante para o GoToMeeting?

0

Há um tópico no fórum do GoToMeeting, em que os vídeos do g2m são transcodificados para o MP4 em uma dimensão fixa de 1920x1080. Então, se você está transmitindo é 1290x1104, você está MP4 acaba com uma borda preta ao redor para torná-lo 1920x1080. Veja a captura de tela abaixo.

Eu fiz um ffprobe no arquivo de saída criado pelo GoToMeeting. Se eu fosse usar o ffmpeg, quais seriam as configurações para imitar a saída sem as bordas pretas?

O g2m original tem as seguintes informações de codecs:

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

A saída MP4 do conversor do GoToMeeting é:

    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

Eu vejo menções sobre h264 (Baseline) e aac (LC), mas não sei como você configura isso no ffmpeg para criar o MP4 com essas configurações.

    
por Sun 17.05.2016 / 17:16

1 resposta

2

Para combinar principalmente com o MP4 criado pelo GTM, mas sem preenchimento, eu usaria

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

Algumas notas :

O MP4 produzido pelo GTM é a taxa de quadros variável, que o FFmpeg não faz para a saída MP4. A taxa de quadros nocional reportada pelo GTM MP4 é de ~ 30fps, e é isso que eu usei. Observe que a opção -r deve estar presente, pois o .g2m está relatando uma taxa de quadros de 1000 !, que é um sinalizador falso, e o FFmpeg tentará produzir nessa taxa se não for substituído por -r 30

Se as dimensões do .g2m tiverem valores ímpares, elas terão que ser uniformizadas. Para fazer isso, insira -vf scale=2*trunc(iw/2):-2 após a opção -i meeting.g2m .

É estranho que uma faixa de áudio de 44100 Hz esteja sendo reduzida para 16K. Você deve mantê-lo na taxa de fonte, então pule -ar 16k

    
por 17.05.2016 / 18:15