LINUX.ORG.RU
ФорумAdmin

Mencoder конвертирование в mp4 без изменения параметров


0

1

Привет. Хочу научиться конвертировать фильмы mencoder-ом в mp4 с исходным качеством, чтобы не нужно было выставлять битрейд и т.д. нужно чтобы все параметры видео брались из исходника.

Такое можно реализовать ? Спасибо.


Можно. Но я бы, например, смотреть результат перекодирования из x264 в mpeg2 с тем же битрейтом без слёз смотреть не стал.

berrywizard ★★★★★
()
Ответ на: комментарий от Kuzz

спасибо, сейчас попробую.

Мне нужно только в x264, а не из.

Мне вообще все это нужно для того чтобы эти фильмы можно было бы в онлайне смотреть. Кто знает как лучше «ужимать» какчество, так как например это делают fs.ua или ex.ua?

klu41k
() автор топика
Ответ на: комментарий от klu41k

Скачиваешь этот ролик\видео mp4 и в какой нибудь программе или в vlc смотришь с какими параметрами закодировано видео. Вендовый the kmplayer умеет...

bhfq ★★★★★
()
Ответ на: комментарий от klu41k

Мне вообще все это нужно для того чтобы эти фильмы можно было бы в онлайне смотреть.

Тогда «copy» не пойдет. Так просто в новый контейнер копируются исходные данные, которые могут быть в разных форматах.
Да и для online видео должно быть несколько изменено:

Пост-обработка необходима из-за того, что ffmpeg помещает “moov-атомы” (мета-информацию о видео) в конец файла, однако, чтобы пользователь имел возможность просматривать видео не дожидаясь его полной загрузки, эти атомы должны быть вначале файла.

Отсюда

Kuzz ★★★
()
Ответ на: комментарий от klu41k

Сконвертил видео с такими настройками:

mencoder kellyy.mkv -ovc x264 -lavcopts vcodec=mpeg4:keyint=250:vbitrate=1300:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=720:400 -of lavf -oac mp3lame -lameopts abr:br=128 -srate 22050 -o out/file.mp4

Почему-то не хочет в онлайне воспроизводиться..

Кто-нибудь знает почему так происходит?

klu41k
() автор топика
Ответ на: комментарий от klu41k

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

Конвертация видео намного сложнее, чем кажется Вам. Я могу Вас направить на http://www.ps3mediaserver.org/ это программа написанная на java, которая запускает при просмотре в реальном времени mencoder.

Можете посмотреть в момент просмотра pid менкодера:

ps aux | grep mencoder

Например pid=18693. После, чтобы посмотреть параметры запуска:

sudo cat /proc/18693/cmdline

Там будет длиннючая строка конвертации(4-5 строк) со всеми нужными вам параметрами.

Либо, можете скачать ее исходники и найти запуск mencoder'а там.

Вообщем, для своего проекта, я использовал базовые значения оттуда, а после уже изменил все под свои нужды.

dbzer0
()
Ответ на: комментарий от dbzer0

Забыл написать, почему сложнее.

Помимо самих базовых параметров mencoder, у _каждого_ видео и аудио кодека есть уйма _собственных_ параметров, которые нужно знать и учитывать.

dbzer0
()

с исходным качеством, чтобы не нужно было выставлять битрейд и т.д.

Можно выставить «constant quality factor» или «constant quantization» в 0. Будет 1 в 1 исходное качество, только полученный файл будет весить во много-много раз больше исходника. Менкодера под рукой нет, в ффмпеге это делается так:

ffmpeg -i input.avi -c:v libx264 -c:a copy -preset ultrafast -qp 0 output.mp4

Lavos ★★★★★
()
Ответ на: комментарий от dbzer0

И даже с учетом этой полу-подсказки, вы должны быть готовы встретиться с массой проблем, связанных со всем разнообразием видео/аудио кодеков. Вы столкнетесь с рассинхронизацеий видео-аудио, лишними/недостающими фреймами, смещенными фреймами, пропадающими цветами, и т.д. и т.п. В какой-то момент начнете выбирать какую реализацию кодеков использовать для конкретной задачи, ну и конечно, придется много читать документации по конкретным библиотекам.

dbzer0
()
Ответ на: комментарий от Lavos

ffmpeg -i input.avi -c:v libx264 -c:a copy -preset ultrafast -qp 0 output.mp4

«a copy» нельзя делать для веба! Почитайте хоть немного теории. Для веба подходят только OGG Vorbis, MP3, но рекомендуется использовать AAC.

dbzer0
()
Ответ на: комментарий от Lavos

ffmpeg -i input.avi -c:v libx264 -c:a copy -preset ultrafast -qp 0 output.mp4

Да и libx264 мертв уже более, чем полностью, его реализация есть только в «libavcodec-extra-XX», который уже почти никто не трогает с год!

dbzer0
()
Ответ на: комментарий от dbzer0

Я написал как сделать lossless кодирование _видео_ средствами x264. И почему не нужно так делать...

libx264 мертв

А чем сейчас модно кодировать в h264?

Lavos ★★★★★
()
Ответ на: комментарий от Lavos

Вообще, большинство задач покрывает спокойно MainConcept и x264 (в крайнем случае VSofts и Elecard), но повторюсь, все зависит от задачи кто-то в завимисмости от конкретного профайла проигрывает, кто-то выигрывает.

