Сайт | Скачать | Видео | Wiki

Автор Тема: ffmpeg  (Прочитано 9343 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн I-Jurij

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 533
  • Репутация: +16/-0
  • Автор темы
ffmpeg
« : 05 Февраль 2016, 18:41:23 »
Так или иначе нужен уже почти для всех программ, связанных с мультимедиа.
По состоянию на 05.02.16:
Обладает огромным количеством поддерживаемых форматов, кодеков, фильтров, аппаратное ускорение и тд.

Нет внутренней поддержки ffmpeg, нужны только внешние библиотеки:
OpenJPEG
Speex
libilbc (iLBC (Internet Low Bitrate Codec))
libzvbi (decode DVB teletext pages and DVB teletext subtitles)
AviSynth (AviSynth scripts as input)
Intel QuickSync Video (Intel QuickSync Video (QSV))
LAME (внутренний есть, но не для плавающей точки)
libass (субтитры)
rtmpdump (сетевые потоки)
Все некритичные для среднестатистического пользователя.

Внешние библиотеки, добавляют кодирование (нужны при создании аудио-видео):
x264 (or OpenH264) (H.264)
x265 (or kvazaar) (hevc)
libvpx (VP8/VP9)
theora
libfdk-aac (AAC+)
opus
OpenCORE (AMR-WB)
libgsm
TwoLAME (MP2)
Vorbis
schroedinger (Dirac)

В pra (судя по pkgbuild), ffmpeg-ltp-vdpau собирается с:
--disable-encoder=h263
--disable-encoder=h263p
--disable-encoder=mpeg2video
--disable-encoder=msmpeg4v1
--disable-encoder=msmpeg4v2
--disable-encoder=msmpeg4v3
хотя поддержка всего этого есть внутри самого ffmpeg.
Это приводит к уменьшению возможностей других программ (в частности imagination не может создать *.vob c mpeg2). В наши дни это как-бы некритично, но все же.

Итого, для проигрывания (как можно больше всего) необходимо:
убрать:
--disable-encoder=h263
--disable-encoder=h263p
--disable-encoder=mpeg2video
--disable-encoder=msmpeg4v1
--disable-encoder=msmpeg4v2
--disable-encoder=msmpeg4v3
--disable-symver

для проигрывания и поддержки почти всего-всего:
--enable-libopenjpeg
--enable-libspeex
--enable-libilbc
--enable-libass
--enable-librtmp
--enable-nonfree и --enable-libfdk-aac
--enable-libx264 (или --enable-libopenh264)
--enable-libx265 (или --enable-libkvazaar)
--enable-libvpx

Нужны при создании аудио-видео и другим прогам:
--enable-libmp3lame (imagination)
--enable-libopus
--enable-libtwolame
--enable-libopencore-amrnb
--enable-libopencore-amrwb
--enable-libvo-amrwbenc

не уверен, что очень:
--enable-libmfx
--enable-avisynth
--enable-libzvbi

pkgbuild:

# $Id$

pkgname=ffmpeg-vdpau
pkgver=2.8.6
pkgrel=1
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video (with all options)'
arch=('i686' 'x86_64')
url='http://ffmpeg.org/'
license=('GPL3' 'custom:UNREDISTRIBUTABLE')
depends=(
      'alsa-lib' 'bzip2'  'libva' 'libvdpau' 'libass' 'libfdk-aac' 'x265' 'libvpx')

makedepends=('hardening-wrapper' 'libvdpau' 'yasm')
conflicts=('ffmpeg' 'ffmpeg-git' 'ffmpeg-full-git')
provides=(
      'libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
      'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so'
      'libswscale.so'
      'ffmpeg'
      )

source=(http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.bz2)

validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')

sha256sums=('40611e329bc354592c6f8f1deb033c31b91f80e91f5707ca4f9afceca78d8e62')

build() {
  cd ${pkgname%-vdpau}-$pkgver

  ./configure --prefix=/opt/ffmpeg --pkg-config-flags=--static\
        --enable-shared\
        --disable-static\
        --enable-gpl\
        --enable-runtime-cpudetect\
        --enable-avresample\
        --enable-pthreads\
        --enable-small\
        --enable-libx265\
        --enable-libass\
        --enable-nonfree\
        --enable-libfdk-aac\
        --enable-libvpx\
        --enable-x11grab\
        --enable-vdpau\
        --disable-ffserver\
        --disable-ffprobe\
        --disable-symver\
        --disable-debug\
        --disable-doc\


  make
  make tools/qt-faststart
}

package() {
  cd ${pkgname%-vdpau}-$pkgver
  make DESTDIR=$pkgdir install install-man
  install -Dm755 tools/qt-faststart $pkgdir/usr/bin/qt-faststart
}

« Последнее редактирование: 07 Февраль 2016, 12:49:33 от I-Jurij »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re:ffmpeg
« Ответ #1 : 06 Февраль 2016, 20:36:33 »
В PRA есть маленький ffmpeg-vdpau-ltp и большой (сделан из арчрепы)
В маленьком специально порезано, т.к. он для проигрывания форматов, которые наиболее распространены
Для чего-то более серьезного лучше юзать большой. Там все есть
« Последнее редактирование: 07 Февраль 2016, 08:39:14 от sfs »

Оффлайн I-Jurij

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 533
  • Репутация: +16/-0
  • Автор темы
Re:ffmpeg
« Ответ #2 : 06 Февраль 2016, 21:01:56 »
В PRA есть маленький ffmpeg-vdpau-ltp и большой (сделан из арчрепы)
В маленьком специально порезано, т.к. он для проигрывания форматов, которые наиболее распространены
Для чего-то более серьезного лучше юзать большой. Там все есть
Спасибо, большой уже есть.  Только зачем выключать встроенные кодеки? Раньше выключали для использования внешних программ, сейчас их нет - лучше включить.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re:ffmpeg
« Ответ #3 : 07 Февраль 2016, 08:41:39 »
Это?
Код
--disable-encoder=h263
--disable-encoder=h263p
--disable-encoder=mpeg2video
--disable-encoder=msmpeg4v1
--disable-encoder=msmpeg4v2
--disable-encoder=msmpeg4v3
Возможно эти ключи тянутся с давних пор. Жалоб что что-то не проигрывается не было. Работает - не трогай  ;) При следующей компиляции попробую включить

