Make video_reader backend be available in the binaries
See original GitHub issueWe currently provide two backends for video-reading: pyav
(which is based on PyAV python library) and video_reader
(which uses a custom C++ implementation based on ffmpeg).
Due to complexities in the packaging of ffmpeg in the build process at the time of the video_reader
release, for now if the user wants the faster video_reader
backend they need to compile torchvision from source.
It would be preferable if we could instead make it more seamless to the user, by providing the necessary bits so that they can use the video_reader
backend just by installing torchvision via either pip or conda.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:5 (5 by maintainers)
Top Results From Across the Web
hello I have a problem with videoreader on matlab R2016a ...
hello, I tried to use videoreader on matlab R2016a on ubuntu LTS 16.04. ... mc3man/gstffmpeg-keep/ubuntu/dists/zesty/main/binary-i386/Packages 404 Not Found.
Read more >fileio — mmcv 1.7.0 documentation - Read the Docs
A general file client to access files in different backends. The client loads a file or text in a specified backend from its...
Read more >Torchvision main documentation
Specifies the package used to decode videos. Parameters: backend (string) – Name of the video backend. one of {'pyav', 'video_reader'}.
Read more >cv.VideoCapture - mexopencv
OpenCV automatically selects and uses first available backend ( API='Any' ) ... Backends are available only if they have been built with your...
Read more >How to Extract Frames From a Video in MATLAB?
Make an empty directory named frames before the execution. ... Media error: Format(s) not supported or source(s) not found.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
By judging by the FFmpeg documentation, they should be ABI compatible, since the major version is the same
Just for the record, this one also segfaults
Ok, I think I understand.
So the potential versions of ffmpeg one is likely to have installed through conda are:
anaconda (4.2.2, SONAME=libavcodec.so.58, GPL)
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0) configuration: --prefix=/home/ubuntu/anaconda3/envs/ffmpegtest --cc=/tmp/build/80754af9/ffmpeg_1587154242452/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --enable-avresample --enable-gmp --enable-hardcoded-tables --enable-libfreetype --enable-libvpx --enable-pthreads --enable-libopus --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-zlib --enable-libmp3lame --disable-nonfree --enable-gpl --enable-gnutls --disable-openssl --enable-libopenh264 --enable-libx264
conda-forge (4.3.1, SONAME=libavcodec.so.58, GPL)
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7.5.0 (crosstool-NG 1.24.0.131_87df0e6_dirty) configuration: --prefix=/home/ubuntu/anaconda3/envs/ffmpegforge --cc=/home/conda/feedstock_root/build_artifacts/ffmpeg_1596712246804/_build_env/bin/x86_64-conda-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-zlib --enable-libmp3lame
pytorch (4.3, SONAME=libavcodec.so.58, LGPL [segfaults and cannot encode x264?])
ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0) configuration: --prefix=/home/ubuntu/anaconda3/envs/ffmpegtorch --cc=/opt/conda/conda-bld/ffmpeg_1597178665428/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-pic --enable-pthreads --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libmp3lame
pytorch (4.2, SONAME=libavcodec.so.58, LGPL [cannot encode x264?])
ffmpeg version 4.2 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0) configuration: --prefix=/home/ubuntu/anaconda3/envs/ffmpegtorch42 --cc=/opt/conda/conda-bld/ffmpeg_1600723013725/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-gnutls --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-pic --enable-pthreads --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libmp3lame
Is that right? Which should at least be ABI compatible (in the eyes of the dynamic linker due to the same SONAME, and hopefully also in practice)