Umfeld:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.10
Release: 22.10
Codename: kinetic
Laden Sie den ffmpeg-Quellcode 6.0.1, 4.3.6, 5.1.4 herunter und installieren Sie sie zum Experimentieren
./configure --disable-x86asm --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-decoder=h264 --enable-sdl2 --enable-libx265 --enable-gpl --enable-libx264 --prefix=/usr/local
make -j20
sudo make install
Die folgenden drei experimentellen Ergebnisse werden alle auf dem Bildschirm angezeigt, und das Phänomen ist wie folgt:
Experiment eins
ffmpeg -i juren-30s.mp4 -pix_fmt yuv422p -c:v h264 out.mp4 -y
Die Videoquelle ist yuv420p
Wiedergabebefehl: ffplay out.mp4
Ergebnis: ffmpeg4.3.6 wird einwandfrei abgespielt, während ffmpeg6.0.1 mit einem Bild abgespielt wird.
Experiment 2
ffmpeg -i juren-30s.mp4 -pix_fmt yuv422p yuv422p.yuv
Spielbefehl:
ffplay -video_size 1920x1080 -pixel_format yuv422p yuv422p.yuv
Ergebnis: ffmpeg4.3.6 wird einwandfrei abgespielt, während ffmpeg6.0.1 mit einem Bild abgespielt wird.
Experiment 3
ffmpeg -i juren-30s.mp4 -s 1280x720 out.mp4
Play-Befehl: ffplay out.mp4
Ergebnis: ffmpeg5.1 zeichnet auch den Bildschirm ffmpeg4.3.6OK. Aber apt-get install ffmpeg OK wird über die Befehlszeile abgespielt, die Version ist 5.1.1OK
Lösung:
sudo apt-get install nasm
Dann entfernen Sie –disable-x86asm während ./configure
--enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-decoder=h264 --enable-sdl2 --enable-libx265 --enable-gpl --enable-libx264 --prefix=/usr/local
Ergebnis:
Vielen Dank an Bruder Quink für seine Hilfe. Nasm ist Assembly-Beschleunigung. Es scheint, dass es in höheren Versionen von ffmepg die Konvertierung des Pixelformats beeinflusst.