Я использую ffmpeg для конвертации моих видео файлов в flv.
Моя проблема в том, что я хочу, чтобы преобразованные файлы FLV имели, videoCodecId
и audioCodecId = 2
, потому что я вставляю ключевые кадры в преобразованный файл и использую его для прогрессивной потоковой передачи.
Но когда я пытаюсь использовать прогрессивную потоковую передачу, используя файл с videoCodecId = 7
и auddioCodecId = 10
, я не могу заставить файл работать должным образом. (может я и здесь что-то не так делаю)
Я пытался конвертировать один и тот же файл двумя способами:
Сначала с помощью
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
Другой способ сохраняет
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 соответственно (я полагаю)
Я очень запутался в этом прямо сейчас. И пытаюсь понять это уже несколько дней.
Любая помощь или предложение приветствуется.