У меня есть приложение, которое принимает видео пользователя и выполняет некоторую обработку. конвейер обработки состоит из нескольких этапов. Код, который я написал до сих пор, предполагает использование кодека h264 для ввода видео. Но нельзя предположить, что пользовательский ввод находится в определенном формате / кодеке, поэтому я подумываю добавить еще один шаг в начале конвейера, то есть перекодировать любое заданное входное видео в h264. Но я пытаюсь минимизировать потери данных в видео из-за этого шага. Также возможно, что загруженное видео пользователя не будет без потерь, скорее всего, это будет видео h264 с потерями.
Я могу использовать CRF = 0 при транскодировании входного видео
ffmpeg -i input.mp4 -c:v h264 -crf 0 output.mp4
но это приводит к огромным размерам файлов, что влияет на следующие шаги в конвейере.
Теперь допустим, что я использую crf = 18 для вышеупомянутого шага транскодирования
ffmpeg -i input.mp4 -c:v h264 -crf 18 output.mp4
а также давайте предположим, что входное видео также имеет crf = 18, так что в этом случае этот шаг транскодирования приведет к потере данных?