Я хочу знать, что именно заблудится в кодировке H.264. Я кодирую видео с помощью libx264 и декодирую его с помощью ffmpeg, и снова кодирую результирующее видео с помощью libx264 с теми же параметрами и декодируем его во второй раз. Я ожидаю, что первое и второе декодированные видео должны быть одинаковыми по размеру и внешнему виду, однако это не так! Например, у меня 13000 байт в единицах NAL первого фрагмента в первом кодированном фрейме и 12000 байт во втором кодированном фрейме, и это нечетно. Поскольку какая-либо информация о потерях, существовавшая в кадре, должна была быть устранена в первом процессе кодирования, а вторая кодировка должна быть процессом, результатом которого являются те же NAL-единицы. Я ошибаюсь или где-то в моих реализациях, которые я принял?Как libx264 и ffmpeg кодируют и декодируют H.264
ответ
Этот вопрос нельзя ответить. Потерянные кодеки действительно следует назвать поколенными потерями. Как фотокопировальное устройство, когда-либо поколение слегка изменено. Единственный способ узнать «точно» то, что будет потеряно, - это фактически запустить алгоритм. Современное сжатие состоит из нескольких этапов. Оценка/компенсация движения, квантование, фильтр петли и деблокирование. И сколько информации удаляется на каждом шаге, определяется алгоритмом управления скоростью. Каждый из этих шагов может потерять или даже добавить информацию в зависимости от параметров и содержимого. И может даже отличаться от реализаций кодека.
Спасибо. Можете ли вы объяснить, за исключением шага квантования, как другие части могут продолжать потерять информацию? –
Есть много книг, написанных на эту тему, а также может быть ресурсом в Интернете. Вы должны начать с них, а затем задать конкретные вопросы о stackoverflow. – szatmary
- 1. Tune FFmpeg H.264 Decoder
- 2. ffmpeg h.264 неправильная резка
- 3. Преобразование .mkv в h.264 FFmpeg
- 4. Как использовать ffmpeg для кодирования видео в H.264?
- 5. ffmpeg конвертировать из H.264 (профиль высокого качества 4: 4: 4) в H.264 (основной профиль)
- 6. В чем разница между H.264 и x.264?
- 7. ffmpeg - mpeg4 (H.264) временные метки и качество изображения
- 8. конвертировать h.264 avi контейнер в mp4 с ffmpeg
- 9. ffmpeg libx264 Настройки AVCodecContext
- 10. h.264 и mpeg header
- 11. Команда преобразования ffmpeg для вывода на h.264 для iPad
- 12. Посылать кодированный поток H.264 через RTMP с использованием FFmpeg
- 13. Потоковая передача H.264 поверх UDP с использованием FFmpeg и ошибка «размеры не установлены»
- 14. Как cef поддерживает H.264 и flash?
- 15. как анализировать двоичные данные этих пакетов h.264 и организовать поток h.264 для их декодирования, используя ffmpeg?
- 16. FFmpeg libx264 Llicense
- 17. H.264/H.265 Сжатие одного растрового изображения
- 18. FFMPEG - Цепочки команд для временной задержки, размера и h.264 рекурсивно через каталог
- 19. Builing ffmpeg с libx264 включен на cygwin
- 20. Преобразование H.264 в MPEG2
- 21. Кодировщик и декодер H.264 в iOS
- 22. MPMoviePlayerController H.264 и несколько аудиопотоков
- 23. raw h.264 bitstream decoding
- 24. Кодирование FFMPEG H.264 для HTML5 (и, в конечном счете, MPEG-DASH)
- 25. Создание видео с изображениями с помощью ffmpeg libav и libx264?
- 26. h.264 Поддержка MVC 3D в x264/ffmpeg
- 27. Qt - потоковая передача видео H.264 с использованием библиотек FFmpeg
- 28. Что такое VBV (верификатор буферизации видео) в H.264?
- 29. ffmpeg3 кодирование H.264 журнал говорит неопределенный символ: x264_encoder_open_148
- 30. Использование QUdpSocket для пользовательского ввода/вывода FFMPEG (raw H.264)
Большинство алгоритмов сжатия с потерями не гарантирует, что декодирование и повторное кодирование с одинаковыми параметрами приведут к идентичному выходу. – cdhowie
Есть ли официальная ссылка, которая вызывает эту проблему? –
Что заставляет вас думать, что это проблема? – cdhowie