Преобразование видео FFMpeg в android воспроизводимое видео - PullRequest
0 голосов
/ 18 июня 2020

У меня была последовательность изображений, и я использовал их для создания видео с помощью FFMpeg. Он хорошо играл на VL C (windows и android), но не на встроенном видеоплеере android. Код c и информация о контейнере видео следующие:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../clg/clg_eq_final_injected.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:12.13, start: 0.000000, bitrate: 9058 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 4096x2048, 9057 kb/s, 24 fps, 24 tbr, 12288 tbn, 24576 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Side data:
      spherical: equirectangular (0.000000/0.000000/0.000000)

Я решил обходной путь, загрузив видео на YouTube. Потом скачала еще раз. Это код c, информация следующая -

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../clg/clg_eq_test.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2020-05-17T08:06:01.000000Z
  Duration: 00:00:12.14, start: 0.000000, bitrate: 738 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 607 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
    Metadata:
      creation_time   : 2020-05-17T08:06:01.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 05/17/2020.
    Side data:
      stereo3d: 2D
      spherical: equirectangular (0.000000/0.000000/0.000000)
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      creation_time   : 2020-05-17T08:06:01.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 05/17/2020.

Я заметил, что первое видео не имеет аудиопотока (поскольку это просто последовательность изображений). Но YouTube произвольно добавил аудиопоток. (Я попробовал android после добавления аудиопотока, но безуспешно) Что я знаю -

  1. Android не поддерживает движущийся JPEG.
  2. H264 поддерживается по android.

Q1. В чем разница между h264 (ограниченная базовая линия) и h264 (основная)? Q2. Почему первое видео не поддерживается на android? Мое загруженное видео на YouTube здесь .

Ссылка:

Преобразование из mjpeg в mp4 (libx264) с помощью FFmpeg

преобразовать формат из yuvj420p в yuv420p

Как создать видео из изображений с помощью FFmpeg?

1 Ответ

1 голос
/ 18 июня 2020

Я предполагаю, что ваш первый файл имеет размер изображения 4096x2048 и битрейт 9 Мбит / с (9057 кб / с), что превышает то, что Android рекомендует при условии встроенного аппаратного декодирования. Ваш второй файл имеет размер изображения 1280x720 и битрейт 607 кб / с, что соответствует ожиданиям.

VL C имеет собственный программный декодер, поэтому он не ограничивается тем, что Android изначально поддерживает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...