Оффлайн I-Jurij

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 533
  • Репутация: +16/-0
  • Автор темы
Re:ffmpeg
« Ответ #4 : 07 Февраль 2016, 11:33:51 »
... Работает - не трогай  ;) ...
Эт точно  ;D

Оффлайн I-Jurij

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 533
  • Репутация: +16/-0
  • Автор темы
Re:ffmpeg
« Ответ #5 : 07 Февраль 2016, 14:48:04 »
Cобрал ffmpeg-2.8.6-p-vdpau + imagination
Потом и до avidemux доберусь (версия из реп скомпилена с libx264.138, а устанавливается из той же репы libx264.148, в итоге avidemux ее не видит, + не установлено нескольких нужных ему кодеков).
« Последнее редактирование: 07 Февраль 2016, 14:51:44 от I-Jurij »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re:ffmpeg
« Ответ #6 : 07 Февраль 2016, 21:11:54 »
По итогу
Код
http://forum.puppyrus.org/index.php/topic,16345.msg114473.html#msg114473
Есть ли смысл компилить большой ffmpeg (и mplayer со встроенным ffmpeg). В арчрепе , похоже,  такой же http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a64/pfs-portable/ffmpeg-p-2.7-1_64.pfs

Вот разница большого (ij) и маленького (sf) mplayer -vo (-ao)
Код
root@pra64:64# diff ij sf 
1c1
< MPlayer UNKNOWN-5.2.0 (C) 2000-2016 MPlayer Team
---[quote] MPlayer SVN-r37553 (C) 2000-2015 MPlayer Team[/quote]
5d4
< gl_nosw OpenGL no software rendering
8,10d6
< sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
< gl OpenGL
< gl_tiled X11 (OpenGL) - multiple textures version
14d9
< matrixview MatrixView (OpenGL)
18a14[quote] xvmc XVideo Motion Compensation[/quote]
27d22
< mng MNG file
29c24
< MPlayer UNKNOWN-5.2.0 (C) 2000-2016 MPlayer Team
---[quote] MPlayer SVN-r37553 (C) 2000-2015 MPlayer Team[/quote]
33d27
< sdl SDLlib audio output
По итогу моих экспериментов доп. vo не дают улучшений
Из полезного - только vdpau
« Последнее редактирование: 07 Февраль 2016, 21:27:30 от sfs »

