Грамотный кодинг видео в Linux
Модератор: Модераторы разделов
-
- Сообщения: 498
- ОС: Росинка mint 8
-
- Сообщения: 1375
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
Sspphheerraa
-
- Сообщения: 180
- ОС: Archlinux/Gnome
Re: Грамотный кодинг видео в Linux
Использую ffmpeg для сжатие в .flv. Какой битрейт будет оптимален для 640x?
Со звуком вроде определился:
Со звуком вроде определился:
Код: Выделить всё
-ar 44100 -ab 96k
irc.freenode.net #archlinux-ru (UTF-8)
-
- Сообщения: 1375
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
kidoz писал(а): ↑02.02.2009 10:02Использую ffmpeg для сжатие в .flv. Какой битрейт будет оптимален для 640x?
Со звуком вроде определился:
Код: Выделить всё
-ar 44100 -ab 96k
на вскидку ответил бы - 1000kbps
но тут смотреть надо на содержание видео (количество быстрых сцен) и на желаемое качество
Sspphheerraa
-
- Сообщения: 67
- ОС: openSUSE 11
Re: Грамотный кодинг видео в Linux
Помогите такую задачу решить. Нужно последовательность .png файлов в видео перегнать, желательно хорошего качества и минимального размера, и чтобы воспроизводилось везде. Исходные файлы - типа скриншотов (визуализация результатов моделирования), например:
.
При этом, в результирующем видео желательно получить максимальную четкость линий, без размывов. В настоящее время кодирую так:
mencoder "mf:///frame-*.png" -o video.avi -mf fps=25 -ovc lavc -lavcopts vcodec=msmpeg4v2
Получается не очень. Например,
(*),
или
...
К тому же на компе с видеокартой ati видео воспроизводится без проблем, а на ноуте с nvidia mplayer выдает непонятную картинку типа:
(на обоих копмах suse 11.0). При этом, если на ноуте сделать скриншот из плеера, то получим картинку как на (*), т.е. то, что должно быть...
Подскажите, каким кодеком лучше пользоваться, с какими настройками?..
зы. Видел, что одна коммерческая программа жмет с помощью msmpeg4v2, и получает на выходе четкую картинку и небольшой размер файла... значит такое возможно?!
.
При этом, в результирующем видео желательно получить максимальную четкость линий, без размывов. В настоящее время кодирую так:
mencoder "mf:///frame-*.png" -o video.avi -mf fps=25 -ovc lavc -lavcopts vcodec=msmpeg4v2
Получается не очень. Например,
(*),
или
...
К тому же на компе с видеокартой ati видео воспроизводится без проблем, а на ноуте с nvidia mplayer выдает непонятную картинку типа:
(на обоих копмах suse 11.0). При этом, если на ноуте сделать скриншот из плеера, то получим картинку как на (*), т.е. то, что должно быть...
Подскажите, каким кодеком лучше пользоваться, с какими настройками?..
зы. Видел, что одна коммерческая программа жмет с помощью msmpeg4v2, и получает на выходе четкую картинку и небольшой размер файла... значит такое возможно?!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 155
Re: Грамотный кодинг видео в Linux
Скачал неплохой фильм (avi), на компе просматривается без проблем, на dvd-player тоже... до известного момента, на котором фильм останавливается и дальше не идет. Думал - ошибка записи; потратил еще одну болванку... нет, все с точностью до секунды, тормозит на том же месте. Подскажите, что делать? конвертнуть во что-нить? пользую avidemux.
-
- Сообщения: 782
- Статус: Задвинутый соучастник
Re: Грамотный кодинг видео в Linux
aleksejsmir писал(а): ↑05.02.2009 09:08Скачал неплохой фильм (avi), на компе просматривается без проблем, на dvd-player тоже... до известного момента, на котором фильм останавливается и дальше не идет. Думал - ошибка записи; потратил еще одну болванку... нет, все с точностью до секунды, тормозит на том же месте. Подскажите, что делать? конвертнуть во что-нить? пользую avidemux.
Попробовать http://divfixpp.sourceforge.net/, или просто "перевести" avidemux-ом в другой файл, просто копируя потоки. ИМХО, где-то сбой по ключевому кадру.
-
- Сообщения: 72
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
aleksejsmir писал(а): ↑05.02.2009 09:08Скачал неплохой фильм (avi), на компе просматривается без проблем, на dvd-player тоже... до известного момента, на котором фильм останавливается и дальше не идет. Думал - ошибка записи; потратил еще одну болванку... нет, все с точностью до секунды, тормозит на том же месте. Подскажите, что делать? конвертнуть во что-нить? пользую avidemux.
Может быть проблема в размере файла? Т.е. если файл размером больше 2Г dvd-player может этот файл и не прочитать.
З.Ы. Собственно поэтому двд фильмы разбиты на несколько частей по 1Г.
-
- Сообщения: 155
Re: Грамотный кодинг видео в Linux
ivanich писал(а): ↑05.02.2009 10:10aleksejsmir писал(а): ↑05.02.2009 09:08Скачал неплохой фильм (avi), на компе просматривается без проблем, на dvd-player тоже... до известного момента, на котором фильм останавливается и дальше не идет. Думал - ошибка записи; потратил еще одну болванку... нет, все с точностью до секунды, тормозит на том же месте. Подскажите, что делать? конвертнуть во что-нить? пользую avidemux.
Может быть проблема в размере файла? Т.е. если файл размером больше 2Г dvd-player может этот файл и не прочитать.
З.Ы. Собственно поэтому двд фильмы разбиты на несколько частей по 1Г.
Нет, в данном случае это не так; размер файла 1,3 гига.
-
- Сообщения: 498
- ОС: Росинка mint 8
Re: Грамотный кодинг видео в Linux
sirocco говорит верно, попробуй просто скопировать потоки, накрайняк конвертни во чтонибудь.
Dragon_Lord@jabber.org
-
- Сообщения: 554
- Статус: Житель
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
написал руководство по переводу DVD в MKV с x264 и AAC, прошу предлагать улучшения:
http://nikoli.selfip.org/ru/node/423
http://nikoli.selfip.org/ru/node/423
-
- Сообщения: 1375
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
Nikoli писал(а): ↑21.02.2009 18:59написал руководство по переводу DVD в MKV с x264 и AAC, прошу предлагать улучшения:
http://nikoli.selfip.org/ru/node/423
Я так понял ужатие производится до размера 1CD? ..или какой смысл пережимать DVD чтобы потом его тоже хранить на DVD.
По поводу полей, не вижу чтобы ты их убирал, но и interlaced опции тоже не вижу. Получается оно расческу пытается понять как движение внутри кадра - не рационально, и замедляет работу (может поэтому так долго).
И поповоду фильтров, или напиши своими словами о их значении или переведи ман, но английский текст в русской статье не смотрится. К стати, в скрипте я их тоже не увидел... ключ -vf то пустой
А так, в общем статья хорошая.
Sspphheerraa
-
- Сообщения: 554
- Статус: Житель
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
до какого размера пережимать зависит от воли пережимающего
![:D](./images/smilies/biggrin.gif)
чёрных полос? их я убираю, о чём не мало написал
![;)](./images/smilies/wink.gif)
потому, что под исходником подразумевается PAL DVD (о чём я тоже написал), в котором применяется построчная развёртка...
чересстрочная развёртка и телесин - отдельная объёмная тема, про неё можно почитать в http://www.mplayerhq.hu/DOCS/HTML-single/e...c-feat-telecine
но в качетсве исходника предпочтителен именно PAL.
sspphheerraa писал(а): ↑21.02.2009 23:35И поповоду фильтров, или напиши своими словами о их значении или переведи ман, но английский текст в русской статье не смотрится.
существует http://www.mplayerhq.hu/DOCS/HTML-single/ru/MPlayer.html
может из него мне подойдут переводы, замечание учту
![:)](./images/smilies/smile.gif)
sspphheerraa писал(а): ↑21.02.2009 23:35К стати, в скрипте я их тоже не увидел... ключ -vf то пустой
большое спасибо за указание на ляп, когда редактировал руководство, по ошибке удалил, исправил на "-vf pullup,softskip,"$filters"harddup "
![:)](./images/smilies/smile.gif)
-
- Сообщения: 180
- ОС: Archlinux/Gnome
-
- Сообщения: 1375
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
потому, что под исходником подразумевается PAL DVD (о чём я тоже написал), в котором применяется построчная развёртка...
Дык, в том-то все и дело, если исходник черезстрочный (а DVD PAL черезстрочный) и ты при кодировании не преобразовываешь его в прогрессив (и это правильно), то надо указывать "-x264encopts interlaced", чтобы кодер знал о том, что видео черезстрочное и правильно строки (они же - поля) раскладывал во времени. Иначе, как я писал выше, кодер будет рассматривать кадр как прогрессивный - он будет пытаться ужать картинку, такой какой она есть, т.е. с "расческой" (он будет считать это должным элементом кадра
![:)](./images/smilies/smile.gif)
В теме достаточно много говорили по этому поводу. Но я повторюсь, что расческу нужно оставлять, а смотреть через BOB-подобные фильтры (например, -vf yadif=1).
По поводу алгоритма кодирования. Многопроходной метод эффективен в тех случаях, когда необходимо получить максимальное качество для определенного размера файла. Если размер строго не лимитирован (а примерный размер легко можно подобрать экспериментальным путем), то лучше кодировать используя параметр crf, в один проход (рекомендации с doom9.org).
Sspphheerraa
-
- Сообщения: 554
- Статус: Житель
- ОС: Gentoo
Re: Грамотный кодинг видео в Linux
путаешь PAL c NTSC: для пал правилом является построчность, чересстрочные DVD pal - редкость
![;)](./images/smilies/wink.gif)
sspphheerraa писал(а): ↑23.02.2009 22:00По поводу алгоритма кодирования. Многопроходной метод эффективен в тех случаях, когда необходимо получить максимальное качество для определенного размера файла. Если размер строго не лимитирован (а примерный размер легко можно подобрать экспериментальным путем), то лучше кодировать используя параметр crf, в один проход (рекомендации с doom9.org).
у каждого из этих способов есть свои преимущества и недостатки, которые проявляются
в зависимости от сжимаемого и навыков сжимающего, позже добавлю в руководство про CRF.
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
ребят прочитал 9 страниц но так и не нашел способ.
у меня есть выдео с камеры minidv вытаскиваю я его через grabdv в формате dv, или через kino в формате avi без сжатия.
там один файл вместе с звуковой дорожкой, мне нужно его перегнать в mkv без потери качества, а просто для уменьшения размера, процессор core quad так что желательно что бы использовались все ядра, соответственно так же желательно что бы звук не убегал и не отставал, что бы соотношение сторон не менялось, другими словами что был как оригинал только весил меньше...
Я так понимаю что делать это лучше всего в консоли, потому что проше будет засунуть скрипт в цикл если файлов много, хотелось бы от вас получить скриптик или команду, если это все будет в 3 прохода делаться для сохранения качества видео то это даже лучше. И еще самое главное напиши список библиотек и программ которые нужны для этого, я юзаю бубунту.
Вот скрипт который был у меня раньше....
... но сейчас он не работает, я так полагаю ему не хватает программ или кодеков, но вот что именно я понять не могу.
у меня есть выдео с камеры minidv вытаскиваю я его через grabdv в формате dv, или через kino в формате avi без сжатия.
там один файл вместе с звуковой дорожкой, мне нужно его перегнать в mkv без потери качества, а просто для уменьшения размера, процессор core quad так что желательно что бы использовались все ядра, соответственно так же желательно что бы звук не убегал и не отставал, что бы соотношение сторон не менялось, другими словами что был как оригинал только весил меньше...
Я так понимаю что делать это лучше всего в консоли, потому что проше будет засунуть скрипт в цикл если файлов много, хотелось бы от вас получить скриптик или команду, если это все будет в 3 прохода делаться для сохранения качества видео то это даже лучше. И еще самое главное напиши список библиотек и программ которые нужны для этого, я юзаю бубунту.
Вот скрипт который был у меня раньше....
Код: Выделить всё
#!/bin/bash
Bitrate=2500
src=$1
NAME=`echo ${src}|sed -e 's/\..*//'`
RIPPEDBY=" ripped by tierpunk"
x264encopts=bframes=3:frameref=6:b_pyramid:weight_b:qcomp=0.75:trellis=1:me=umh:cabac:8x8dct:b_adapt:threads=auto:partitions$
tmpfilename=$RANDOM
PASSLOG=/tmp/mencoder_${tmpfilename}.passlog
echo CROPDETECT START WAIT...................................................................
nohup mplayer "$src" -vo null -vf cropdetect -nosound 1>&2 >/tmp/crop.${tmpfilename}.log &
sleep 120; pkill -9 -x mplayer
crop="`tail /tmp/crop.${tmpfilename}.log|head -1|sed -e 's/.*(//'|sed -e 's/).*//'`"
echo TURBOPASS.......................................................................
........
mencoder "$src" -passlogfile $PASSLOG $crop -nosound -ovc x264 -x264encopts ${x264encopts}:pass=1:turbo=1 -o /dev/null
echo SECOND PASS............................................................................
.
mencoder "$src" -passlogfile $PASSLOG $crop -nosound -ovc x264 -x264encopts ${x264encopts}:pass=3:psnr:subq=7 -o /dev/null
echo WRITING VIDEO...........................................................................
mencoder "$src" -passlogfile $PASSLOG $crop -nosound -ovc x264 -x264encopts ${x264encopts}:pass=3:psnr:subq=7 -of rawvideo -$
#./countquant $PASSLOG > PSNR
#rm $PASSLOG
mplayer -vo null -ao pcm:waveheader:file="sound.${tmpfilename}.wav" "$src"
# PCM не сжатый звук, кодируем его в ogg 7 = 224Kbps
oggenc -q 6 "sound.${tmpfilename}.wav"
mkvmerge --default-language rus --title "${NAME} ${RIPPEDBY}" -o "${NAME}_new.mkv" --default-duration 0:30fps ${tmpfilename}$
rm sound.${tmpfilename}.* /tmp/crop.${tmpfilename}.log
echo Видео готово, если все ок удали ${tmpfilename}.264 вручную...
... но сейчас он не работает, я так полагаю ему не хватает программ или кодеков, но вот что именно я понять не могу.
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 554
- Статус: Житель
- ОС: Gentoo
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
Код: Выделить всё
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 2)
Movie-Aspect is 1.37:1 - prescaling to correct movie aspect.
[swscaler @ 0xe1f8d0]SwScaler: using unscaled yuv420p -> yuv420p special converter
Writing header...8f ( 0%) 1.52fps Trem: 0min 0mb A-V:0.000 [0:0]
ODML: vprp aspect is 16384:12006.
Writing header...
ODML: vprp aspect is 16384:12006.
Pos: 739.6s 18499f (19%) 17.87fps Trem: 70min 1079mb A-V:0.000 [2418:0]
Щас запустил еще раз, вот кусок того что у меня в лог кидаеться...
Мне поидее нужен список программ для этого скрипта, сам я поставил мплеер менкодре х264 флак фаак... но насколько я понял этого мало.
И еще просьба к знатокам если вы увидиле в скрипте ошибки или косяки скажите мне об этом пожалуйста.
Сам пока вникаю в http://www.mplayerhq.hu/DOCS/HTML/ru/menc-feat-x264.html
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 498
- ОС: Росинка mint 8
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
да стоит, мне надо было глаза разуть... я не поставил oggenc а он входит в пакет vorbis-tools
так что щас выдираю звук вручную и буду сводить в матрёшку.
надо будет дописать скрипт на проверку установленных программ и их версий.
зы пока сам разобрался в проблемме и во многих ключах.
Ребят вот вопрос mplayer говорит что мое видео VIDEO: [dvsd] 720x576 0bpp 25.000 fps 28800.0 kbps (3515.6 kbyte/s)
а в скрипте есть ключ в команде которая собирает видео со звуком вместе
mkvmerge --default-language rus --title "${NAME} ${RIPPEDBY}" -o "${NAME}_new.mkv" --default-duration 0:30fps ${tmpfilename}$
Это плохо? и на что это повлияет?
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
в итоге сделал файл весит 1183 мб из оригинала в 12,8 гб.... результат очень хороший, использовал ключи которые в моем скрипте, единственное смог собрать убрав строчку --default-duration 0:30fps, тоесть командой
mkvmerge --default-language rus --title "${NAME} ${RIPPEDBY}" -o "${NAME}_new.mkv" video.264 sound.ogg
пока что результат посмотреть не могу, потому что делал все с работы, как приеду домой гляну.
Соответственно остаеться все тот же вопрос, на что влияет --default-duration 0:30fps, в гугле не нашел ?
mkvmerge --default-language rus --title "${NAME} ${RIPPEDBY}" -o "${NAME}_new.mkv" video.264 sound.ogg
пока что результат посмотреть не могу, потому что делал все с работы, как приеду домой гляну.
Соответственно остаеться все тот же вопрос, на что влияет --default-duration 0:30fps, в гугле не нашел ?
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
Ребят еще я заметил что видео скодированное из мов звук бежит вперед, а у видео скодированное из ави звук опаздывает....
Как точно определить на сколько звук бежит/опаздывает от видео ролика?
Как точно определить на сколько звук бежит/опаздывает от видео ролика?
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
kreator писал(а): ↑05.05.2008 02:40
А что в моей цитате над командой написано?
1, Если рассинхронизация равномерная в начале и в конце, определяем её значение в mplayer.
2. Определяем номер аудио потока - смотрим вывод mplayer'а, например:
[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
[mkv] Track ID 2: audio (A_MPEG/L3), -aid 0, -alang und
3. mkvmerge -o goodsync.mkv -y 2:200 outofsync.mkv, где 2 - номер аудио потока, 200 - значение в миллисекундах полученное в mplayer.
4. Если синхронизация нормальная в начале файла, но нарушается к концу, то определяем величину рассинхронизации в конце файла.
5. mkvmerge -o goodsync.mkv -y 2:0,77346/77340 outofsync.mkv, где 2 - номер аудио потока,
вместо 77346/77340 нужно вычислить:
(задержка_в_секундах * FPS + длинна_видео_в_кадрах) / длинна_видео_в_кадрах
А можно как нибудь автоматизовать процесс, тоесть херачишь команду а она тебе выдает на сколько убегает звук или на сколько отстает?
Просто вручную каждое видео просматривать и к концу определять на тупит звук, нет ни желание ни возможности...
Может я чего то не понял, может мплеер пишет при включение эти данные???
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
Решаю одну проблему появляються две новых =)
Поставил новую версию mkvtoolnix через репозиторий с их сайта
заработал ключ --default-duration 0:${FPS}fps, теперь звук не плющит, только вот MOV не хочет сжиматься, пишет ошибку, чуть позже выложу что за ошибка.
Ребят как соеденить файлы dv через менкодер?
Поставил новую версию mkvtoolnix через репозиторий с их сайта
заработал ключ --default-duration 0:${FPS}fps, теперь звук не плющит, только вот MOV не хочет сжиматься, пишет ошибку, чуть позже выложу что за ошибка.
Ребят как соеденить файлы dv через менкодер?
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 337
- ОС: Linux
Re: Грамотный кодинг видео в Linux
>Ребят как соеденить файлы dv через менкодер?
mencoder file1.dv file2.dv -ovc copy -oac cpy -o file.avi
mencoder file1.dv file2.dv -ovc copy -oac cpy -o file.avi
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
я соединял три файла и насколько я понял правельно было бы "-oac cоpy"
получил такое вот сообщение
Код: Выделить всё
Too many video packets in the buffer: (59 in 8496000 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
...
...
...
Skipping frame!
success: format: 0 data: 0x0 - 0x3e7e4a80 0min 935mb A-V:0.080 [28800:0]
MPEG-ES file format detected.
[V] filefmt:27 fourcc:0x10000004 size:0x0 fps: 0.00 ftime:=0.0000
videocodec: framecopy (720x576 0bpp fourcc=64737664)
videocodec: framecopy (0x0 24bpp fourcc=10000004)
All video files must have identical fps, resolution, and codec for -ovc copy.
но в итоге есть файл конечный avi 1 гиг весит меньше чем исходники 3 гига, он меняет качество картинки звука?
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 78
- ОС: Ubuntu, Debian, Centos
Re: Грамотный кодинг видео в Linux
мне бы просто склеить картинку, тоесть три файла соеденить, без изминения качества
не знаю насколько я еблан, но сделал cat file1.dv file2.dv file3.dv > output.dv и щас засунул в скрипт и все нормально сжимается, правда результат посмотреть не могу потому что на работе, а это все дома делается.
не знаю насколько я еблан, но сделал cat file1.dv file2.dv file3.dv > output.dv и щас засунул в скрипт и все нормально сжимается, правда результат посмотреть не могу потому что на работе, а это все дома делается.
Спасибо за то что ответили на моё сообщение.
-
- Сообщения: 1
Re: Грамотный кодинг видео в Linux
Здравствуйте.
Подскажите пожалуйста на конкретном примере, а то я что то никак не разберусь.
Вот у меня есть сезон мультсериала. В нем 24 эпизода. Все в формате avi.
Мне необходимо перекодировать эти эпизоды в разрешение 320х240 с битрейтом видео 300, звуком мп3 128 кб/сек. Причем с субтритрами srt.
Будьте добры, опишите мне последовательность действий чтоб добиться заданного результата.
Я так понимаю что можно написать некий скрипт который я смогу использовать как программу. С помощью него открывать нужные файлы и получать конечный результат. В этой теме я что то не увидел мануала как этот скрипт сделать.
Всем заранее спасибо за ответ.
p.s. мои познания в линуксе заканчиваются на успешном запуске world of warcraft под него
буду рад если найдется человек, который сможет меня немного консультровать по линухе. Мой жаббер pjfry@jabbus.org.
Подскажите пожалуйста на конкретном примере, а то я что то никак не разберусь.
Вот у меня есть сезон мультсериала. В нем 24 эпизода. Все в формате avi.
Мне необходимо перекодировать эти эпизоды в разрешение 320х240 с битрейтом видео 300, звуком мп3 128 кб/сек. Причем с субтритрами srt.
Будьте добры, опишите мне последовательность действий чтоб добиться заданного результата.
Я так понимаю что можно написать некий скрипт который я смогу использовать как программу. С помощью него открывать нужные файлы и получать конечный результат. В этой теме я что то не увидел мануала как этот скрипт сделать.
Всем заранее спасибо за ответ.
p.s. мои познания в линуксе заканчиваются на успешном запуске world of warcraft под него
![:)](./images/smilies/smile.gif)