Где я могу найти подробное руководство по C/C++ FFmpeg?

Я хочу использовать ffmpeg (в форме библиотеки c), чтобы разделить видео на несколько частей, перекомпоновать их и закодировать окончательный результат. Что-то основное. Но очень сложно найти документацию или подсказки по этому поводу. Где посмотреть/посоветоваться?


person ticofab    schedule 09.07.2012    source источник
comment
Как насчет: inb.uni-luebeck.de/~boehme/using_libavcodec.html (по сути это руководство, ссылка на которое приведена на странице: ffmpeg.org/documentation.html)   -  person ArjunShankar    schedule 09.07.2012
comment
взгляните на это ... не в курсе, но будет хорошим началом. dranger.com/ffmpeg и не забудьте документацию ffmepg doxygen ffmpeg.org/doxygen.   -  person A.G.    schedule 09.07.2012
comment
Я тоже нашел это: ffmpeg.org/developer.html   -  person Jack    schedule 09.07.2012
comment
+1 за учебник dranger.com. Это единственное, что я нашел, которое предоставляет пошаговое руководство по созданию простого урезанного приложения для воспроизведения видео, объясняя каждый шаг и охватывая некоторые особенности API.   -  person Jason B    schedule 26.09.2012
comment
Пример минимального исполняемого изменения размера в C по адресу: как изменить размер изображения с помощью ffmpegs sws scale"> stackoverflow.com/questions/12831761/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 02.01.2019


Ответы (4)


Вы можете многое узнать из исходников утилит командной строки, поддерживаемых проектом FFmpeg.

В ffplay.c функция main() покажет вам, как инициализировать библиотеку. stream_component_open() демонстрирует сопоставление кодеков с потоками в мультимедиа, а get_video_frame() показывает, как декодировать пакет и получить его PTS (отметку времени представления). Это понадобится вам, чтобы правильно рассчитать время разделения.

Это должно помочь вам начать декодирование. Что касается кодирования, посмотрите ffmpeg.c. Это больше и сложнее, чем ffplay, но процесс кодирования кадра почти отражает процесс его декодирования, поэтому, как только вы заработали декодирование, оно должно иметь больше смысла.

person LightStruk    schedule 26.09.2012

я искал учебник по FFmpeg и php, но я нашел следующие лучшие места для изучения этого на любом языке книга, я думаю, что это единственная книга о FFmpeg Основы FFmpeg: обработка мультимедиа с быстрым кодировщиком аудио и видео

https://rads.stackoverflow.com/amzn/click/com/1479327832

введите здесь описание изображения

и второе место — http://ffmpeg.org/documentation.html.

person Abdalla Mohamed Aly Ibrahim    schedule 05.01.2013

Я также некоторое время искал хороший учебник по c/c++ FFmpeg, и этот c/c++ ffmpeg-libav-tutorial определенно лучшее из того, что я нашел. В нем объясняется, как использовать FFmpeg в качестве библиотеки, а перед этим дается четкий обзор ключевых слов видео (таких как кодирование, декодирование, транскодирование, мультиплексирование и т. д.), что очень полезно для людей, которые не очень хорошо знакомы с видео.

Кроме того, этот учебник отлично подходит для понимания концепции видео, поэтому для тех, кто недостаточно знаком с миром видео, предлагаю начать с этого, а уже потом продолжать с c/c++ ffmpeg-libav-tutorial.

person J.M.    schedule 30.04.2020

TLDR;

https://github.com/ShootingKing-AM/ffmpeg-pseudocode-tutorial - Широкое понимание рабочего процесса ffmpeg-cli через свободный псевдокод.


Лучший способ, согласно разработчикам FFmpeg, — прочитать исходный код ffmpeg libav и/или ffmpeg-cli.

Цель понимания ffmpeg-cli — иметь возможность интегрировать FFmpeg в наши проекты без необходимости вызывать ffmpeg-cli в фоновом режиме для выполнения мультимедийных операций. Это важно, потому что,

  • Запуск внешнего исполняемого файла, как правило, блокируется антивирусным программным обеспечением и может вызывать проблемы у пользователей.
  • Оптимизируйте использование libav для конкретного проекта и пропустите ненужный код из ffmpeg-cli. Кроме того, официальная документация ffmpeg в лучшем случае расплывчата, и единственный вариант для разработчиков, желающих внедрить функциональные возможности библиотек ffmpeg (libav) в свой код, — прочитать исходный код интерфейса командной строки. .

Но читать исходный код ffmpeg-cli очень сложно, потому что он предназначен не для использования в качестве учебного материала для понимания того, как использовать libav, а как оптимизированный мультимедийный инструмент. Поэтому я попытался преобразовать его исходный код в простую функцию псевдокода, выделив когда и где вызывать важные (почти все) функции libav, чтобы получить более широкую картину рабочего процесса ffmpeg. Для получения информации о том, как вызвать вызов функции libav, можно обратиться к документации doxygen и файлам ffmpeg-cli-source.

person ShootingKIng    schedule 22.02.2021