The CODEC is, in fact installed as shown by rpm
- Code: Select all
$ rpm -qa | grep x264
lib64x264-devel-0.155-0.20181228.stable.1.mga7.tainted
libquicktime-x264-1.2.4-24.mga7.tainted
gstreamer1.0-x264-1.16.0-1.mga7.tainted
lib64x264_155-0.155-0.20181228.stable.1.mga7.tainted
x264-0.155-0.20181228.stable.1.mga7.tainted
To add to the confusion, ffmpeg is also incapable of creating mpeg4 files. I created a short test video and rendered it as Test.webm. Then I tried to convert it to mp4 using ffmpeg
- Code: Select all
$ ffmpeg -i Test.webm Test.mp4
ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8.4.0 (Mageia 8.4.0-1.mga7)
configuration: --prefix=/usr --enable-shared --enable-pic --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include --disable-stripping --enable-postproc --enable-gpl --enable-pthreads --enable-libtheora --enable-libvorbis --disable-encoder=vorbis --enable-libvpx --enable-runtime-cpudetect --enable-libaom --enable-libdc1394 --enable-librtmp --enable-libspeex --enable-libfreetype --enable-libgsm --enable-libcelt --enable-libopus --enable-libopencv --enable-libopenjpeg --enable-libtwolame --enable-libxavs --enable-frei0r --enable-libmodplug --enable-libass --enable-gnutls --enable-libcdio --enable-libpulse --enable-libv4l2 --enable-avresample --enable-opencl --enable-libmp3lame --enable-sndio --enable-libdav1d --disable-decoder=aac --disable-encoder=aac
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, matroska,webm, from 'Test.webm':
Metadata:
ENCODER : Lavf58.20.100
Duration: 00:00:17.55, start: 0.000000, bitrate: 42 kb/s
Stream #0:0: Video: vp8, yuv420p(smpte170m/unknown/smpte170m, progressive), 640x480, SAR 1:1 DAR 4:3, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
Metadata:
DURATION : 00:00:17.554000000
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 00:00:17.508000000
Automatic encoder selection failed for output stream #0:1. Default encoder for format mp4 (codec aac) is probably disabled. Please choose an encoder manually.
Error selecting an encoder for stream 0:1
It indicates that the encoder is disabled, which you can see in the output above, "--disable-decoder=aac" seems like an accurate assessment.
So I looked for an encoder in ffmpeg that I might be able to use.
- Code: Select all
$ ffmpeg -encoders | grep 264
ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8.4.0 (Mageia 8.4.0-1.mga7)
configuration: --prefix=/usr --enable-shared --enable-pic --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include --disable-stripping --enable-postproc --enable-gpl --enable-pthreads --enable-libtheora --enable-libvorbis --disable-encoder=vorbis --enable-libvpx --enable-runtime-cpudetect --enable-libaom --enable-libdc1394 --enable-librtmp --enable-libspeex --enable-libfreetype --enable-libgsm --enable-libcelt --enable-libopus --enable-libopencv --enable-libopenjpeg --enable-libtwolame --enable-libxavs --enable-frei0r --enable-libmodplug --enable-libass --enable-gnutls --enable-libcdio --enable-libpulse --enable-libv4l2 --enable-avresample --enable-opencl --enable-libmp3lame --enable-sndio --enable-libdav1d --disable-decoder=aac --disable-encoder=aac
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
V..... h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264)
V..... h264_vaapi H.264/AVC (VAAPI) (codec h264)
Ffmpeg tells me that it is aware of the codec h264 with two encoders. They both give me the same error, for example:
- Code: Select all
$ ffmpeg -i Test.webm -c:v h264_v4l2m2m Test.mp4
ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8.4.0 (Mageia 8.4.0-1.mga7)
configuration: --prefix=/usr --enable-shared --enable-pic --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include --disable-stripping --enable-postproc --enable-gpl --enable-pthreads --enable-libtheora --enable-libvorbis --disable-encoder=vorbis --enable-libvpx --enable-runtime-cpudetect --enable-libaom --enable-libdc1394 --enable-librtmp --enable-libspeex --enable-libfreetype --enable-libgsm --enable-libcelt --enable-libopus --enable-libopencv --enable-libopenjpeg --enable-libtwolame --enable-libxavs --enable-frei0r --enable-libmodplug --enable-libass --enable-gnutls --enable-libcdio --enable-libpulse --enable-libv4l2 --enable-avresample --enable-opencl --enable-libmp3lame --enable-sndio --enable-libdav1d --disable-decoder=aac --disable-encoder=aac
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, matroska,webm, from 'Test.webm':
Metadata:
ENCODER : Lavf58.20.100
Duration: 00:00:17.55, start: 0.000000, bitrate: 42 kb/s
Stream #0:0: Video: vp8, yuv420p(smpte170m/unknown/smpte170m, progressive), 640x480, SAR 1:1 DAR 4:3, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
Metadata:
DURATION : 00:00:17.554000000
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 00:00:17.508000000
Automatic encoder selection failed for output stream #0:1. Default encoder for format mp4 (codec aac) is probably disabled. Please choose an encoder manually.
Error selecting an encoder for stream 0:1
To create even more confusion, blender is able to create mp4 files with no problem, apparently using the same H.264 codec.
I don't understand how the CODECs hang together in the system.
Any help on resolving this issue would be appreciated.
Here is my system inxi info
- Code: Select all
$ inxi -b
System: Host: linuxmain Kernel: 5.6.14-desktop-2.mga7 x86_64 bits: 64 Desktop: KDE Plasma 5.15.4
Distro: Mageia 7 mga7
Machine: Type: Desktop System: ASUS product: All Series v: N/A serial: <root required>
Mobo: ASUSTeK model: Z97-A-USB31 v: Rev 1.xx serial: <root required>
UEFI [Legacy]: American Megatrends v: 2501 date: 06/24/2015
CPU: Quad Core: Intel Core i5-4590 type: MCP speed: 1027 MHz min/max: 800/3700 MHz
Graphics: Device-1: NVIDIA GM107 [GeForce GTX 750 Ti] driver: nvidia v: 430.64
Display: x11 server: Mageia X.org 1.20.8 driver: nvidia,v4l resolution: 1920x1080~60Hz, 1920x1080~60Hz
OpenGL: renderer: GeForce GTX 750 Ti/PCIe/SSE2 v: 4.6.0 NVIDIA 430.64
Network: Device-1: Intel Ethernet I218-V driver: e1000e
Drives: Local Storage: total: 1.36 TiB used: 202.29 GiB (14.5%)
Info: Processes: 230 Uptime: 18m Memory: 7.72 GiB used: 2.52 GiB (32.7%) Shell: bash inxi: 3.0.33
Thanks,
Banjo
(_)=='=~