Как кодировать изображения JPEG в H264 очень быстро (преобразовать изображения в видео)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как кодировать изображения JPEG в H264 очень быстро (преобразовать изображения в видео)

Сообщение Anonymous »

У меня есть 30 изображений JPEG (.jpg) с разрешением 480 x 640.
Каждое изображение принимает 20 кб (все они занимают около 600 КБ). < /p>

Я использую ffmpeg < /strong>, чтобы кодировать эти изображения в видео в h264 < /press> press> press> press> press> press> press> press> pshrat> pship> pshraT. /> Мне нужно, чтобы это было сделано очень быстро - около 1 секунды. < /p>

Используя классическую команду: < /p>

ffmpeg -y -f image2 -r 1/5 -i image_%d.jpg -c:v libx264 -r 30 video.mp4
< /code>

занимает около 90 секунд < /strong>. < /p>

после добавления -preset ultrafast < /code>: < /p>

ffmpeg -y -f image2 -r 1/5 -i image_%d.jpg -c:v libx264 -preset ultrafast -r 30 video.mp4
< /code>

Кодирование занимает около 15 секунд < /strong>, что намного лучше, но все же недостаточно < /p>

Я также пробовал параметры других, например: < /p>

-profile:v baseline

-qscale:v

-b:v 1000k

-crf 24
< /code>

Но время кодирования не падает ниже 10 секунд. < /p>

Я не знаком с командами ffmpeg, ни с параметрами, которые мне нужно использовать, и это причина, по которой я публикую здесь этот вопрос. /> В качестве примечания: я запускаю эти команды в приложении Android, где у меня есть исполняемый файл FFMPEG, используя процесс -застройщик.ArrayList l2 = new ArrayList();

//l2.add("ffmpeg");
l2.add("/data/data/" + packageName + "/ffmpeg");
l2.add("-y");
l2.add("-loop");
l2.add("1");

l2.add("-i");
l2.add("frame_%d.jpg");

// l2.add("-t");
// l2.add(strngs[3]);

l2.add("-r");
l2.add("1/2");
l2.add("-preset");
l2.add("superfast");
l2.add("-tune");
l2.add("zerolatency");

// l2.add("-pass");
// l2.add(Integer.valueOf(pass).toString());

l2.add("-vcodec");
l2.add("libx264");
l2.add("-b:v");
l2.add("200k");
l2.add("-bt");
l2.add("50k");
l2.add("-threads");
l2.add("0");
l2.add("-b_strategy");
l2.add("1");

// if(pass ==1){
// l2.add("-an");
// } else {
// l2.add("-acodec");
// l2.add("copy");
// }

l2.add("-f");
l2.add("mp4");
l2.add("-strict");
l2.add("-2");
// l2.add("-passlogfile");
// l2.add(strngs[4]);

// if(pass ==1){
// l2.add("/dev/null");
// } else {
// l2.add(strngs[5]);
// }

l2.add("video.mp4");
//return l2;


Подробнее здесь: https://stackoverflow.com/questions/171 ... s-to-video
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»