Re: [FFmpeg-user] Listing the hardware accelerators
Am Fr., 27. Sept. 2019 um 15:53 Uhr schrieb Michael Koch : > > Carl Eugen, > > > @Michael: Please understand that (at least most) developers do > > not have the time to copy the change you already suggested into > > their local tree. Instead install a git client of your choice and send > > the documentation patches to the development mailing list where > > they will find more friends! > > I know absolutely nothing about git, and when I read introductions (for > example https://www.ffmpeg.org/git-howto.html) I'm totally lost. I need > to find someone locally who can explain that to me. Google led me to this page: https://git-scm.com/download/gui/windows But given that you use ffmpeg from the command line, consider the following (after installing "native git" which runs from the command line): $ git clone http://git.ffmpeg.org/ffmpeg.git $ cd ffmpeg edit a file in the doc directory. $ git commit doc (I suspect this will ask you to set your name and email when running it for the first time) $ git format-patch HEAD^ This produces a file that you can send to the mailing list after visual inspection for commit message and your name. $ git reset HEAD^ I expect there to be more than one tutorial... Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Listing the hardware accelerators
Carl Eugen, @Michael: Please understand that (at least most) developers do not have the time to copy the change you already suggested into their local tree. Instead install a git client of your choice and send the documentation patches to the development mailing list where they will find more friends! I know absolutely nothing about git, and when I read introductions (for example https://www.ffmpeg.org/git-howto.html) I'm totally lost. I need to find someone locally who can explain that to me. Michael ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Listing the hardware accelerators
Am Fr., 27. Sept. 2019 um 15:04 Uhr schrieb Verachten Bruno : > > Thanks a lot for your answers and new questions. > When I run the -hwaccels, I get: > ffmpeg -hwaccels > ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers > built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) > configuration: --enable-gpl --enable-version3 --disable-static > --enable-shared --enable-small --enable-avisynth --enable-chromaprint > --enable-frei0r --enable-gmp --enable-gnutls --enable-ladspa > --enable-libaom --enable-libass --enable-libcaca --enable-libcdio > --enable-libcodec2 --enable-libfontconfig --enable-libfreetype > --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack > --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb > --enable-libopencore-amrwb --enable-libopencore-amrwb --enable-libopenjpeg > --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg > --enable-librubberband --enable-librtmp --enable-libshine > --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh > --enable-libtesseract --enable-libtheora --enable-libtwolame > --enable-libv4l2 --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx > --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 > --enable-libxvid --enable-libxml2 --enable-libzmq --enable-libzvbi > --enable-lv2 --enable-libmysofa --enable-openal --enable-opencl > --enable-opengl --enable-libdrm --enable-nonfree --enable-libfdk-aac > --enable-libbluray --extra-libs='-lnettle -lhogweed -lgmp' (You compiled your FFmpeg binaries with several options that you don't need.) > libavutil 56. 31.100 / 56. 31.100 > libavcodec 58. 54.100 / 58. 54.100 > libavformat58. 29.100 / 58. 29.100 > libavdevice58. 8.100 / 58. 8.100 > libavfilter 7. 57.100 / 7. 57.100 > libswscale 5. 5.100 / 5. 5.100 > libswresample 3. 5.100 / 3. 5.100 > libpostproc55. 5.100 / 55. 5.100 > Hardware acceleration methods: > drm > opencl > > So... That would mean that on this machine, with what configure has been > able to detect, I only have access to drm and opencl. > > That's on a i5 laptop with an Intel 5500GPU Then install the vaapi drivers and development headers (sorry, I don't know the package names) and recompile. > Information gathered from Chromium with the "about:gpu": > GPU0VENDOR = 0x8086 [Intel Open Source Technology Center], DEVICE= > 0x1616 [Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) ] *ACTIVE* > > > We (developers) apparently think that just as you have to know your > > input file to use ffmpeg (not every command line supports every > > input file), you also have to know the hardware you are using... > Great. That was not crystal clear for me up to now. > My first (reasonable) option would be to study the various systems I use, > try to understand which hardware accelerators they have if any, and then > choose the correct options in configure so that I will have a bespoke > ffmpeg. This is less about configure options (the common hardware accelerations are auto-detected) and more about missing development headers (vaapi and vdpau / nvcodec which you need for nvidia gpus). > I have already tried that path (more or less) with ARM SoCs, and my > wounds have not healed yet. arm can be more difficult, there is something called v4l2-m2m that is also auto-detected and for which you also need specific drivers and headers at compile time. There are also rkmpp, omx and mmal: Only enable these if you know what you are doing. > The second (harebrained) option would be to turn every hardware accelerator > related option on with configure on every machine, so that I have a > consistent ffmpeg build script, and then try to understand for each > machine/build the hardware accelerators we have access to, if any (that > would be once more a pain in the neck with ARM SoCs). Except for arm, this may not really be such a pain, the necessary headers are available for all distributions. Please do not top-post here, Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Listing the hardware accelerators
Thanks a lot for your answers and new questions. When I run the -hwaccels, I get: ffmpeg -hwaccels ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --enable-gpl --enable-version3 --disable-static --enable-shared --enable-small --enable-avisynth --enable-chromaprint --enable-frei0r --enable-gmp --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-librtmp --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-libmysofa --enable-openal --enable-opencl --enable-opengl --enable-libdrm --enable-nonfree --enable-libfdk-aac --enable-libbluray --extra-libs='-lnettle -lhogweed -lgmp' libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat58. 29.100 / 58. 29.100 libavdevice58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc55. 5.100 / 55. 5.100 Hardware acceleration methods: drm opencl So... That would mean that on this machine, with what configure has been able to detect, I only have access to drm and opencl. That's on a i5 laptop with an Intel 5500GPU Information gathered from Chromium with the "about:gpu": GPU0VENDOR = 0x8086 [Intel Open Source Technology Center], DEVICE= 0x1616 [Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) ] *ACTIVE* > We (developers) apparently think that just as you have to know your > input file to use ffmpeg (not every command line supports every > input file), you also have to know the hardware you are using... Great. That was not crystal clear for me up to now. My first (reasonable) option would be to study the various systems I use, try to understand which hardware accelerators they have if any, and then choose the correct options in configure so that I will have a bespoke ffmpeg. I have already tried that path (more or less) with ARM SoCs, and my wounds have not healed yet. The second (harebrained) option would be to turn every hardware accelerator related option on with configure on every machine, so that I have a consistent ffmpeg build script, and then try to understand for each machine/build the hardware accelerators we have access to, if any (that would be once more a pain in the neck with ARM SoCs). Thanks. On Fri, Sep 27, 2019 at 10:17 AM Moritz Barsnick wrote: > On Fri, Sep 27, 2019 at 09:14:07 +0200, Michael Koch wrote: > > Does that mean > > a) List all hardware acceleration methods supported in this build of > > ffmpeg, regardless if the hardware is really built into this computer, > > or does it mean > > b) List all hardware acceleration methods supported in this build of > > ffmpeg and this hardware is really available in this computer? > > a) > Which is not what the original poster requested. > > On the other hand, the command line needs to be adapted anyway, > depending on hwaccel. Perhaps one could use ffmpeg to query by doing > trial and error (e.g. encoding to /dev/null) - unfortunately, ffmpeg > won't say what the actual issue was, unless you want to parse log > messages. > > Moritz > ___ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". -- Bruno Verachten ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Listing the hardware accelerators
Am Fr., 27. Sept. 2019 um 10:17 Uhr schrieb Moritz Barsnick : > > On Fri, Sep 27, 2019 at 09:14:07 +0200, Michael Koch wrote: > > Does that mean > > a) List all hardware acceleration methods supported in this build of > > ffmpeg, regardless if the hardware is really built into this computer, > > or does it mean > > b) List all hardware acceleration methods supported in this build of > > ffmpeg and this hardware is really available in this computer? > > a) > Which is not what the original poster requested. We (developers) apparently think that just as you have to know your input file to use ffmpeg (not every command line supports every input file), you also have to know the hardware you are using... @Michael: Please understand that (at least most) developers do not have the time to copy the change you already suggested into their local tree. Instead install a git client of your choice and send the documentation patches to the development mailing list where they will find more friends! You will find that this saves both of us (!) a lot of time because making the change locally and sending an email is definitely faster than opening a ticket on trac. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Listing the hardware accelerators
On Fri, Sep 27, 2019 at 09:14:07 +0200, Michael Koch wrote: > Does that mean > a) List all hardware acceleration methods supported in this build of > ffmpeg, regardless if the hardware is really built into this computer, > or does it mean > b) List all hardware acceleration methods supported in this build of > ffmpeg and this hardware is really available in this computer? a) Which is not what the original poster requested. On the other hand, the command line needs to be adapted anyway, depending on hwaccel. Perhaps one could use ffmpeg to query by doing trial and error (e.g. encoding to /dev/null) - unfortunately, ffmpeg won't say what the actual issue was, unless you want to parse log messages. Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Listing the hardware accelerators
Am 26.09.2019 um 23:06 schrieb Carl Eugen Hoyos: Am Do., 26. Sept. 2019 um 21:13 Uhr schrieb Verachten Bruno : I have different environments (X86, ARM, Jetson Nano) on which I'd like to use hardware encoders and decoders if available. I guess that I won't be able to use them if they have not been built in the ffmpeg dependencies if I install a "generic" version. Will the configure command autodetect what it should build, or do I have to know my hardware before launching configure with specific options? I have read https://trac.ffmpeg.org/wiki/HWAccelIntro but it's not clear to me yet. Is there any way to have ffmpeg list what it has "found" on my system? Do I have to launch a series of commands with the different accelerators that exist, and see the output? Are you searching for this command? $ ffmpeg -hwaccels From the documentation: "-hwaccels List all hardware acceleration methods supported in this build of ffmpeg." Does that mean a) List all hardware acceleration methods supported in this build of ffmpeg, regardless if the hardware is really built into this computer, or does it mean b) List all hardware acceleration methods supported in this build of ffmpeg and this hardware is really available in this computer? Michael ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Listing the hardware accelerators
Am Do., 26. Sept. 2019 um 21:13 Uhr schrieb Verachten Bruno : > I have different environments (X86, ARM, Jetson Nano) on which I'd like to > use hardware encoders and decoders if available. > I guess that I won't be able to use them if they have not been built in the > ffmpeg dependencies if I install a "generic" version. > Will the configure command autodetect what it should build, or do I have to > know my hardware before launching configure with specific options? > I have read https://trac.ffmpeg.org/wiki/HWAccelIntro but it's not clear to > me yet. > Is there any way to have ffmpeg list what it has "found" on my system? > Do I have to launch a series of commands with the different accelerators > that exist, and see the output? Are you searching for this command? $ ffmpeg -hwaccels > I suppose we have to specify on the command line the hardware acceleration > chosen for the ffmpeg command, it won't autodetect and choose one that is > available, am I right? $ ./configure --help gives some information, vdpau, vaapi, *toolbox and dxva2 are (for example) autodetected. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Listing the hardware accelerators
Hi List, I have different environments (X86, ARM, Jetson Nano) on which I'd like to use hardware encoders and decoders if available. I guess that I won't be able to use them if they have not been built in the ffmpeg dependencies if I install a "generic" version. Will the configure command autodetect what it should build, or do I have to know my hardware before launching configure with specific options? I have read https://trac.ffmpeg.org/wiki/HWAccelIntro but it's not clear to me yet. Is there any way to have ffmpeg list what it has "found" on my system? Do I have to launch a series of commands with the different accelerators that exist, and see the output? I suppose we have to specify on the command line the hardware acceleration chosen for the ffmpeg command, it won't autodetect and choose one that is available, am I right? Thanks a bunch, Bruno -- Bruno Verachten ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".