Repository: opencv
Issue: still  get "FFMPEG: tag 0x00000021/'!???' is not found" error after built from source in pyhon3.7 Ubuntu16.04.
Labels: invalid,question (invalid tracker)

##### System information (version)
<!-- Example
- OpenCV => 4.2
- Operating System / Platform => Windows 64 Bit
- Compiler => Visual Studio 2017
-->

- OpenCV => 4.4.0-pre
- Operating System / Platform => ubuntu 16.04:
- Compiler => gcc?(not sure)

##### Detailed description

Guys.  I still  get "FFMPEG: tag 0x00000021/'!???' is not found" error after built from source in pyhon3.7 Ubuntu16.04.

	$ python3.7
	Python 3.7.8 (default, Jun 29 2020, 05:46:05)
	[GCC 5.4.0 20160609] on linux
	Type "help", "copyright", "credits" or "license" for more information.
	>>> import cv2
	>>> cv2.__version__
	'4.4.0-pre'
	>>> cv2.VideoWriter("test.mp4",0x21,10,(10,10))
	OpenCV: FFMPEG: tag 0x00000021/'!???' is not found (format 'mp4 / MP4 (MPEG-4 Part 14)')'
	<VideoWriter 0x7f6c63947a70>



this is my cmake script:

	cmake -D CMAKE_BUILD_TYPE=RELEASE  \
	  -D WITH_FFMPEG=ON \	
	  -D CMAKE_INSTALL_PREFIX=/usr/local \
	  -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
	  -D OPENCV_SKIP_PYTHON_LOADER=ON \
	  -D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
	  -D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
	  -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.7m \
	  -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.7m.so \
	  -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.7/dist-packages/numpy/core/include/ \
	  ..

and I have verified the ffmpeg on my machine is workable with h264(x264):

	$ffmpeg -i input.mp4 -vcodec libx264 -f mp4 x264-output.mp4
	ffmpeg version 4.3-2~16.04.york1 Copyright (c) 2000-2020 the FFmpeg developers
	  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
	#....
	[aac @ 0x5601ecc5d640] Qavg: 62966.328



	$ffmpeg -codecs | grep x264
	ffmpeg version 4.3-2~16.04.york1 Copyright (c) 2000-2020 the FFmpeg developers
	  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
	  configuration: --prefix=/usr --extra-version='2~16.04.york1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
	  libavutil      56. 51.100 / 56. 51.100
	  libavcodec     58. 91.100 / 58. 91.100
	  libavformat    58. 45.100 / 58. 45.100
	  libavdevice    58. 10.100 / 58. 10.100
	  libavfilter     7. 85.100 /  7. 85.100
	  libavresample   4.  0.  0 /  4.  0.  0
	  libswscale      5.  7.100 /  5.  7.100
	  libswresample   3.  7.100 /  3.  7.100
	  libpostproc    55.  7.100 / 55.  7.100
	 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m ) (encoders: libx264 libx264rgb h264_omx h264_v4l2m2m h264_vaapi )



At first build , my ffmpeg has not installed with x264, so I installed x264 and rebuild opencv, maybe somehow it will cause the problem?

Maybe it's because somehow my opencv failed to link my ffmpeg , but I dont know how to check it and how  to fix it.

Any idea I will appreciate


