Can't Install Python Ffvideo Package

I am trying to install FFVideo package from pypi. I've installed all dependencies listed here: Now I am getting following error.

$ pip install -U FFVideo
Collecting FFVideo
  Using cached 
Building wheels for collected packages: FFVideo
  Running setup.py bdist_wheel for FFVideo ... error
  Complete output from command /home/kuba/.local/share/virtualenvs/myproject-Wt0aku_V/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-wkJ7XB/FFVideo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-OmIzSN --python-tag cp27:
  running bdist_wheel
  running build
  running build_ext
  building 'ffvideo' extension
  creating build
  creating build/temp.linux-x86_64-2.7
  creating build/temp.linux-x86_64-2.7/ffvideo
  gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/ffmpeg -I/home/kuba/.pyenv/versions/2.7.14/include/python2.7 -c ffvideo/ffvideo.c -o build/temp.linux-x86_64-2.7/ffvideo/ffvideo.o
  ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream___cinit__’:
  ffvideo/ffvideo.c:1581:25: warning: implicit declaration of function ‘avcodec_alloc_frame’; did you mean ‘avcodec_send_frame’? [-Wimplicit-function-declaration]
     __pyx_v_self->frame = avcodec_alloc_frame();
                           ^~~~~~~~~~~~~~~~~~~
                           avcodec_send_frame
  ffvideo/ffvideo.c:1581:23: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     __pyx_v_self->frame = avcodec_alloc_frame();
                         ^
  ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_2__init__’:
  ffvideo/ffvideo.c:1886:5: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
       __pyx_t_3 = ((__pyx_v_self->format_ctx->streams[__pyx_v_i])->codec->codec_type == AVMEDIA_TYPE_VIDEO);
       ^~~~~~~~~
  In file included from ffvideo/ffvideo.c:259:0:
  /usr/include/x86_64-linux-gnu/libavformat/avformat.h:893:21: note: declared here
       AVCodecContext *codec;
                       ^~~~~
  ffvideo/ffvideo.c:1998:3: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
     __pyx_t_10 = __pyx_v_self->stream->codec;
     ^~~~~~~~~~
  In file included from ffvideo/ffvideo.c:259:0:
  /usr/include/x86_64-linux-gnu/libavformat/avformat.h:893:21: note: declared here
       AVCodecContext *codec;
                       ^~~~~
  ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_4__dealloc__’:
  ffvideo/ffvideo.c:2344:5: warning: ‘av_free_packet’ is deprecated [-Wdeprecated-declarations]
       av_free_packet((&__pyx_v_self->packet));
       ^~~~~~~~~~~~~~
  In file included from ffvideo/ffvideo.c:258:0:
  /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4650:6: note: declared here
   void av_free_packet(AVPacket *pkt);
        ^~~~~~~~~~~~~~
  ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_8__decode_next_frame’:
  ffvideo/ffvideo.c:2636:13: warning: ‘avcodec_decode_video2’ is deprecated [-Wdeprecated-declarations]
               __pyx_v_ret = avcodec_decode_video2(__pyx_v_self->codec_ctx, __pyx_v_self->frame, (&__pyx_v_frame_finished), (&__pyx_v_self->packet));
               ^~~~~~~~~~~
  In file included from ffvideo/ffvideo.c:258:0:
  /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4993:5: note: declared here
   int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
       ^~~~~~~~~~~~~~~~~~~~~
  ffvideo/ffvideo.c:2668:9: warning: ‘av_free_packet’ is deprecated [-Wdeprecated-declarations]
           av_free_packet((&__pyx_v_self->packet));
           ^~~~~~~~~~~~~~
  In file included from ffvideo/ffvideo.c:258:0:
  /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4650:6: note: declared here
   void av_free_packet(AVPacket *pkt);
        ^~~~~~~~~~~~~~
  ffvideo/ffvideo.c:2742:5: warning: ‘av_free_packet’ is deprecated [-Wdeprecated-declarations]
       av_free_packet((&__pyx_v_self->packet));
       ^~~~~~~~~~~~~~
  In file included from ffvideo/ffvideo.c:258:0:
  /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4650:6: note: declared here
   void av_free_packet(AVPacket *pkt);
        ^~~~~~~~~~~~~~
  ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_12current’:
  ffvideo/ffvideo.c:2989:24: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     __pyx_v_scaled_frame = avcodec_alloc_frame();
                          ^
  ffvideo/ffvideo.c:3024:3: warning: ‘avpicture_get_size’ is deprecated [-Wdeprecated-declarations]
     __pyx_v_buflen = avpicture_get_size(__pyx_v_self->ffmpeg_frame_mode, __pyx_v_self->frame_width, __pyx_v_self->frame_height);
     ^~~~~~~~~~~~~~
  In file included from ffvideo/ffvideo.c:258:0:
  /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:5653:5: note: declared here
   int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
       ^~~~~~~~~~~~~~~~~~
  ffvideo/ffvideo.c:3045:51: warning: passing argument 2 of ‘PyObject_AsCharBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
     __pyx_t_3 = PyObject_AsCharBuffer(__pyx_v_data, (&__pyx_v_data_ptr), (&__pyx_v_buflen)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                                     ^
  In file included from /home/kuba/.pyenv/versions/2.7.14/include/python2.7/Python.h:133:0,
                   from ffvideo/ffvideo.c:4:
  /home/kuba/.pyenv/versions/2.7.14/include/python2.7/abstract.h:476:22: note: expected ‘const char **’ but argument is of type ‘char **’
        PyAPI_FUNC(int) PyObject_AsCharBuffer(PyObject *obj,
                        ^~~~~~~~~~~~~~~~~~~~~
  ffvideo/ffvideo.c:3068:9: warning: ‘avpicture_fill’ is deprecated [-Wdeprecated-declarations]
           avpicture_fill(((struct AVPicture *)__pyx_v_scaled_frame), ((__pyx_t_6ffmpeg_uint8_t *)__pyx_v_data_ptr), __pyx_v_self->ffmpeg_frame_mode, __pyx_v_self->frame_width, __pyx_v_self->frame_height);
           ^~~~~~~~~~~~~~
  In file included from ffvideo/ffvideo.c:258:0:
  /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:5638:5: note: declared here
   int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
       ^~~~~~~~~~~~~~
  ffvideo/ffvideo.c:3086:44: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type [-Wincompatible-pointer-types]
           sws_scale(__pyx_v_img_convert_ctx, __pyx_v_self->frame->data, __pyx_v_self->frame->linesize, 0, __pyx_v_self->height, __pyx_v_scaled_frame->data, __pyx_v_scaled_frame->linesize);
                                              ^~~~~~~~~~~~
  In file included from ffvideo/ffvideo.c:261:0:
  /usr/include/x86_64-linux-gnu/libswscale/swscale.h:217:5: note: expected ‘const uint8_t * const* {aka const unsigned char * const*}’ but argument is of type ‘uint8_t ** {aka unsigned char **}’
   int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
       ^~~~~~~~~
  ffvideo/ffvideo.c: In function ‘initffvideo’:
  ffvideo/ffvideo.c:6432:30: error: ‘PIX_FMT_RGB24’ undeclared (first use in this function); did you mean ‘AV_PIX_FMT_RGB24’?
     __pyx_t_2 = PyInt_FromLong(PIX_FMT_RGB24); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                ^~~~~~~~~~~~~
                                AV_PIX_FMT_RGB24
  ffvideo/ffvideo.c:6432:30: note: each undeclared identifier is reported only once for each function it appears in
  ffvideo/ffvideo.c:6444:30: error: ‘PIX_FMT_GRAY8’ undeclared (first use in this function); did you mean ‘AV_PIX_FMT_GRAY8’?
     __pyx_t_2 = PyInt_FromLong(PIX_FMT_GRAY8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                ^~~~~~~~~~~~~
                                AV_PIX_FMT_GRAY8
  ffvideo/ffvideo.c:6456:30: error: ‘PIX_FMT_YUV420P’ undeclared (first use in this function); did you mean ‘AV_PIX_FMT_YUV420P’?
     __pyx_t_2 = PyInt_FromLong(PIX_FMT_YUV420P); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                ^~~~~~~~~~~~~~~
                                AV_PIX_FMT_YUV420P
  error: command 'gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for FFVideo
  Running setup.py clean for FFVideo
Failed to build FFVideo
Installing collected packages: FFVideo
  Running setup.py install for FFVideo ... error
    Complete output from command /home/kuba/.local/share/virtualenvs/myproject-Wt0aku_V/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-wkJ7XB/FFVideo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-6GrcYv/install-record.txt --single-version-externally-managed --compile --install-headers /home/kuba/.local/share/virtualenvs/myproject-Wt0aku_V/include/site/python2.7/FFVideo:
    running install
    running build
    running build_ext
    building 'ffvideo' extension
    creating build
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/ffvideo
    gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/ffmpeg -I/home/kuba/.pyenv/versions/2.7.14/include/python2.7 -c ffvideo/ffvideo.c -o build/temp.linux-x86_64-2.7/ffvideo/ffvideo.o
    ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream___cinit__’:
    ffvideo/ffvideo.c:1581:25: warning: implicit declaration of function ‘avcodec_alloc_frame’; did you mean ‘avcodec_send_frame’? [-Wimplicit-function-declaration]
       __pyx_v_self->frame = avcodec_alloc_frame();
                             ^~~~~~~~~~~~~~~~~~~
                             avcodec_send_frame
    ffvideo/ffvideo.c:1581:23: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
       __pyx_v_self->frame = avcodec_alloc_frame();
                           ^
    ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_2__init__’:
    ffvideo/ffvideo.c:1886:5: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
         __pyx_t_3 = ((__pyx_v_self->format_ctx->streams[__pyx_v_i])->codec->codec_type == AVMEDIA_TYPE_VIDEO);
         ^~~~~~~~~
    In file included from ffvideo/ffvideo.c:259:0:
    /usr/include/x86_64-linux-gnu/libavformat/avformat.h:893:21: note: declared here
         AVCodecContext *codec;
                         ^~~~~
    ffvideo/ffvideo.c:1998:3: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
       __pyx_t_10 = __pyx_v_self->stream->codec;
       ^~~~~~~~~~
    In file included from ffvideo/ffvideo.c:259:0:
    /usr/include/x86_64-linux-gnu/libavformat/avformat.h:893:21: note: declared here
         AVCodecContext *codec;
                         ^~~~~
    ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_4__dealloc__’:
    ffvideo/ffvideo.c:2344:5: warning: ‘av_free_packet’ is deprecated [-Wdeprecated-declarations]
         av_free_packet((&__pyx_v_self->packet));
         ^~~~~~~~~~~~~~
    In file included from ffvideo/ffvideo.c:258:0:
    /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4650:6: note: declared here
     void av_free_packet(AVPacket *pkt);
          ^~~~~~~~~~~~~~
    ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_8__decode_next_frame’:
    ffvideo/ffvideo.c:2636:13: warning: ‘avcodec_decode_video2’ is deprecated [-Wdeprecated-declarations]
                 __pyx_v_ret = avcodec_decode_video2(__pyx_v_self->codec_ctx, __pyx_v_self->frame, (&__pyx_v_frame_finished), (&__pyx_v_self->packet));
                 ^~~~~~~~~~~
    In file included from ffvideo/ffvideo.c:258:0:
    /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4993:5: note: declared here
     int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
         ^~~~~~~~~~~~~~~~~~~~~
    ffvideo/ffvideo.c:2668:9: warning: ‘av_free_packet’ is deprecated [-Wdeprecated-declarations]
             av_free_packet((&__pyx_v_self->packet));
             ^~~~~~~~~~~~~~
    In file included from ffvideo/ffvideo.c:258:0:
    /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4650:6: note: declared here
     void av_free_packet(AVPacket *pkt);
          ^~~~~~~~~~~~~~
    ffvideo/ffvideo.c:2742:5: warning: ‘av_free_packet’ is deprecated [-Wdeprecated-declarations]
         av_free_packet((&__pyx_v_self->packet));
         ^~~~~~~~~~~~~~
    In file included from ffvideo/ffvideo.c:258:0:
    /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:4650:6: note: declared here
     void av_free_packet(AVPacket *pkt);
          ^~~~~~~~~~~~~~
    ffvideo/ffvideo.c: In function ‘__pyx_pf_7ffvideo_11VideoStream_12current’:
    ffvideo/ffvideo.c:2989:24: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
       __pyx_v_scaled_frame = avcodec_alloc_frame();
                            ^
    ffvideo/ffvideo.c:3024:3: warning: ‘avpicture_get_size’ is deprecated [-Wdeprecated-declarations]
       __pyx_v_buflen = avpicture_get_size(__pyx_v_self->ffmpeg_frame_mode, __pyx_v_self->frame_width, __pyx_v_self->frame_height);
       ^~~~~~~~~~~~~~
    In file included from ffvideo/ffvideo.c:258:0:
    /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:5653:5: note: declared here
     int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
         ^~~~~~~~~~~~~~~~~~
    ffvideo/ffvideo.c:3045:51: warning: passing argument 2 of ‘PyObject_AsCharBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
       __pyx_t_3 = PyObject_AsCharBuffer(__pyx_v_data, (&__pyx_v_data_ptr), (&__pyx_v_buflen)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                                       ^
    In file included from /home/kuba/.pyenv/versions/2.7.14/include/python2.7/Python.h:133:0,
                     from ffvideo/ffvideo.c:4:
    /home/kuba/.pyenv/versions/2.7.14/include/python2.7/abstract.h:476:22: note: expected ‘const char **’ but argument is of type ‘char **’
          PyAPI_FUNC(int) PyObject_AsCharBuffer(PyObject *obj,
                          ^~~~~~~~~~~~~~~~~~~~~
    ffvideo/ffvideo.c:3068:9: warning: ‘avpicture_fill’ is deprecated [-Wdeprecated-declarations]
             avpicture_fill(((struct AVPicture *)__pyx_v_scaled_frame), ((__pyx_t_6ffmpeg_uint8_t *)__pyx_v_data_ptr), __pyx_v_self->ffmpeg_frame_mode, __pyx_v_self->frame_width, __pyx_v_self->frame_height);
             ^~~~~~~~~~~~~~
    In file included from ffvideo/ffvideo.c:258:0:
    /usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:5638:5: note: declared here
     int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
         ^~~~~~~~~~~~~~
    ffvideo/ffvideo.c:3086:44: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type [-Wincompatible-pointer-types]
             sws_scale(__pyx_v_img_convert_ctx, __pyx_v_self->frame->data, __pyx_v_self->frame->linesize, 0, __pyx_v_self->height, __pyx_v_scaled_frame->data, __pyx_v_scaled_frame->linesize);
                                                ^~~~~~~~~~~~
    In file included from ffvideo/ffvideo.c:261:0:
    /usr/include/x86_64-linux-gnu/libswscale/swscale.h:217:5: note: expected ‘const uint8_t * const* {aka const unsigned char * const*}’ but argument is of type ‘uint8_t ** {aka unsigned char **}’
     int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
         ^~~~~~~~~
    ffvideo/ffvideo.c: In function ‘initffvideo’:
    ffvideo/ffvideo.c:6432:30: error: ‘PIX_FMT_RGB24’ undeclared (first use in this function); did you mean ‘AV_PIX_FMT_RGB24’?
       __pyx_t_2 = PyInt_FromLong(PIX_FMT_RGB24); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                  ^~~~~~~~~~~~~
                                  AV_PIX_FMT_RGB24
    ffvideo/ffvideo.c:6432:30: note: each undeclared identifier is reported only once for each function it appears in
    ffvideo/ffvideo.c:6444:30: error: ‘PIX_FMT_GRAY8’ undeclared (first use in this function); did you mean ‘AV_PIX_FMT_GRAY8’?
       __pyx_t_2 = PyInt_FromLong(PIX_FMT_GRAY8); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                  ^~~~~~~~~~~~~
                                  AV_PIX_FMT_GRAY8
    ffvideo/ffvideo.c:6456:30: error: ‘PIX_FMT_YUV420P’ undeclared (first use in this function); did you mean ‘AV_PIX_FMT_YUV420P’?
       __pyx_t_2 = PyInt_FromLong(PIX_FMT_YUV420P); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                  ^~~~~~~~~~~~~~~
                                  AV_PIX_FMT_YUV420P
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/home/kuba/.local/share/virtualenvs/myproject-Wt0aku_V/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-wkJ7XB/FFVideo/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-6GrcYv/install-record.txt --single-version-externally-managed --compile --install-headers /home/kuba/.local/share/virtualenvs/myproject-Wt0aku_V/include/site/python2.7/FFVideo" failed with error code 1 in /tmp/pip-install-wkJ7XB/FFVideo/

I've found this:

But i can not install older version of ffmpeg (currently 3.4.2-2). I am on Ubuntu 18.04

3 Answers

You could try something like this, which seems to install and import without any errors.

#download FFVideo without installing
pip download FFVideo

#unpack tar file
tar -xvf FFVideo-0.0.13.tar.gz

#replace deprecated references
sed -i -e 's/avcodec_alloc_frame/av_frame_alloc/g' FFVideo-0.0.13/ffvideo/ffvideo.c

sed -i -e 's/PIX_FMT_RGB24/AV_PIX_FMT_RGB24/g' FFVideo-0.0.13/ffvideo/ffvideo.c

sed -i -e 's/PIX_FMT_GRAY8/AV_PIX_FMT_GRAY8/g' FFVideo-0.0.13/ffvideo/ffvideo.c

sed -i -e 's/PIX_FMT_YUV420P/AV_PIX_FMT_YUV420P/g' FFVideo-0.0.13/ffvideo/ffvideo.c

#pack it
tar -zcvf FFVideo-0.0.13.tar.gz FFVideo-0.0.13

#install
pip install --upgrade FFVideo-0.0.13.tar.gz
1

First download ffvideo using pip

pip download ffvideo
tar -xf FFVideo-0.0.13.tar.gz

cd FFVideo-0.0.13
python setup.py install

The previous accepted answer needs an additional replacement for AV_CODEC_FLAG_GRAY to work now.

# download FFVideo without installing
pip download FFVideo

# unpack tar file
tar -xvf FFVideo-0.0.13.tar.gz

# replace deprecated references
sed -i -e 's/avcodec_alloc_frame/av_frame_alloc/g' FFVideo-0.0.13/ffvideo/ffvideo.c
sed -i -e 's/PIX_FMT_RGB24/AV_PIX_FMT_RGB24/g' FFVideo-0.0.13/ffvideo/ffvideo.c
sed -i -e 's/PIX_FMT_GRAY8/AV_PIX_FMT_GRAY8/g' FFVideo-0.0.13/ffvideo/ffvideo.c
sed -i -e 's/PIX_FMT_YUV420P/AV_PIX_FMT_YUV420P/g' FFVideo-0.0.13/ffvideo/ffvideo.c

# additional reference missing from previous answer
sed -i -e 's/CODEC_FLAG_GRAY/AV_CODEC_FLAG_GRAY/g' FFVideo-0.0.13/ffvideo/ffvideo.c

# pack it
tar -zcvf FFVideo-0.0.13.tar.gz FFVideo-0.0.13

# install 
pip install --upgrade FFVideo-0.0.13.tar.gz

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Chloe Bennett

Chloe Bennett

Culture, Media & Entertainment Columnist

Chloe Bennett explores the intersection of pop culture, streaming entertainment, digital trends, and contemporary lifestyle. Her weekly commentary reaches thousands of culture enthusiasts.

Share this article
Twitter Facebook Pinterest