2

Я использую ffmpeg, чтобы конвертировать мои видео файлы в flv.

Моя проблема в том, что я хочу, чтобы у преобразованных файлов flv были videoCodecId и audioCodecId = 2 , потому что я вставляю ключевые кадры в преобразованный файл и использую его для прогрессивной потоковой передачи.

Но когда я пытаюсь использовать прогрессивную потоковую передачу, используя файл с videoCodecId = 7 и auddioCodecId = 10 , я не могу заставить файл работать должным образом. (может я и здесь что-то не так делаю)

Я пытался конвертировать один и тот же файл двумя способами:

  1. Сначала с videoCodecId = 7 и audioCodecId = 10 я использовал для этого следующую командную строку :

    /usr/local/bin/ffmpeg -i% s -map_meta_data 0:0 -acodec libfaac -ab 96k -ar 44100 -vcodec libx264 -vpre hq -crf 20 -потоков 0 -f flv% s

  2. Другой способ поддерживает videoCodecId = 2 и audioCodecId = 2 (что желательно), но это сильно влияет на качество видео.

    /usr/local/bin/ffmpeg -i% s -map_meta_data 0:0 -ab 96k -ar 44100 -crf 20 -f flv% s

Таким образом, оба способа могут помочь мне решить мою проблему, во-первых, если я смогу улучшить качество моего видео после преобразования, используя второй метод, или я могу заставить потоковую передачу работать для файлов с videoCodecId = 7 .

Но я читал в нескольких статьях, что даже YouTube использует видео с videoCodecId = 2 и audioCodecId = 2 . Так что, вероятно, есть причина, по которой они тоже это делают. Но если я загружаю файл с youtube и вижу информацию о его кодеках с помощью VLCplayer, он говорит, что видеокодек - h264 и audio в формате mp4a, то есть 7 и 10 соответственно (я полагаю)

Я очень запутался в этом прямо сейчас. И пытаюсь понять это уже несколько дней.

Любая помощь или предложение приветствуется.

0