LINUX.ORG.RU

Вышел FFmpeg 0.6

 , , , ,


0

0

На днях был анонсирован выпуск FFmpeg версии 0.6 (кодовое имя «Works with HTML5»). Это первый выпуск с марта прошлого года, когда вышла версия 0.5. Итак, что разработчики успели сделать более чем за год:

  • множество улучшений для видео HTML5: декодеры H.264 и Theora теперь работают значительно быстрее, обновлён декодер vorbis, а также добавлена поддержка libvpx для кодека VP8 и контейнера WEBM;
  • удалена устаревшая подсистема vhook;
  • удалена устаревшая подсистема масштабирования;
  • удалён несвободный код libamr для кодирования/декодирования AMR-NB/WB;
  • добавлена поддержка RTMP в libavformat;
  • опции -formats разделены на -formats, -codecs, -bsfs и -protocols;
  • новый инструмент ffprobe для анализа потоков;
  • добавлена поддержка протоколов RTMP/RTMPT/RTMPS/RTMPE/RTMPTE в библиотеку librtmp;
  • добавлена запись комментариев VorbisComment для файлов FLAC, Ogg FLAC и Ogg Speex;
  • добавлены новые кодеки: Intel Indeo 5, WMA Pro, WMA Voice, HE-AAC, кодирование/декодирование AMR-NB и декодирование AMR-WB средствами библиотек OpenCORE, декодер Electronic Arts Madcow, кодирование субтитров DivX (XSUB), экспериментальное кодирование AAC, демультиплексирование Wave64, декодирование субтитров Bluray (PGS), декодирование MPEG-4 Audio Lossless Coding (ALS), демультиплексор Bink с поддержкой декодирования аудио/видео и многие другие;
  • оптимизации для платформы ARM.

Загружаем новую версию, собираем и радуемся улучшенной мультимедийной поддержке в Linux!

>>> Замечания к выпуску

★★★★

Проверено: maxcom ()

- media-video/ffmpeg-0.6 (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Alexis Ballier <aballier@gentoo.org> (16 Jun 2010)
# Mask FFmpeg 0.6 until reverse deps are checked and safe



они вменяемы? ) я только что обновила с /usr/local/portage
и с обратными зависимостями все в порядке... параноики-маскировщики

Sylvia ★★★★★
()

Загружаем новую версию, собираем и радуемся

Мне одному Кин-Дза-Дза вспомнился?

yaws
()

товарищи. в нем вернули ffplay? а то в 0.5_p22846 я его не наблюдаю
(юзфлаги: 3dnow 3dnowext X alsa cpudetection encode faac faad gsm hardcoded-tables jack jpeg2k mmx mmxext mp3 ssse3 theora threads v4l v4l2 vorbis x264 xvid zlib -altivec -amr -bindist -custom-cflags -debug -dirac -doc -ieee1394 -network -oss -pic -schroedinger -sdl -speex -test -vdpau -video_cards_nvidia)

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

> VFP напрмер в cortex-a8 так же как и у всех arm опционален

Как раз в cortex-a8 он есть всегда: http://www.arm.com/products/processors/cortex-a/cortex-a8.php

к тому же он там без конвеера, там есть simd для float в neon, тот же ffmpeg его поддерживает но тесты производительности неубедительные

Какие тесты? Только что сам проверил, кодируем тестовый файл (длительность 125s) из wav с помощью 'lame -b 256' в mp3, и с помощью 'oggenc -b 256' в ogg. Затем декодируем на ARM Cortex-A8 720MHz.

Время декодирования из ogg с помощью ffvorbis - 2.484s, время декодирования из mp3 с помощью libmad - 5.923s.

ffvorbis использует NEON (floating point)

libmad использует доисторические ассемблерные оптимизации под armv4 (fixed point)

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

$ffplay
FFplay version 0.6, Copyright (c) 2003-2010 the FFmpeg developers
built on Jun 16 2010 14:51:19 with icc 1110

media-video/ffmpeg-0.6 USE=«3dnow 3dnowext X alsa amr cpudetection dirac encode faac faad gsm hardcoded-tables jpeg2k mmx mmxext mp3 schroedinger sdl speex ssse3 theora threads v4l v4l2 vdpau vorbis x264 xvid zlib (-altivec) -bindist -custom-cflags -debug -doc -ieee1394 -jack -network -oss -pic -test» VIDEO_CARDS=«nvidia»

Sylvia ★★★★★
()

Наконец-то amr привели в порядок. Рыдаю весь.

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

от png было достаточно ожидаемо что будут проблемы ) А вот от ffmpeg...
другие библиотеки с изменениями major номера версии тоже не стесняются сразу выкладывать в ~x86, а тут... непонятно чем руководствовался перестраховщик
Есть конечно package.unmask , но просто удивляет )

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