dbzer0
()
Ответ на: комментарий от Lavos

А если уж выбирать «более стандартные» профайлы, то необходимо будет остановиться либо на Hi444PP, либо на наборе из HiP или Hi10P или Hi422P.

dbzer0
()
Ответ на: комментарий от Lavos

Я не говорю, про домашнее кодирование фильмов, на посмотреть, я говорю про продакшн с приобритением лицензий и самих реализаций кодеков в стандарте H.264/MPEG-4 AVC.

dbzer0
()
Ответ на: комментарий от bhfq

Так а что libx264 и x264 c сайта videolan.org это разные вещи?

Нет, почему же это официальный сайт. Как раз их реализацию приходится брать, компилить и использовать, так как за libavcodec-extra-XX никто не следит(

dbzer0
()
Ответ на: комментарий от dbzer0

Никогда не выставляю профиль руками, libx264 это делает само. Обычно получается либо High, либо High 4:2:2.

приобритением лицензий

Мне бесплатное...

Lavos ★★★★★
()

Блин, сейчас перечитал вопрос, оказывается про web никто ничего и не говорил, и чего это я так возбудился... Как говорится, у кого что болит ))

dbzer0
()

Если речь идет не про веб, а об mp4, то я бы исопльзовал для видео кодек lavc mpeg2video и его же аудио кодек lavc ac3.

Mpeg опции я бы выбрал примерно такие: format=mpeg2:vbuf_size=1194:muxrate=500000:abuf_size=64. lavc опции: abitrate=192:keyint=5:vqscale=1:vqmin=2:vrc_maxrate=54000:vrc_buf_size=1900 lavd опции, по вкусу, напомню, что максимальное количество тредов для конвертации равно 4. lavcresample и srate: 48000. ofps: 30000/1000

Если безразличен размер получившегося файла, то не используйте threshold, если различен, то поиграйтесь с ней.

Этого хватит, чтобы проигрываться на 80% устройств БЕЗ ПОТЕРИ КАЧЕСТВА.

Крайне НЕ рекомендую использовать кодек lavc mpeg4, сэкономите время и избавитесь от большинства проблем.

И я бы не стал использовать аудио кодек mp3lame.

dbzer0
()
Ответ на: комментарий от klu41k

Почему-то не хочет в онлайне воспроизводиться..

Kuzz

Да и для online видео должно быть несколько изменено:

Пост-обработка необходима из-за того, что ffmpeg помещает “moov-атомы” (мета-информацию о видео) в конец файла, однако, чтобы пользователь имел возможность просматривать видео не дожидаясь его полной загрузки, эти атомы должны быть вначале файла.

Отсюда

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

Пост-обработка необходима из-за того, что ffmpeg помещает “moov-атомы” (мета-информацию о видео) в конец файла, однако, чтобы пользователь имел возможность просматривать видео не дожидаясь его полной загрузки, эти атомы должны быть вначале файла.

Это речь про то реал тайм конвертацию. Т.е. если не дожидаясь конца конвертации начать его просматривать, как это делают некоторые медиасерверы.

dbzer0
()
Ответ на: комментарий от dbzer0

Я понимаю, что здесь все Ъ
Название статьи, цитата из которой приведена: «Видеохостинг своими руками»

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

К сожалению, эта статья скрывает все самое главное)

$ ffmpeg -vpre videobam -y -i input.avi -s 320x240 -vcodec libx264 -acodec libfaac -threads 0

а точнее -vpre videobam, где videobam это как раз файл с настройками кодеков, который автор статьи почему-то «забыл» выложить :)

dbzer0
()
Ответ на: комментарий от dbzer0

Можно поинтересоваться содержимым: -vpre videobam и каким образом подбирались настройки кодирования для устройств Apple?

akhkharu, 5 января 2011 в 23:43 # Он в насоящее время похож на сборную солянку и всё еще находится в процессе оптимизации :)

pastie.org/1432128

Основной костяк из Baseline-профиля, идущего в комплекте с ffmpeg.

Все там есть))

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

спасибо за советы. сейчас буду пробовать. Посоветуйте еще где/что почитать/посмотреть по теории видео-кодирования.

klu41k
() автор топика
Ответ на: комментарий от klu41k

Вот чего не посоветую, так это толкового чтива.
С кодированием сталкивался не много, в рамках домашних нужд.

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

Вот чего не посоветую, так это толкового чтива.
С кодированием сталкивался не много, в рамках домашних нужд.

Удваиваю) Все знания собраны с документаций библиотек-кодеков, каких-то форумов, сторонних программ и других обрывков цифровой вереницы. Ничего целостного не видел никогда, хотя разработал за полтора года два немаленьких проектов так или иначе связанных с видеокодированием.

dbzer0
()
Ответ на: комментарий от dbzer0

жаль:(

dbzer0 Не могу дорубить как в ps3mediaserver mencoder запустить, нужно подключиться к нему с пс3? Если так, то у меня ее нет:)

klu41k
() автор топика
Ответ на: комментарий от klu41k

Нет, не обязательно PS3, можете использовать XBMC или VLC указав ему медиасервер.

dbzer0
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.