Hi, there is a multithreaded ffmpeg version out there: ffmpeg-mt You can find it only under this git url: http://gitorious.org/projects/ffmpeg/repos/ffmpeg-mt Please add it to the portage, works very good for me. Other Informations: http://forum.doom9.org/showthread.php?p=1221445#post1221445 http://ubuntuforums.org/showthread.php?t=1049449 Reproducible: Always
meh, pretty experimental ... if someone does add it, I'd recommend just a live SVN snapshot.
(In reply to comment #1) > meh, pretty experimental ... if someone does add it, I'd recommend just a live > SVN snapshot. > er, git.
Yes of course a git snapshot. Here is an other simple "howto" from the mplayer homepage http://www.mplayerhq.hu/design7/news.html --snip-- Second is to use MPlayer with the experimental multithreaded FFmpeg-mt branch, which allows you to use multiple cores/CPU. (all OS and CPU supported) To install, copy and paste this line: git clone git://repo.or.cz/mplayer && cd mplayer && git checkout origin/mt && git submodule init && git submodule update && ./configure && make && make install To enable threading run mplayer -lavdopts threads=N file.mkv where N is the number of threads you want to use. NOTE: FFmpeg-mt has problems with packed b-frames --/snip--
I'm not sure if it's what you're looking for but check out ebuild from here: http://nikita.melnichenko.name/blog.php?id=5&topic=gentoo-ebuild-mplayer-mt&lang=en At least you can use it as a partial solution.
Created attachment 194589 [details] ffmpeg-mt-9999.ebuild Ebuild for ffmpeg-mt based on ffmpeg-9999 ebuild. Compiled and installed fine on amd64 (needed to remove original ffmpeg first). However since there is no virtual for ffmpeg, another option would be to add a USE flag to the ffmpeg-9999 ebuild to optionally fetch and build the -mt version instead of the mainline. Quickly tested on a H.264 1080p video (3 threads) - noticeable improvement over single-threaded version was observed (no glitches).
Created attachment 197641 [details, diff] Diff to current =ffmpeg-9999-r1 ebuild
I assume this branch will get merged into main ffmpeg when it's considered ready?
(In reply to comment #7) > I assume this branch will get merged into main ffmpeg when it's considered > ready? ffmpeg-mt is a "Google Summer of Code" project of ffmpeg. So yes, it's upstream sponsored and the plan is to include it.
Sonic, why you changed status to RESOLVED without any comment?
Hi, because of Comment #8. When it will be included into main ffmpeg i think we dont need this bug anymore! ?! If we need, reopen it please. Thx
reopened
What's the current state of the project? Was it finally included in mainstream ffmpeg?
(In reply to comment #12) > What's the current state of the project? Was it finally included in mainstream > ffmpeg? > yeah, i not need to write the ebuild, currently ffmpeg from the main line does not support multithread for h264, in my laptop this fork is the only way to reproduce h264 1080p. tranks for the ebuild
Created attachment 265283 [details, diff] working patch of the current ffmpeg-9999.ebuild
Created attachment 265311 [details, diff] patch, works fine for me ffmpeg-9999.ebuild with my patch is available in multimedia overlay. It builds fine, but fails tests, the problem is upstream.
(In reply to comment #15) > Created attachment 265311 [details, diff] > patch, works fine for me > > ffmpeg-9999.ebuild with my patch is available in multimedia overlay. It builds > fine, but fails tests, the problem is upstream. Thanks for your overlay but it doesn't even start to compile. I'm stuck with this error at the fetch level. >>> Failed to emerge media-video/ffmpeg-9999, Log file: >>> '/var/tmp/portage/media-video/ffmpeg-9999/temp/build.log' * Messages for package media-video/ffmpeg-9999: * GIT update --> * repository: git://gitorious.org/ffmpeg/ffmpeg-mt * at the commit: 4118a72e28be1cee657561a1f45dc3ce160dbf07 * branch: master * storage directory: "/mnt/e/distfiles/git-src/ffmpeg-mt" * GIT NEW clone --> * repository: git://git.ffmpeg.org/libswscale * ERROR: media-video/ffmpeg-9999 failed (unpack phase): * git.eclass: can't fetch from git://git.ffmpeg.org/libswscale. * * Call stack: * ebuild.sh, line 56: Called src_unpack * environment, line 3124: Called git_fetch * environment, line 2081: Called die * The specific snippet of code: * ${EGIT_FETCH_CMD} ${extra_clone_opts} ${EGIT_OPTIONS} "${EGIT_REPO_URI}" ${GIT_DIR} || die "${EGIT}: can't fetch from ${EGIT_REPO_URI}."; * * If you need support, post the output of 'emerge --info =media-video/ffmpeg-9999', * the complete build log and the output of 'emerge -pqv =media-video/ffmpeg-9999'. * This ebuild is from an overlay named 'multimedia': '/var/lib/layman/multimedia/' * The complete build log is located at '/var/tmp/portage/media-video/ffmpeg-9999/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/media-video/ffmpeg-9999/temp/environment'. * S: '/var/tmp/portage/media-video/ffmpeg-9999/work/ffmpeg-9999/libswscale' where is libswscale? Sorry if this is not the right place to discuss it. If not, where should we discuss overlays bugs? Directly through emails?
It's a GIT submodule. Try my ebuild. Carefull, chromium does not build anymore against latest ffmpeg and ffmpeg-mt because libavcore is gone (you need a one line patch).
Created attachment 266803 [details, diff] updated patch Kete, thanks for notification, fixed ebuild in multimedia overlay. http://gitorious.org/~astrange/ffmpeg/ffmpeg-mt/commit/1fae9e952cee3c499313b5a9b5c2e3dda096ee30 libswscale is now part of ffmpeg and ffmpeg-mt git repos, no submodules anymore. >Sorry if this is not the right place to discuss it. If not, where should we discuss overlays bugs? I think this bug is good place for ffmpeg-mt packages discussion, also you can use #gentoo-media freenode channel. Private emails are for case when it is not possible to contact through public channels. Sylvain, your patch is wrong now, no need for 'EGIT_HAS_SUBMODULES="true"'.
https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2011-March/109906.html http://git.videolan.org/?p=ffmpeg.git;a=commit;h=cf740790677b5101b59e33f4f40d375068c04ada Not sure if it is time for removing ffmpeg-mt USE, will wait until ~astrange/ffmpeg/ffmpeg-mt repo will become completely abandoned.
Indeed, recent merge of ffmpeg-mt in ffmpeg. There is still an official ffmpeg-mt. Let's see how development will happen. But I bet it will be in ffmpeg-mt repo then merged in the main repo on regular time basis like with linux.
Now ffmpeg-mt is based on libav. ffmpeg package in multimedia overlay was renamed to media-video/libav.
ffmpeg-mt has been merged some time ago in ffmpeg/libav, ffmpeg-0.9.1 even decodes multithreaded by default now. closing as wontfix (wrt ebuild addition)