question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Make video_reader backend be available in the binaries

See original GitHub issue

We 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:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
andfoycommented, Sep 30, 2020

By judging by the FFmpeg documentation, they should be ABI compatible, since the major version is the same

conda-forge (4.3.1, SONAME=libavcodec.so.58, GPL)]

Just for the record, this one also segfaults

0reactions
jamt9000commented, Sep 30, 2020

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)

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found