Чем нормально сжать видео?
Gentoo-начало 2 февраля, 2007 - 18:53
DVD,mpeg4,и тд
»
- Для комментирования войдите или зарегистрируйтесь
|
|
Вход в аккаунтНавигацияОбсуждаемые темы
Новые записи в блогахСейчас на сайте0 пользователей и 8 гостей.
|
Чем нормально сжать видео?
Gentoo-начало 2 февраля, 2007 - 18:53
DVD,mpeg4,и тд »
|
ffmpeg, mencoder(оно с
ffmpeg, mencoder(оно с mplayer идёт)
Жать лучше с
Жать лучше с помошью xvid`а, по сравнению с ffmpeg он дает лучшее качество, хотя и требует более мощной машины.
ffmpeg
недавно сам озадачился этим вопросом... Пока остановился на ffmpeg. Досконально не разобрался еще со всеми возможностями,которых просто море,но в первом приближениий - очень даже не плохо. кодирует быстро. Сам использую в основном для сжатия видео на смартфон в avi и для телефона в 3gp.
А можно
А можно поподробней?
Как имеено,какой командой?
_________________
Celeron 766,256ram,geforce MX440,hdd ide samsung 120
Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.18-gentoo-r6 i686)
ACCEPT_KEYWORDS="x86"
CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer"
Re: А можно
В команду может входить огромное количество опций: и относительно параметров звука,и относительно параметров видео.Все зависит от задач,которые ставишь перед собой. Из чего,а главное что,ты хочешь получить?
Да вот фильм в
Да вот фильм в формате mp4,тормозит при показе.Ниче не помогает.Судя по всему срезан с двд,весит 1.4,надо сжать и чуть хуже сделать качество.
_________________
Celeron 766,256ram,geforce MX440,hdd ide samsung 120
Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.18-gentoo-r6 i686)
ACCEPT_KEYWORDS="x86"
CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer"
Re: Да вот фильм в
Если притормаживает по причине слабого процессора,то можно попробовать пережать видео с меньшим разрешением,а так же можно уменьшить битрейт видео.Если нет звуковой карты,то и обработка звукового потока ложится на плечи процессора,а значит, я думаю,что уменьшение битрейта звукового потока,тоже скажется положительно.
вот пример для ffmpeg:
ffmpeg -i исходный.avi -s 208x176 -vcodec xvid -b 200k -bf 2 -acodec mp3 -ab 80 конечный.avi
здесь: -s разрешение, -b битрейт видео, -vcodec кодек, -bf 2-стерео,1-моно,
-acodec кодек звука, -ab битрейт звука.
вносишь поправки в комманду,запускаешь,кодируешь немного,останавливаешь по "q", смотришь на результаты,опять пробуешь...
p.s. http://www.xoro.ru/docs/mpeg4/index.htm - здесь просто очень много информации,в том числе должна быть и по твоему вопросу.
http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html - здесь документация по ffmpeg.
Спасибо за
Спасибо за исчерпывающий ответ
_________________
Celeron 766,256ram,geforce MX440,hdd ide samsung 120
Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.18-gentoo-r6 i686)
ACCEPT_KEYWORDS="x86"
CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer"
Re: Спасибо за
Я рад,если информация оказалась полезной...
Еще могу посоветовать собрать ffmpeg с поддержкой ffplay (собрать надо с флагом sdl).Тогда можно будет и быстро просмотреть результаты...типа такой маленький комплекс для работы с видео получится.Хотя,если чесно,то с твоим процессором кодировать видео будет несколько проблематично.
о! хоть кто-то
о! хоть кто-то шарит в теме :)
подскажи пжлста такую весчь:
я кодирую mencoder-ом
и когда сдергиваю с двд строкой
mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=msmpeg4:vhq -o out.avi
(ну и там еще опции по необходимости, касабельно размера, но базовые эти)
то выходной файл просто супер качества, почти оригинал, только в местах быстрого движения квадратируется, DIV3 все-таки...
но(!!!)
если пишу с тв-тюнера строкой:
mencoder tv:// -tv driver=v4l2 -oac copy -ovc lavc -lavcopts vcodec=msmpeg4:vhq:vbitrate=4000 -o out.avi
пишет нормально, только размер выходного файла 2Г/час
(временный, типа пофиг)
а потом пытаюсь его свернуть до нормального
mencoder 1.avi -oac copy -ovc lavc -lavcopts vcodec=msmpeg4:vhq -o out.avi
(пробовал добавлять trell:mbd=1,2, кодек менять на mpeg4, ниче не помогает)
то качество выходного файла просто жуть, пока битрейт до 1800-2000 не поднимешь смотреть невозможно...
может подскажешь какие еще опции заюзать чтоп качество поднять??
может надо
может надо деинтерлейсинг сделать?
_________________
Athlon 1400 RAM 512 KDE 3.5.5
Попробуй
Попробуй сначала VDR для грббинга. А потом пожать.
точно конечно
точно конечно не знаю,но мне кажется,что ты используешь кодек плохой (msmpeg4)... помню еже по винде,что нормальное соотношение качество/размер можно было получить только используя divx или xvid,а все остальное от лукавого...попробуй xvid.
Re: точно конечно
Полностю согласен, msmpeg4 кодек просто ужасный. Мой совет Xvid, причём оптимально - двух проходное кодирование. Для хорошего качества при 640х480 битрейт ~1500, 720x576 - 2500, 1280x720 - 6000.Лично я юзаю mencoder.
Вот пример:
mencoder org.avi -oac copy -vf crop=720:426:0:74 -ovc xvid -xvidencopts bitrate=2500:vhq=4:gmc:pass=1 -o dec.avi && mencoder org.avi -oac copy -vf crop=720:426:0:74 -ovc xvid -xvidencopts bitrate=2500:vhq=4:qmc:pass=2 -o dec.avi
Битрейт не
Битрейт не задает качество картинки, он задет количество информации, если описывать только один чб пиксель, то достаточно 25 бит в секунду, а если hdtv... Так что вопрос в настоящей его формулировке бесмыссленный.
а) В чем меряется битрейт? В битах/c? килобитах/c, мегабитах/c, килобайтх/с, мегабайтах/с?
б) Каково разрешение видео?
в) Какова глубина цвета?
Имхо, 1-2 мегабита/с вполне нормальный битрейт, если хочется получить качественное видео ( 768x576 24bpp ).
Я бы советовал захватывать с намного большим битрейтом, мегабит этак 12, чтобы потом фильтр деинтерлейсинга хорошо сработал и не путался из-за дефектов кодирования. А потом бы пожал видео в theora, а звук в vorbis, используя контейнер ogg.
Quote: Полностю
я не согласен... у меня с остальными качество еще хуже :(
я тоже :)
Xvid я конечно еще попробую...
что касается битрейта, я же говорю, с двд (дн.дозор) резал "плохим" кодеком, в разрешении 720х576, с дефолтным битрейтом (около 800), и качество отменное (только не надо плиз говорить что "быть того не может", я тож думал что если уж в разрешении 640х480-тв качество позорное, то с двд еще хуже буит, ан нет...)
я не говорю что он "задает", я говорю что влияет...
если битрейт будет 25б/с то мы увидим картинку 1х1 пиксель с частотой 25 к/с... (а вообще говоря нужен битрейт 24х25бит/с, чтоп отображать труколорный пиксель :))
это все я понимаю.. не тупой :(
а)я думал что величина стандартная килобит/с
б)640х480
ц)24
ага, при битрейте в 1.8 уже нормально, только вот мне бы хотелось, чтоб на сидюк влазил час-полтора видео... а при таком битрейте час занимает около(или чуть больше) гига
1.еслиб винт позволял, я бы raw захватывал, но эксперименты показали, что подымать битрейт выше 4000 смысла нет, качество не улутшается
2.и деинтерлейсинг ему не нужен... наверное... надо проверить, я об этом както не подумал
а че такое theora?? я как-то не слыхал....
звук в ogg/vorbis меня не устраивает, я хочу чтобы видео потом нормально читалось как виндовыми кодеками, так и двд-плеерами
Quote:2.и
Тогда действительно не стоит захватывать с таким битрейтом. Я просто с видеокамеры захватываю и чтобы потом нормальную картинку получить мне надо, чтобы гребенка с шагом в один пиксель не потерялась, её тогда убрать нормально получается.
В виндах оно прекрасно читается, а dvd плееров у меня нет и не предвидится. theora - абсолютно свободный видеокодек уровня divx. То видео, которое я кодировал в theora смотрелось намного лучше, чем в divx, но это похоже связанно со спецификой самого видео, темное помещение, камера дает сильный шум и divx попытался его передать, получилась пестрая некрасивая каша. Возможно на другом видео divx быдет выглядеть лучше. Для моих целей мне theora больше понравилась.
PS Возможно у тебя просто видео, плохо поддающееся сжатию? Движения много?
Quote:PS Возможно
да не много вроде... я ComedyClub пишу... они ж там большую часть времени на сцене пляшут...
я не пойму в чем проблема... говорю же, с двд режу, и разрешение выше, и битрейт 800, и качество отменное... а тут вот заковыка :(
в обчем
в обчем подсобрал я немного статистики и вот что могу сказать
1. msmpeg4 - это вообще-то DIVXv3(DIV3)- дает у меня наилутшее качество картинки (в соотношении битрейт/качество)
2.Xvid я попробовал, качество жуть
3.отменное качество дает DV и mJpeg (визуально как бы даже лутше оригинала, хз, мож фильтры применяются), но у них битрейт сумасшедший :(
4. изорбажение интерлейсенное, но применение деинтерлейсера (любого из 5ти встроенных в mencoder) улутшений не дает, напротив, изображение размазывается, и даже в более-менее однородно-цветовых местах появляется шум
5. звук ас3
я принял среднее решение:
-vf scale=480:360,hue=0,0.5 -lavcopts vcodec=msmpeg4:vhq:vbitrate=1500:acodec=ac3
час выходил около 700м
кстати, об плохих кодеках...
я пролистал много фильмов, и 95% из них пожаты DIV3, и качество нормальное...
опять же повторюсь, когда с двд сливаю, то div3+битрейт=800 == нормальное качество с нормальным размером...
с тв вот только плохо :(
Quote:4.
Попробуй применять bob&weave, точно есть в cinelerra. Это наилучший из простых способов дентерлейсинга. Лучше могут только специальные железки и очень дорогие программы, которые распознают объекты, их движение, вычисляют скорость...
эт че такое??
эт че такое??
В смысле? cinelerra -
В смысле? cinelerra - видеоредактор. bob&weave, если не ошибаюсь, вычисляет места, где видна гребенка и там показывает только одно поле, а там, где она не заметна показывает оба поля. Порог настраивается.
Re: о! хоть кто-то
можно добавить 3d фильтр еще. имхо.
а если здесь тоже копи поставить? файл то все равно временный.
т.к. видео взято с телевизора - то нужно сначала по любому выяснить типа видео -т.е. черезстрочность, фильтры и т.п. - это в данном случае (тв-тюнер) очень важно. а потом соответсвующим образом обрабатывать - т.е. размер /соотношение сторон играет огромную роль - не помню точно какова должна быть кратность - но я пробовал делать сначала сам, а потом учитывая рекомендации с доки на официальном сайте мплеера (там и по русски есть. я всю папку рекурсивно залил) - имхо отличнейший мануал. попробуй там прочти. имхо
для видео с тв-тюнера не катит.. да и кодек конечно еще тот.. пробуй ffmpeg - отличный проверенный, или стремительно развивающийся x264 - я для пробы и тем и тем пробовал, но особой разницы для себя не ощутил..
имхо ffmpeg - сейчас наилучший вариант в плане скорость/качество.
Re: о! хоть кто-то
Странно, xvid почему-то всегда выдовал лутшее качеcтво чем mpeg4 из libavcodec, когда я их сравнивал...
А x264 на мой взгляд предпочтительнее если комп хороший (и процессор >1Ггц), т.к. по отношению качество/объём алгоритм H.264 самый лутший какой сейчас есть (среди папулярных и открытых кодеков).
А что про x264
А что про x264 (GPL реализация H.264/AVC) никто не говорит? Мне больше чем xvid понравилось как оно сжимает. Правда и к процу требования выше. Хотя xvid тоже очень хорош.
Кстати, да,
Кстати, да, последние год-два во всех тестах x264 кодирует лучше, чем xvid. На forums.gentoo.org к тому же можно найти оверлей с SVN-сборками mplayer и x264.
А звук лучше всего в OGG кодировать, благо он даже 5.1 поддерживает (см. топик на linuxforum)
чем ас3 не
чем ас3 не устраивает??
OGG поддерживает
OGG поддерживает до 256 каналов, если не ошибаюсь.
предлагаешь
предлагаешь разместить по квартире 255 колонок и сабвуфер? :))
Тоже самое выяснил
Несколько ранее столкнулся с той же задачей... записью с ТВ-тюнера.
Перепробовал все кодеки включая x264 и выяснил тоже самое.
Единственный кодек дающий приемлимое качество и размер сразу после захвата видео в msmpeg4. Остальные ВСЕ после захвата показывают гребенку.
Конечно правильнее захватывать в raw... Но возни тогда намного больше.
Но после обработки raw неплохое качество дает xvid.
Но извращатся для записи ТВ смысла не вижу. Так что msmpeg4 для этого вполне годится, не напрягая при этом сильно машину.
У меня даже при записи не выходит из энергосберегающего режима процессора.
+1
+1
Quote:Остальные
Ну а куда должна исчезныть гребенка, если она есть в исходном сигнале? Наложи фильтр деинтерлейсинга и она исчезнет.
пробовал...
пробовал... гребенка изчезает... но качество падет :( картинка размытой становится
Ну так
Ну так существует куча разных алгоритмов деинтерлейсинга. Если используешь linear blend, то конечно картинка будет размытой.
Да гребенка исчезает, но
Да гребенка исчезает, но получаемое качество далеко не соответствует размеру получаемого файла.
Короче результат меня удовлетворил. Если мне требуется нормальное качество при минимальном размере... Кодирую в raw и потом в два прохода кодирую xvid.
вообсчето
вообсчето жмать видео так и нужно - сначало класть несжатым, потом обрабатывать, потом жать чемнить, желательно в 2 прохода
Да в идеале.
Но это не всегда необходимо, и всегда неудобно при записи с ТВ.
При риппинге DVD согласен. Так надо и результат лучше.
Но тут же речь о ТВ. :)
товарисчи! вы
товарисчи! вы не читали что выше написано??
речь именно о тв, ибо двд, у меня msmpeg4-ом в один проход, с битрейтом 800 дает нормальное качество
А вот dvd жать в
А вот dvd жать в msmpeg4 это уже изврат. Или у вас сильно заниженные критерии нормальности видео. В чем проблема DVD жать сразу в xvid/x264?
Гы.
Проблем с ДВД как раз и нет.
Человек изначально об этом сказал...
А вот с ТВ я уже высказал свое мнение. :)
Я говорю не о
Я говорю не о проблемах с DVD, а о том что msmpeg4 поганейший кодек. И жать им файл, а не поток реалтаймовый смысла нет, есть кодеки гораздо лучше.
не поверишь :)
не поверишь :) качество не устраивает :(
либо размер...
Т.е. ты хочешь
Т.е. ты хочешь сказать что при перекодировании из MPEG2 (DVD) в msmpeg4 у тебя лучше качество чем в xvid? Первый раз такое слышу, msmpeg4 жутко устаревший кодек с кучей багов. xvid это современное развитие технологии, очень сильно усовершенствованное. Уже давно он во многих теста занимает первое место в сравнениях качества. А про msmpeg4 сообщество кодеров уже давно забыло как про страшный сон. Так что я ума не приложу что ты делаешь не так, что у тебя msmpeg4 дает лучшее качество чем xvid =)
ммм... ты знаешь,
ммм...
ты знаешь, я в теории в курсе что хвид должен быть круче... и сам, если честно, объяснить полученных результатов не могу...
А можно
А можно скринами качество кодеков подкрепить?
да можно
да можно конечно... тока лень мне...
я объяснение этому нахожу тока одно: с дефолтными параметрами у див3 качество лутше, а выискивать такие чтоп у хвид-а было нормальное мне тоже лень....
на самом деле, по тв я ответ получил меня устраивающий, а вообще-то топик не мой :)
скриптик DVD->x264
сделал скриптик может кому пригодится...
кодирует DVD -> x264 в матрешку
есть мозможность сохранить звук как он есть на ДВД, либо перекодировать в ogg (переменная в скрипте REENCODE_SOUND)
на выходе получается mkv файл.
Необходимые пакеты:emerge mplayer mkvtoolnix gpac c соответствующими use flags
PS подскажите если mplayer собран c ru и en как вывод в консоле принудительно сделать английским? мне это нужно для автоматизации скрипта.
Вызывай его как
Вызывай его как LC_ALL="EN_en" mplayer и вывод будет на английском
не помогает :(
не помогает :(
блин советчики,
блин советчики, хоть бы сам перед советом попробовал...
locale -a
выдаст список всех локалей в системе, там выбери аглицкий
LC_ALL="en_US.UTF-8"
попробуй, если не заработает напиши в начале в скрипта
export LC_ALL="en_US.UTF-8"
но всётаки для mplayer у меня почему-то неработает...
это все я
это все я конечно пробовал, не работает...
я вот несовсем
я вот несовсем понял чем мешает автоматизации русский язык?
тем что
тем что руссифицированныи и английский мплееры выводят по разному информацию в консоле (некоторые слова поменяны местами :) скажем результат использования grep ....| awk '{print $3}' в разных версиях будет разным.
Ну и я тогда свой...
...кину для пережатия dvd->xvid, правдо без звука...
gmc кстати лутше не применять, на качество всёравно мало влияет...
но без vhq=4 и pass2 палучается ещё большее уродство ;)
PS 2Slayer605 респект за скрипт