ffmpeg5 und höher -s und Problem mit der Bildschirmdarstellung bei der Konvertierung des Pixelformats

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:

Fügen Sie hier eine Bildbeschreibung ein

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:
Fügen Sie hier eine Bildbeschreibung einffmpeg ist ein Muss für Audio und Video, aber auch wenn es schon seit mehreren Jahren in der Branche ist, scheint es immer noch endlose Geheimnisse zu haben. Wenn Sie interessiert sind, fügen Sie den WeChat des Autors hinzu: YQW1163720468 und nehmen Sie an der Gruppendiskussion von ffmpeg WeChat teil . Aber denken Sie daran: ffmpeg-Enthusiasten

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.

Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/weixin_43466192/article/details/134409480
Empfohlen
Rangfolge