Оффлайн I-Jurij

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 533
  • Репутация: +16/-0
  • Автор темы
Re:ffmpeg
« Ответ #7 : 07 Февраль 2016, 22:02:42 »
По итогу
Код
http://forum.puppyrus.org/index.php/topic,16345.msg114473.html#msg114473
1. Есть ли смысл компилить большой ffmpeg (и mplayer со встроенным ffmpeg).
2. В арчрепе , похоже,  такой же http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a64/pfs-portable/ffmpeg-p-2.7-1_64.pfs
3. По итогу моих экспериментов доп. vo не дают улучшений
Из полезного - только vdpau
1. Нет. Достаточно маленького, только --disable-встроенный-кодек убрать бы. Mplayer-ext - совсем хорошо.
2. Версия ниже. Раз уж собирать - так поновее.
3. Очень может быть. Я так один xv использую, самая маленькая нагрузка на машинку. Думаю, что его достаточно.
Честно говоря, еще неделю назад не подозревал, что большая часть мультимедиа в linux завязана на ffmpeg. :D

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re:ffmpeg
« Ответ #8 : 07 Февраль 2016, 22:17:17 »
2. Не собирал. Заюзал старый. Но из арчрепы это просто

Оффлайн paulus

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1732
  • Репутация: +24/-0
Re:ffmpeg
« Ответ #9 : 08 Февраль 2016, 20:08:12 »
Столкнулся с тем что ffodivxvdpau не работает (отключил форсирование и на ffodivx пашет), проверил на нескольких видео. ???

Код
==========================================================================
Форсирован видеокодек: ffodivxudpau
Не могу найти кодек для выбранного -vo и видеоформата 0x33564944!
==========================================================================

Какой там в репе полный ffmpeg-vdpau-2.8.6_32bit и поновее, может на нем заработает?
В принципе меня устраивает и ffmpeg-vdpau-ltp-2.8, но хотелось бы избавится от проблем с ffodivxvdpau.
p.s. надо еще с mpv проверить, может это проблема mplayer'a
Код
[vo/vdpau/x11] XOpenIM() failed. Unicode input will not work.

Сдается это таки проблема ffmpeg, что-то надо с этим делать.

n.b. Warning: The ffodivxvdpau codec is only supported by the most recent series of NVIDIA hardware.
Вопрос отпал :(
« Последнее редактирование: 08 Февраль 2016, 23:00:45 от paulus »

Оффлайн I-Jurij

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 533
  • Репутация: +16/-0
  • Автор темы
Re:ffmpeg
« Ответ #10 : 09 Февраль 2016, 00:17:01 »
Хоть и стоит nvidia, а вот за такие штуки не люблю ее. Кидает пользователей старых видеокарт. Хочешь? Покупай!

Оффлайн I-Jurij

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 533
  • Репутация: +16/-0
  • Автор темы
Re:ffmpeg
« Ответ #11 : 16 Февраль 2016, 11:31:28 »
Обновления и улучшения ffmpeg 3.0.
Но любителям vlc и аппаратного ускорения лучше обождать и использовать более старые версии.

Оффлайн Bakuhatsu Mahou

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
Re: youtube-dl
« Ответ #12 : 30 Июль 2016, 00:40:30 »
Могут вылезти проблемы с имеющимися модулями (которых уже много).
Так они вроде уже вылезли. Теперь mpv (ffmpeg) не воспроизводит https://, предполагаю что опять из-за openssl.

Чем не устраивает ПРА64?
Всем устраивает, на него и перейду. Просто хотел универсальную систему, если вдруг понадобится компьютер с х86.
« Последнее редактирование: 30 Июль 2016, 00:47:21 от Bakuhatsu Mahou »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33996
  • Репутация: +231/-0
    • PuppyRus-A
Re: Re: youtube-dl
« Ответ #13 : 30 Июль 2016, 12:14:16 »
Дайте пример неработающего mpv  https://...

Оффлайн Bakuhatsu Mahou

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
Re: Re: youtube-dl
« Ответ #14 : 31 Июль 2016, 01:41:53 »
Дайте пример неработающего mpv  https://...
https://media.w3.org/2010/05/sintel/trailer.mp4
https://broken-links.com/tests/media/BigBuck.m4v
И любая другая ссылка https. Откат openssl как в случае с питоном не помогает.