Конвертируйте видео в формате mkv / h264, чтобы его можно было воспроизвести на телефоне среднего класса Sony Ericsson. (используя Ubuntu)

2542
Johan

В качестве небольшого эксперимента я подумал о том, чтобы преобразовать некоторые видео / фильмы / сериалы в формат, который можно было бы воспроизводить на моем K850, но чтобы быть немного более общим в этом вопросе, скажем, телефон среднего класса Sony Ericsson, так как все они более или менее ведут себя одинаково и имеют одинаковое разрешение экрана (240 х 320).

Я ищу инструменты на основе командной строки (для Ubuntu), так как я думаю о том, чтобы написать сценарий «конвертировать и переместить» позже, если он будет успешным.

Большая часть видео, которое я имею, закодирована в mkv / h264, но так как это не поддерживается телефоном, я думаю, что мне нужно преобразовать его в некоторое видео низкого качества mp4 / mpeg4.

После некоторого поиска в Google кажется, что хорошим кандидатом на работу является ffmpeg, но это очень универсальный инструмент с множеством магических приемов.

Я на правильном пути? И если да, то как мне использовать ffmpeg для этого?

Спасибо Йохан


Обновление : после того, как мы немного добавили ffmeg, я заметил, что он использует только 1 из 4 моих ядер, поэтому перекодирование длится вечно. Я нашел аргумент под названием -threads, но это не сильно изменилось, может быть, я ошибся.

Я также обнаружил, что что-то подобное играет в телефоне.

ffmpeg -i Mythbusters\ S1D1_1.mkv -threads 4 -t 180 -vcodec mpeg4 -r 15 -s 320x240 Mythbusters\ S1D1_1_mini.mp4 

Можно было использовать 3gp / h263, но качество было действительно бесполезным.

ffmpeg -i Mythbusters\ S1D1_1.mkv -t 180 -vcodec h263 -acodec libfaac -s cif Mythbusters\ S1D1_1_cif.3gp 

И кажется, что mp4 / h264 также возможен, и результат в порядке, благодаря этому вопросу, кажется, этот использует более одного ядра, так что это было немного быстрее для меня.

ffmpeg -i Mythbusters_S1D1_1.mkv -t 180 -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 6 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 Mythbusters_S1D1_1_qvga.mp4 

Обновление : я попытался использовать HandBrakeCLI, и нет проблем с созданием нового файла, который выглядит так же, как тот, который был создан с помощью ffmpeg, с чем-то вроде этого.

HandBrakeCLI -i Mythbusters_S1D1_1.mkv --size 100 -E faac -B 60 --maxHeight 240 -r 15 -e x264 -o Mythbusters_S1D1_1_hand.mp4 

Но тот не играл в телефоне ...


Я нашел это в официальном руководстве:

Если вы передаете видеоклипы с использованием другой программы, отличной от Media Go ™, мы рекомендуем выбрать видео базового профиля H.264, вплоть до QVGA со скоростью 30 кадров в секунду, VBR 384 кбит / с (максимум 768 кбит / с) со звуком AAC + со скоростью 128 кбит / с (максимум 255 кбит / с ), 48 кГц и стереозвук в формате mp4.

Так что идея использовать H264 кажется правильной.

1

2 ответа на вопрос

4
alex

Почему бы не попробовать ручной тормоз ? Он доступен для Linux, Mac OS и Windows, а также имеет интерфейс командной строки, если хотите.

Вот руководство к CLI Ручного тормоза.

Я использую Handbreak, когда копирую и кодирую dvd: s, ты не использовал cli часть программы. Johan 14 лет назад 0
Может быть, вы могли бы попробовать сейчас :). Handbrake - очень хорошее приложение для конвертации видео; это должно делать именно то, что вам нужно. alex 14 лет назад 0
Я также попробую Handbreak. Johan 14 лет назад 0
Пока не нашли правильных настроек для Handbrake, новое видео воспроизводится на компьютере с vlc .. но не в телефоне ... Johan 14 лет назад 0
1
Johan

Я не могу получить это лучше, чем этот пример ffmpeg:

ffmpeg -i Star_Wars.mkv -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags + loop -cmp + chroma -partitions + parti4x4 + partp8x8 + partb8x8 -flags2 + mixed_refs -m e_methos-umhs-6 1 -refs 5 -кодер 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0 .6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 Star_Wars.mp4

Это преобразует 50-минутный телевизионный эпизод (4: 3) в файл размером 70 МБ (раньше было 700 МБ)

и 2-часовой фильм (16: 9) в файл 470 МБ (раньше было 1700 МБ)

Похожие вопросы