Використання ffmpeg для кодування необробленого відео у форматі H.264


10

У Ubuntu 10.04 я намагаюся кодувати неочищене відео (формат YUV) до кодованого відео H.264, використовуючи нижче команди ffmpeg:

ffmpeg -i input.mp4 output.h264

але я отримую повідомлення про помилку

Непідтримуваний кодек для вихідного потоку № 0.0

Потім, коли я спробую цей варіант:

ffmpeg -i input.mp4 -formats h264 output.h264

він все ще не кодує.

Тепер я зрозумів, що ffmpeg використовує libx264 для кодування до формату H.264. Тепер у мене на цьому Ubuntu встановлений пакет x264 - швидкий кодер H.264.

Мої запитання:

  1. Чи є якесь відношення між цим libx264, якому потрібен ffmpeg, і програмою x264?
  2. Як встановити libx264 і змусити ffmpeg використовувати це, щоб дозволити мені кодувати відео у форматі H.264?

Що з вашим попереднім питанням, чи не було це вирішено? використання ffmpeg для кодування відео у форматі кодеків H264
slhck

@slhck - Дякую, але коли я використав: - ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4. Це дало помилку - "Невідомий кодер 'libx264'". Будь-які подальші вказівки. Чи libx264 збігається з бібліотекою x264 чи чимось іншим.
goldenmean

Щодо компіляції ffmpeg та x264 в Linux, дивіться тут: ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

Відповіді:


11

Перш за все, ті команди, які ви використовуєте, виглядають синтаксично неправильними. Для того, щоб ffmpeg використовував x264, вам потрібно надати -c:v libx264аргумент.

Тепер, якщо у вас є необроблений файл YUV, вам потрібно повідомити ffmpeg, який формат пікселів, який розмір і т.д. використовується:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

Змініть їх відповідно до специфікацій вашого файлу YUV. Подивіться ffmpeg -pix_fmtsсписок підтримуваних форматів пікселів. fourcc.org також є хорошим ресурсом для цього.

Якщо ви просто хочете, щоб у сировині був розроблений H.264 бітовий потік .264:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 -f rawvideo output.264

-1

ffmpeg -f rawvideo -pix_fmt yuv420p -s: v 1920x1080 -r 23.976 -i raw_i420_1920_1080 -vcodec libx264 -f rawvideo вихід.264

-vcodecпідказує, який кодек використовувати. man ffmpegдопоможе вам дізнатися більше.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.