от png было достаточно ожидаемо что будут проблемы ) А вот от ffmpeg... другие библиотеки с изменениями major номера версии тоже не стесняются сразу выкладывать в ~x86, а тут... непонятно чем руководствовался перестраховщик Есть конечно package.unmask , но просто удивляет )

Может быть, из-за этого?

опции -formats разделены на -formats, -codecs, -bsfs и -protocols;

Хотя, вряд ли кто-то использует в программах напрямую бинарник ffmpeg.

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

да, может быть,
есть же фронтэнды для кодирования,
хотя avidemux например свою копию библиотек ffmpeg собирает

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

ffplay требует +sdl
у вас -sdl
поэтому и нет ffplay

Sylvia ★★★★★
()

Интересно, корявое декодирование ape починили или нет.

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

это еще и vlc )
mplayer тоже использует (свою копию) ffmpeg, svn снапшот mplayer'a включает также и svn снапшот ffmpeg

Sylvia ★★★★★
()

Здорово!

оптимизации для платформы ARM

Всего 4 слова, а сколько драмы породили.

dogbert ★★★★★
()

ffplay на lenovo s10e не тянет 1080p, а жаль...

это какбы клипец 480p
http://img267.imageshack.us/img267/8090/ffplay1.png
http://img96.imageshack.us/img96/6630/mplayer1.png

а это тупой китайский порномультик 1080p
http://img694.imageshack.us/img694/2014/ffplay2.png
http://img21.imageshack.us/img21/1117/mplayer2.png
http://img252.imageshack.us/img252/3604/vlc2.png

как видно проца жрут все одинаково, но при 1080 ffplay жутко фризит аж смотреть невозможно

надо бы еще на 720p потестировать

burzumko
()

отлично
надо собирать

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

Как раз в cortex-a8 он есть всегда: http://www.arm.com/products/processors/cortex-a/cortex-a8.php

Ну ты сам то сходил по своей замечательной ссылке ?

VFPv3 is an optional extension to the ARM, Thumb® and ThumbEE instruction sets in the ARMv7-A and ARMv7-R profiles.

ffvorbis использует NEON (floating point)

neon появился только в последней серии armv7, soc на которых в РФ увидишь только в виде готового мусора типа телефон или завезенные через третьи страны, к тому же HD видео даже у них пупок развяжется декодировать :)

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

> Ну ты сам то сходил по своей замечательной ссылке ? «VFPv3 is an optional extension to the ARM, Thumb® and ThumbEE instruction sets in the ARMv7-A and ARMv7-R profiles.»

В упор не вижу в данной выдранной из контекста фразе слово Cortex-A8 :)

На сайте ARM есть описание различных процессоров. И там вполне конкретно упоминается для каждого процессора, опционален NEON/VFP или нет. Так вот, в Cortex-A9 NEON опционален (и в Terga2 его нет), а вот в Cortex-A8 NEON есть всегда.

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

>они вменяемы? ) я только что обновила с /usr/local/portage

и с обратными зависимостями все в порядке... параноики-маскировщики


А вы какой ebuild использовали?

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

сначала свой, потом через час пришел официальный, замаскированый
, версия та же, так что предложили откатиться

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

>сначала свой, потом через час пришел официальный, замаскированый

, версия та же, так что предложили откатиться


Решили перестраховаться: за что я люблю Gentoo, так это за стабильность :-) Не помню когда у меня в последний раз что-то отваливалось, хотя дистрибутив и существует в режиме вечной беты.

P.S. И когда это вы все успеваете? Иногда мне кажется, что под вашим ником скрывается целая команда хакеров ;-)

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

>Иногда мне кажется, что под вашим ником скрывается целая команда хакеров ;-)


только я и кот )

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

помницо в анстейбл генте как-то обновлялись qt-либы с одной минорной версии на другую и одна из либ (qt-sql емнип) компилялась с ошибкой из-за чего не запускались кутэшные приложения, пришлось целый день без них сидеть.
это я к тому что не всё стабильно что генту ))

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

>> VFP напрмер в cortex-a8 так же как и у всех arm опционален

Как раз в cortex-a8 он есть всегда: http://www.arm.com/products/processors/cortex-a/cortex-a8.php


в Cortex-A8 NEON есть всегда.


Ты троль или реально не понимаешь разницу между vfp и neon ? Хинт - это абсолютно разные вещи, я говорил про vfp если ты еще не заметил.

В упор не вижу в данной выдранной из контекста фразе слово Cortex-A8 :)


