1

Мой отец может использовать только старый видеоредактор (Pinnacle Studio 12), который очень требователен к тому, какие видеофайлы он импортирует. Вот вывод avprobe одного из видео, которое ему удается импортировать:

encoder: Lavf53.24.2    bitrate: 9884 kb/s
Stream #0.0: Video: mpeg4 (Simple Profile), yuv420p, 
       1920x1080 [PAR 9:16 DAR 1:1], 25 tbn, 25 tbc

Я хочу использовать утилиту linux, такую как avconv/ffmpeg, чтобы конвертировать все видеофайлы моего отца в вышеуказанный формат. После нескольких часов чтения и тестирования я смог сопоставить все свойства видеопотока, кроме tbn, tbc и bitrate (см. Примечание № 1 с командой, которую я использую). Вот что avprob сообщает о видео, которые я создаю:

bitrate: 36617 kb/s
Stream #0.0: Video: mpeg4 (Simple Profile), yuv420p, 
       1920x1080 [PAR 9:16 DAR 1:1], 25 fps, 25 tbr, 90k tbn, 65535 tbc

А вот разница, чтобы избавить вас от необходимости перепроверить два выхода:

ORIG: bitrate:  9884 kb/s                  25 tbn,    25 tbc
MINE: bitrate: 36617 kb/s 25 fps, 25 tbr, 90k tbn, 65535 tbc

На данный момент я застрял. Мне трудно даже найти и понять, что такое tbn, tbr и tbc. Мне также интересно, почему avconv игнорирует параметр -b:v 9756, но я полагаю, что я выясню это с помощью небольшого количества поиска и тестирования.

ОБНОВИТЬ

Я попробовал ту же команду на своем ноутбуке, который работает под управлением Ubuntu 12.04 и avconv 0.8.16-4:0.8.16, и он производит видео с точно такими же свойствами! Смотрите примечание № 2. Конечно, очень сложно перевести ПК моего отца с Ubuntu 14.04 на 12.04, поэтому я все еще ищу решение, которое будет там работать. [если честно, есть разница в аудио кодеке в команде, которая запускается на моем ПК. Мне пришлось заменить mp3 на libmp3lame так как по какой-то причине первый не работает.]


Примечание # 1 Вот команда, которую я использую (в Ubuntu 14.04):

avconv -i GOPR0392.MP4 \
       -codec:a mp3 -b:a 128k -ar:a 44100  \
       -codec:v libxvid -aspect:v 1 -b:v 9756k   \
       test.avi

И это вывод:

avconv version 9.16-6:9.16-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
  built on Aug 10 2014 18:16:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 2 with DTS 0, packet 3 with DTS 0
...
...
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 54 with DTS 0, packet 55 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 55 with DTS 0, packet 56 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x11f8060] Non-increasing DTS in stream 3: packet 56 with DTS 0, packet 57 with DTS 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GOPR0392.MP4':
  Metadata:
    major_brand     : mp41
    minor_version   : 538120216
    compatible_brands: mp41
    creation_time   : 2015-02-08 01:30:55
  Duration: 00:03:02.33, start: 0.000000, bitrate: 45149 kb/s
    Stream #0.0(eng): Video: h264 (High), yuvj420p, 1920x1080 [PAR 1:1 DAR 16:9], 45007 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Metadata:
      creation_time   : 2015-02-08 01:30:55
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, fltp, 128 kb/s
    Metadata:
      creation_time   : 2015-02-08 01:30:55
    Stream #0.2(eng): Data: tmcd / 0x64636D74
    Metadata:
      creation_time   : 2015-02-08 01:30:55
    Stream #0.3(eng): Data: fdsc / 0x63736466, 9 kb/s
    Metadata:
      creation_time   : 2015-02-08 01:30:55
File 'test.avi' already exists. Overwrite ? [y/N] y
Output #0, avi, to 'test.avi':
  Metadata:
    major_brand     : mp41
    minor_version   : 538120216
    compatible_brands: mp41
    creation_time   : 2015-02-08 01:30:55
    ISFT            : Lavf54.20.4
    Stream #0.0(eng): Video: libxvid, yuv420p, 1920x1080 [PAR 9:16 DAR 1:1], q=2-31, 9756 kb/s, 90k tbn, 90k tbc
    Metadata:
      creation_time   : 2015-02-08 01:30:55
    Stream #0.1(eng): Audio: libmp3lame, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      creation_time   : 2015-02-08 01:30:55
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libxvid)
  Stream #0:1 -> #0:1 (aac -> libmp3lame)
