Длительность выхода Elastic Transcoder не совпадает с суммой моей длительности ввода - PullRequest
1 голос
/ 27 марта 2019

У меня есть несколько мультимедийных файлов для объединения в один видеофайл.Состоит из различных типов медиа, включая видео, аудио и изображения.Я использую FFMPEG для преобразования аудио и изображений в видео, а затем, наконец, буду использовать Elastic Transcoder для сшивания / объединения видеофайлов в один файл.При создании задания транскодера, всякий раз, когда я помещаю входное видео, которое изначально является изображением, преобразованным FFMPEG, в последний входной порядок, оно сокращает продолжительность своей экспозиции в конечном выводе на 5 секунд, если его исходная длительность> 5Это происходит только с этим условием.

Пример: (1) видео 1 - 10 с (2) изображение 1 - 10 с (3) видео 2 - 15 с (4) изображение 2 - 20 с: видео - 40 с (длительность или экспозиция изображения 2)на выходе уменьшается примерно до 5 с)

Очевидно, что сумма длительности ввода и длительности вывода не совпадает.Это даже явно указано в результате выполнения задания эластичного транскодера.


Я подумал, что у меня были неправильные настройки преобразования в FFMPEG, поэтому я изменил некоторые параметры.После некоторых изменений и сравнения изображения, преобразованного в видео (V1), с подлинным видео, сшиваемым с (V2), их настройки практически совпадают.В этом я использую ffmpeg -i myVideo.mp4, чтобы проверить его детали.Они различаются только по SAR, DAR, tbr и tbn, и я действительно не знаю, для чего они используются.

Уже проверил длительность преобразованных изображений после преобразования ffmpeg, и это точно, он только испортился после подачи егов эластичный транскодер и помещен в качестве последнего ввода.

Вот моя команда преобразования с FFMPEG (изображение в видео): ffmpeg -r 29.97 -i [input.jpg] -f lavfi -i anullsrc=r=48000:cl:stereo -t [duration] -acodec aac -vcodec libx264 -profile:v baseline -pix_fmt yuv420p -t [duration] -vf scale=854:480 -strict -2 [output.mp4]

Ожидаемый результат должен заключаться в согласованности выходного файлас действительной продолжительностью.

[ РЕДАКТИРОВАТЬ ]

Вот реальные видео, которые я транслирую на Elastic Transcoder, используя ffprobe filename:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.71.100
  Duration: 00:00:10.05, start: 0.042667, bitrate: 476 kb/s
    Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:1(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 854x480 [SAR 2136:2135 DAR 89:50], 341 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      handler_name    : VideoHandler
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'image2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.12.100
  Duration: 00:02:10.03, start: 0.033333, bitrate: 130 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 854x480 [SAR 1943:1004 DAR 829661:240960], 2636 kb/s, SAR 283440:146461 DAR 1181:343, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
...