This is my cv2.getBuildInformation() output:

	>>>  print(cv2.getBuildInformation())
	
	General configuration for OpenCV 4.4.0-pre =====================================
	  Version control:               4.3.0-533-g992c908
	
	  Extra modules:
	    Location (extra):            /home/wangxinping/Documents/workspace/opencv/opencv_contrib/modules
	    Version control (extra):     4.3.0-78-g4683455
	
	  Platform:
	    Timestamp:                   2020-07-06T11:13:58Z
	    Host:                        Linux 4.15.0-64-generic x86_64
	    CMake:                       3.5.1
	    CMake generator:             Unix Makefiles
	    CMake build tool:            /usr/bin/make
	    Configuration:               RELEASE
	
	  CPU/HW features:
	    Baseline:                    SSE SSE2 SSE3
	      requested:                 SSE3
	    Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
	      requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
	      SSE4_1 (17 files):         + SSSE3 SSE4_1
	      SSE4_2 (2 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
	      FP16 (1 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
	      AVX (5 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
	      AVX2 (31 files):           + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
	      AVX512_SKX (7 files):      + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX
	
	  C/C++:
	    Built as dynamic libs?:      YES
	    C++ standard:                11
	    C++ Compiler:                /usr/bin/c++  (ver 5.4.0)
	    C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
	    C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
	    C Compiler:                  /usr/bin/cc
	    C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
	    C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
	    Linker flags (Release):      -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a   -Wl,--gc-sections -Wl,--as-needed
	    Linker flags (Debug):        -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a   -Wl,--gc-sections -Wl,--as-needed
	    ccache:                      NO
	    Precompiled headers:         NO
	    Extra dependencies:          dl m pthread rt
	    3rdparty dependencies:
	
	  OpenCV modules:
	    To be built:                 aruco bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor ml objdetect optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
	    Disabled:                    world
	    Disabled by dependency:      -
	    Unavailable:                 alphamat cnn_3dobj cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv hdf java js julia matlab ovis python2 sfm viz
	    Applications:                tests perf_tests apps
	    Documentation:               NO
	    Non-free algorithms:         NO
	
	  GUI:
	    GTK+:                        YES (ver 2.24.30)
	      GThread :                  YES (ver 2.48.2)
	      GtkGlExt:                  NO
	    VTK support:                 NO
	
	  Media I/O:
	    ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8)
	    JPEG:                        /usr/lib/x86_64-linux-gnu/libjpeg.so (ver 80)
	    WEBP:                        build (ver encoder: 0x020f)
	    PNG:                         /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.54)
	    TIFF:                        /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 / 4.0.6)
	    JPEG 2000:                   /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
	    OpenEXR:                     /usr/lib/x86_64-linux-gnu/libImath.so /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-linux-gnu/libIex.so /usr/lib/x86_64-linux-gnu/libHalf.so /usr/lib/x86_64-linux-gnu/libIlmThread.so (ver 2_2)
	    HDR:                         YES
	    SUNRASTER:                   YES
	    PXM:                         YES
	    PFM:                         YES
	
	  Video I/O:
	    DC1394:                      YES (2.2.4)
	    FFMPEG:                      YES
	      avcodec:                   YES (58.91.100)
	      avformat:                  YES (58.45.100)
	      avutil:                    YES (56.51.100)
	      swscale:                   YES (5.7.100)
	      avresample:                NO
	    GStreamer:                   NO
	    v4l/v4l2:                    YES (linux/videodev2.h)
	
	  Parallel framework:            pthreads
	
	  Trace:                         YES (with Intel ITT)
	
	  Other third-party libraries:
	    Intel IPP:                   2020.0.0 Gold [2020.0.0]
	           at:                   /home/wangxinping/Documents/workspace/opencv/opencv/build/3rdparty/ippicv/ippicv_lnx/icv
	    Intel IPP IW:                sources (2020.0.0)
	              at:                /home/wangxinping/Documents/workspace/opencv/opencv/build/3rdparty/ippicv/ippicv_lnx/iw
	    Lapack:                      NO
	    Eigen:                       NO
	    Custom HAL:                  NO
	    Protobuf:                    build (3.5.1)
	
	  OpenCL:                        YES (no extra features)
	    Include path:                /home/wangxinping/Documents/workspace/opencv/opencv/3rdparty/include/opencl/1.2
	    Link libraries:              Dynamic load
	
	  Python 3:
	    Interpreter:                 /usr/bin/python3.7 (ver 3.7.8)
	    Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.7m.so (ver 3.7.8)
	    numpy:                       /usr/local/lib/python3.7/dist-packages/numpy/core/include (ver 1.18.5)
	    install path:                lib/python3.7/dist-packages
	
	  Python (for build):            /usr/bin/python2.7
	
	  Java:
	    ant:                         NO
	    JNI:                         NO
	    Java wrappers:               NO
	    Java tests:                  NO
	
	  Install to:                    /usr/local
	----------------------------------------------------------------




##### Steps to reproduce
I cant reproduce it cause I have only one machine

##### Issue submission checklist

 - [x] I report the issue, it's not a question
   <!--
   OpenCV team works with answers.opencv.org, Stack Overflow and other communities
   to discuss problems. Tickets with question without real issue statement will be
   closed.
   -->
 - [x] I checked the problem with documentation, FAQ, open issues,
       answers.opencv.org, Stack Overflow, etc and have not found solution
   <!--
   Places to check:
   * OpenCV documentation: https://docs.opencv.org
   * FAQ page: https://github.com/opencv/opencv/wiki/FAQ
   * OpenCV forum: https://answers.opencv.org
   * OpenCV issue tracker: https://github.com/opencv/opencv/issues?q=is%3Aissue
   * Stack Overflow branch: https://stackoverflow.com/questions/tagged/opencv
   -->
 - [x] I updated to latest OpenCV version and the issue is still there
   <!--
   master branch for OpenCV 4.x and 3.4 branch for OpenCV 3.x releases.
   OpenCV team supports only latest release for each branch.
   The ticket is closed, if the problem is not reproduced with modern version.
   -->
 - [x] There is reproducer code and related data files: videos, images, onnx, etc
   <!--
   The best reproducer -- test case for OpenCV that we can add to the library.
   Recommendations for media files and binary files:
   * Try to reproduce the issue with images and videos in opencv_extra repository
     to reduce attachment size
   * Use PNG for images, if you report some CV related bug, but not image reader
     issue
   * Attach the image as archite to the ticket, if you report some reader issue.
     Image hosting services compress images and it breaks the repro code.
   * Provide ONNX file for some public model or ONNX file with with random weights,
     if you report ONNX parsing or handling issue. Architecture details diagram
     from netron tool can be very useful too. See https://lutzroeder.github.io/netron/
   -->