Press ctrl-c to stop encoding
^Cframe= 1531 fps= 11 q=2.0 Lsize=  261134kB time=61.18 bitrate=34966.6kbits/s    
video:131019kB audio:955kB global headers:0kB muxing overhead 97.868984%
Received signal 2: terminating. 

Примечание # 2 Та же команда из моего latop (Ubuntu 12.04):

avconv -i GOPR0399.MP4 -codec:a libmp3lame -b:a 128k -ar:a 44100    -codec:v libxvid -aspect:v 1 -b:v 9756k   test.avi
avconv version 0.8.16-4:0.8.16-0ubuntu0.12.04.1, Copyright (c) 2000-2014 the Libav developers
built on Sep 16 2014 18:35:14 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GOPR0399.MP4':
Metadata:
    major_brand     : mp41
    minor_version   : 538120216
    compatible_brands: mp41
    creation_time   : 2015-02-11 17:53:34
Duration: 00:00:29.48, start: 0.000000, bitrate: 45176 kb/s
    Stream #0.0(eng): Video: h264 (High), yuvj420p, 1920x1080 [PAR 1:1 DAR 16:9], 45028 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Metadata:
    creation_time   : 2015-02-11 17:53:34
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
    Metadata:
    creation_time   : 2015-02-11 17:53:34
    Stream #0.2(eng): Data: tmcd / 0x64636D74, 0 kb/s
    Metadata:
    creation_time   : 2015-02-11 17:53:34
    Stream #0.3(eng): Data: fdsc / 0x63736466, 9 kb/s
    Metadata:
    creation_time   : 2015-02-11 17:53:34
File 'test.avi' already exists. Overwrite ? [y/N] y
Incompatible pixel format 'yuvj420p' for codec 'libxvid', auto-selecting format 'yuv420p'
[buffer @ 0x9bd81a0] w:1920 h:1080 pixfmt:yuvj420p
[avsink @ 0x9bc89c0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x9bc8520] w:1920 h:1080 fmt:yuvj420p -> w:1920 h:1080 fmt:yuv420p flags:0x4
Output #0, avi, to 'test.avi':
Metadata:
    major_brand     : mp41
    minor_version   : 538120216
    compatible_brands: mp41
    creation_time   : 2015-02-11 17:53:34
    ISFT            : Lavf53.21.1
    Stream #0.0(eng): Video: mpeg4, yuv420p, 1920x1080 [PAR 9:16 DAR 1:1], q=2-31, 9756 kb/s, 25 tbn, 25 tbc
    Metadata:
    creation_time   : 2015-02-11 17:53:34
    Stream #0.1(eng): Audio: libmp3lame, 44100 Hz, stereo, s16, 128 kb/s
    Metadata:
    creation_time   : 2015-02-11 17:53:34
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libxvid)
Stream #0:1 -> #0:1 (aac -> libmp3lame)
Press ctrl-c to stop encoding
frame=  737 fps= 14 q=3.0 Lsize=   36119kB time=29.48 bitrate=10037.0kbits/s    
video:35605kB audio:461kB global headers:0kB muxing overhead 0.149473%

И теперь avprobe сообщает об одних и тех же свойствах видео (ну, битрейт немного другой, но я предполагаю, что это ожидается):

avprobe test.avi 
avprobe version 0.8.16-4:0.8.16-0ubuntu0.12.04.1, Copyright (c) 2007-2014 the Libav developers
built on Sep 16 2014 18:35:14 with gcc 4.6.3
Input #0, avi, from 'test.avi':
Metadata:
    encoder         : Lavf53.21.1
Duration: 00:00:29.49, start: 0.000000, bitrate: 10032 kb/s
    Stream #0.0: Video: mpeg4 (Simple Profile), yuv420p, 1920x1080 [PAR 9:16 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s

0