Ответ 1
Существует множество способов кодирования видео mp4, а их кодирование для мобильных устройств еще более сложное. Я не уверен, что вы подразумеваете под "недорогой мобильной", вы имеете в виду низкую стоимость, как в устройстве, или пропускную способность, необходимую для воспроизведения упомянутого видео?
В любом случае, здесь вы можете отправить сообщение: H.264 WEB VIDEO ENCODING TUTORIAL WITH FFMPEG
Примеры
Вот несколько примеров ffmpeg
из сообщения...
"Стандартное" веб-видео (480p при 500 Кбит/с):
ffmpeg -i input_file.avi -vcodec libx264 -vprofile high -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -b:a 128k output_file.mp4
360p видео для старых мобильных телефонов (360p со скоростью 250 кбит/с в базовой линии профиль):
ffmpeg -i inputfile.avi -vcodec libx264 -vprofile baseline -preset slow -b:v 250k -maxrate 250k -bufsize 500k -vf scale=-1:360 -threads 0 -acodec libvo_aacenc -ab 96k output.mp4
480p видео для iPads и планшетов (480p при 400kbit/s в основном профиле):
ffmpeg -i inputfile.avi -vcodec libx264 -vprofile main -preset slow -b:v 400k -maxrate 400k -bufsize 800k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -ab 128k output.mp4
Высококачественное SD-видео для архива/хранения (PAL со скоростью 1 Мбит/с профиль):
ffmpeg -i inputfile.avi -vcodec libx264 -vprofile high -preset slower -b:v 1000k -vf scale=-1:576 -threads 0 -acodec libvo_aacenc -ab 196k output.mp4
Битрейты, масштаб и профили...
Из примеров там, некоторые из ключевых вещей, на которые вам, возможно, придется обратить внимание, являются...
-b:v 500k
-b:a 128k
Это битрейты видео v
и audio a
, чем ниже число, тем ниже качество, но также лучше, чем можно "играть" на устройстве с низким уровнем.
scale=-1:480
Это уменьшит размер видео до меньшего размера, см. больше информации об этом в сообщении)
-vprofile baseline
Этот, казалось бы, нечетный baseline
(или другой подходящий параметр профиля ) может быть важным при кодировании для некоторых более дешевых (например, Android) устройств...
Базовый профиль (BP)
В первую очередь для недорогих приложений, требующих дополнительной потери данных надежность, этот профиль используется в некоторых видеоконференциях и мобильных Приложения. Этот профиль включает все функции, поддерживаемые в ограниченный базовый профиль, а также три дополнительные функции, которые могут использоваться для устойчивости потерь (или для других целей, таких как композиция многоточечного видеопотока с низкой задержкой). Важность этот профиль несколько потускнел, поскольку определение Ограниченный базовый профиль в 2009 году. Все ограничения профиля базовой линии битовые потоки также считаются битовыми потоками базового профиля, поскольку эти два профиля имеют одинаковое значение кода идентификатора профиля.