ARMv7-A profile. Конкретно про а8 тоже где-то написано - просто эта цитата самая близкая по твоей ссылке была.

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

помницо в анстейбл генте как-то обновлялись qt-либы с одной минорной версии на другую и одна из либ (qt-sql емнип) компилялась с ошибкой из-за чего не запускались кутэшные приложения, пришлось целый день без них сидеть. это я к тому что не всё стабильно что генту ))

Ну, на то он и unstable :-) Если не увлекаться hard-masked пакетами, то серьезных проблем обычно не бывает.

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

Напоследок для тех кто думает что на ARM HD видео возможно благодаря софтовым кодекам: http://tegradeveloper.nvidia.com/tegra/forum/tegra-250-devkit-hw-documentatio...

Tegra2's Cortex A9 processors don't include NEON. On older/other ARM cores, NEON is used to compensate for the slow FPU's and memcpys. The Tegra2's FPU and memory controller are quite capable and the benefits of NEON are far less obvious.

In terms of energy efficiency, it really depends on what you are doing. Tegra2 includes dedicated sound, image and video processors that are extremely energy efficient.

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

И как же ваша цитата противоречит софтовым hd кодекам?

The Tegra2's FPU and memory controller are quite capable

Я понимаю, даже наоборот..

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

>И как же ваша цитата противоречит софтовым hd кодекам?

Я понимаю, даже наоборот..


Как можно еще наоборот понять вот это ??

Tegra2's Cortex A9 processors don't include NEON ... Tegra2 includes dedicated sound, image and video processors that are extremely energy efficient.


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

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

В любом современном x86-based пк содержится dedicated video processor, и тем не менее..

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

> mplayer тоже использует (свою копию) ffmpeg

Необязательно. Можно ликовать с системными shared-библиотеками ffmpeg.

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

> neon появился только в последней серии armv7, soc на которых в РФ увидишь только в виде готового мусора типа телефон или завезенные через третьи страны, к тому же HD видео даже у них пупок развяжется декодировать :)

ну незнаю про третьи страны - но мы (www.tral.ru) сейчас работаем с процессорм iMX51 от FreeScale -делаем свою железку.. так оно имеет аппаратные кодеки MP4 и H264 :) и HD декодирует весьма неплохо - с загрузкой процессора в 5-10% :)

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

> Ты троль или реально не понимаешь разницу между vfp и neon ? Хинт - это абсолютно разные вещи, я говорил про vfp если ты еще не заметил.

Прочитайте http://www.arm.com/files/pdf/A8_Paper.pdf для расширения кругозора: «The NEON unit also executes all ARM floating point instructions from the pre-existing VFP instruction set. It makes sense for the NEON unit to execute both the new Advanced SIMD instructions and the pre-existing VFP floating point instructions since they share the same register file and load/store instructions.». Другими словами, NEON - это superset VFP. И возвращаясь к теме данной новости, собственно, для FFmpeg как раз очень полезен NEON, а не VFP.

ARMv7-A profile. Конкретно про а8 тоже где-то написано - просто эта цитата самая близкая по твоей ссылке была.

Так и приходите с конкретной цитатой. Либо с примером ARM Cortex-A8 железки без NEON/VFP. Ну невыпиливаемый он там получился :)

Напоследок для тех кто думает что на ARM HD видео возможно благодаря софтовым кодекам: http://tegradeveloper.nvidia.com/tegra/forum/tegra-250-devkit-hw-documentatio...

Перевожу на понятный язык: «используйте наши проприетарные решения для multimedia, а чтобы вам неповадно было использовать софтовые кодеки вроде FFmpeg, мы специально покоцали SIMD». Читайте остальные комментарии и ответ этому товарищу :)

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

А её можно научить кушать кактус forward codec?

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

>>>можно, но оно тогда пишет про отключение части кодеков.

Необязательно. Вообще сборка связки ffmpeg+mplayer+other достаточно нетривиальная задача с причудливыми поворотами. Погуглив можно найти форумы/статейки посвященные исключительно этой теме...

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

уверены ? сами собирали?

Checking for FFmpeg libavutil ... yes
Checking for FFmpeg libavcodec ... yes (libavcodec.so is discouraged over static libavcodec)
Checking for FFmpeg libavformat ... yes
Checking for FFmpeg libpostproc ... yes (using libpostproc.so, but static libpostproc is recommended)
Checking for FFmpeg libswscale ... yes (using libswscale.so, but static libswscale is recommended)
Checking for libopencore_amr narrowband ... no (libavcodec (static) is required by libopencore_amrnb, sorry)
Checking for libopencore_amr wideband ... no (libavcodec (static) is required by libopencore_amrwb, sorry)
Checking for libdirac ... no (libavcodec (static) is required by libdirac, sorry)
Checking for libschroedinger ... no (libavcodec (static) is required by libschroedinger, sorry)
Checking for libvpx ... no (libavcodec (static) is required by libvpx, sorry)

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

>Другими словами,

А не надо никаких других слов кроме того что там написано - neon может выполнять кроме simd все инструкции vfp благодаря тому что использует те же регистры и команды загрузки/выгрузки и это точно никак не означает что

Ну невыпиливаемый он там получился :)


Перевожу на понятный язык:


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

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

>ну незнаю про третьи страны

Поинтересуйся у своих маркетологов откуда к вам поступают imx51- либо закупаете готовые платы за бугром либо под заказ в китае.

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

> А не надо никаких других слов кроме того что там написано - neon может выполнять кроме simd все инструкции vfp благодаря тому что использует те же регистры и команды загрузки/выгрузки

Именно так. И это был ответ на Ваше утверждение про vfp и neon: «Хинт - это абсолютно разные вещи». Ну никак они не «абсолютно разные вещи».

и это точно никак не означает что «Ну невыпиливаемый он там получился :)»

Повторяю еще раз для тех, кто «в танке». На сайте ARM вполне конкретно описаны фичи каждого процессорного ядра. И в отличие от остальных ядер, NEON/VFP юнит в Cortex-A8 является обязательным, а не опциональным.

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

Если hd - это 720p, то Cortex-A8 для некоторых легковесных кодеков (не H.264) такое тянет и сам без дополнительного спецжелеза. Двухядерный Cortex-A9 с NEON и быстрой памятью должен справляться с видео намного лучше.

Конечно, есть еще вопрос насчет энергопотребления. Но я бы предпочел иметь универсальный процессор, который может сам в случае необходимости справляться с любым видео для разрешений в разумных пределах (а если будет уж совсем критично - то иметь возможность перекодировать тяжелое видео в менее ресурсоемкий формат за разумное время прямо на ARM девайсе перед просмотром). А не кусать локти, если железный кодек по какой-либо причине откажется проигрывать что-либо.

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

>И это был ответ на Ваше утверждение про vfp и neon: «Хинт - это абсолютно разные вещи». Ну никак они не «абсолютно разные вещи».

Ты видимо потомственный танкист. Это разные блоки, отдельные части кристалла никак не зависящие друг от друга - одно без другого работает легко и непринужденно. Если тебе нужна двойная точность - vfp, для одинарной точности везде рекомендовано использовать neon.

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

>Двухядерный Cortex-A9 с NEON и быстрой памятью должен справляться с видео намного лучше.

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

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

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

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

> Это разные блоки, отдельные части кристалла никак не зависящие друг от друга - одно без другого работает легко и непринужденно. Если тебе нужна двойная точность - vfp, для одинарной точности везде рекомендовано использовать neon.

Давай ты мне будешь все это легко и непринужденно рассказывать, когда реально добудешь железку с ARM Cortex-A8 процессором и немного освоишь матчасть ;)

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

Вот только не надо сюда сообщество приплетать. Вместо нетбука с неполноценным процессором ARM Cortex-A9 в Tegra2 (которого, кстати, еще нет в продаже), я просто купил нетбук с процессором Intel Atom, у которого имеется SSE2. Вот и все дела.

А NVIDIA - сами себе злобные бакланы :) Они уже пробовали этот подход с первой тегрой (слабый ARM11 процессор + мощный графический чип), но она почему-то не «полетела». Сейчас с Terga2 будет вторая попытка (наступить на те же самые грабли?).

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

когда реально добудешь железку с ARM Cortex-A8 процессором

Видимо ты уже приобрел какой-то говонофон на cortex-a8

немного освоишь матчасть ;)

Честно говоря как понимать маркетоидную лапшу армовцев я не знаю Cortex™-A8 Revision: r2p1 Technical Reference Manual http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344d/I1007542...

13.1.1 NEON media coprocessor
The NEON coprocessor implements the Advanced SIMD media processing
architecture. Advanced SIMD is an optional part of the ARMv7-A architecture. The
components of the NEON coprocessor are:
• NEON register file with 32x64-bit general-purpose registers
• NEON integer execute pipeline (ALU, Shift, MAC)
• NEON dual, single-precision floating-point execute pipeline (FADD, FMUL)
• NEON load/store and permute pipeline
• nonpipelined VFP coprocessor that implements VFPv3 data-processing
floating-point operations.

На bdti например говорят для cortex-a8 http://www.bdti.com/articles/200710_armcortex.pdf:

Floating-point unit: Optional (VFP Lite, bundled with NEON unit)

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