Ihr Video hat eine recht hohe Auflösung (1920 x 1080) und eine relativ niedrige Bitrate (2 MBit / s). Komprimiertes Video wird pixelig dargestellt, insbesondere in Bezug auf eingebetteten Text, da in 2 Megabits Daten nicht so viele Details pro Sekunde angepasst werden können. Sie können nicht viel mehr herausdrücken, ohne die Bitrate zu erhöhen.
Pixalation Ausgabe in mp4
Wir verwenden den folgenden ffmpeg-Befehl für die Erstellung von mp4-Dateien. Ausgabe zeigt die Pixalation. Ich habe mehrere Parameter im Befehl geändert, aber die Pixalation wird nicht reduziert. Ich möchte die Bitrate konstant auf 2000 kbps halten.
Unter folgendem Befehl finden Sie die vollständige Ausgabe.
C:\Users\Iplay>"D:\DG\FFAStrans0.9.2 (1)\Processors\ffmpeg\x64\ffmpeg.exe" -i "D:\AFSAR_BITIYA_EP159_CREATIVE_MASTER - Copy.mxf" -c:v libx264 -s 1920x1080 -r 25 -aspect 16:9 -b:v 2000k -minrate 2000k -maxrate 2000k -bufsize 78000k -preset veryslow -vprofile high -vlevel 4.1 -crf 1 -coder 1 -pix_fmt yuv420p -movflags +faststart -g 30 -bf 2 -c:a aac -b:a 320k -write_tmcd 0 -map 0:0 -map 0:1 -af "pan=stereo|c0=c6|c1=c7" -vf "drawtext=fontfile=/Windows/Fonts/arial.ttf:fontsize=80:x=800:y=900:box=1:boxcolor=black@0.5:rate='25000/1001':fontcolor=white:timecode='09\:59\:55\:00" "D:\test.mp4"ffmpeg version N-91398-gd08d4a8c73 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.3.0 (GCC)configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 20.104 / 58. 20.104 libavformat 58. 17.101 / 58. 17.101 libavdevice 58. 4.101 / 58. 4.101 libavfilter 7. 25.100 / 7. 25.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100[mxf @ 0000000001e65e80] Stream #0: not enough frames to estimate rate; consider increasing probesize Guessed Channel Layout for Input Stream #0.1 : 7.1Input #0, mxf, from 'D:\AFSAR_BITIYA_EP159_CREATIVE_MASTER - Copy.mxf':Metadata: uid : 682d6935-8748-11e8-bc3a-6cab31f179f2 generation_uid : 682d6936-8748-11e8-9e20-6cab31f179f2 company_name : Adobe Systems Incorporated product_name : Adobe Media Encoder product_version : 12.0.0 application_platform: Mac OS X product_uid : 0c3919fe-46e8-11e5-a151-feff819cdc9f modification_date: 2018-07-14T09:29:29.000000Z material_package_umid: 0x060A2B340101010501010D1113000000A8600902138305BA6E516CAB31F179F2 timecode : 09:59:55:00 Duration: 00:20:19.76, start: 0.000000, bitrate: 123289 kb/s Stream #0:0: Video: h264 (High 4:2:2 Intra), yuv422p10le(pc, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 50 tbc Metadata: file_package_umid: 0x060A2B340101010501010D12130F8533A8600902138305BA70266CAB31F179F2 file_package_name: Source Package track_name : Track 1 Stream #0:1: Audio: pcm_s24le, 48000 Hz, 7.1, s32 (24 bit), 9216 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D12130F8533A8600902138305BA70266CAB31F179F2 file_package_name: Source Package track_name : Track 2 File 'D:\test.mp4' already exists. Overwrite ? [y/N] y Stream mapping:Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (pcm_s24le (native) -> aac (native)) Press [q] to stop, [?] for help [Parsed_pan_0 @ 0000000002dbfd80] Pure channel mapping detected: 6 7[libx264 @ 0000000001e6e9c0] using SAR=1/1[libx264 @ 0000000001e6e9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2[libx264 @ 0000000001e6e9c0] profile High, level 4.1[libx264 @ 0000000001e6e9c0] 264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options:cabac=1 ref=4 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=34 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=2 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=30 keyint_min=3 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2000 vbv_bufsize=78000 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'D:\test.mp4':Metadata:uid : 682d6935-8748-11e8-bc3a-6cab31f179f2 generation_uid : 682d6936-8748-11e8-9e20-6cab31f179f2 company_name : Adobe Systems Incorporated product_name : Adobe Media Encoder product_version : 12.0.0 application_platform: Mac OS X product_uid : 0c3919fe-46e8-11e5-a151-feff819cdc9f modification_date: 2018-07-14T09:29:29.000000Z material_package_umid: 0x060A2B340101010501010D1113000000A8600902138305BA6E516CAB31F179F2 timecode : 09:59:55:00 encoder : Lavf58.17.101 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 25 fps, 12800 tbn, 25 tbc Metadata: file_package_umid: 0x060A2B340101010501010D12130F8533A8600902138305BA70266CAB31F179F2 file_package_name: Source Package track_name : Track 1 encoder : Lavc58.20.104 libx264 Side data: cpb: bitrate max/min/avg: 2000000/0/2000000 buffer size: 78000000 vbv_delay: -1 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp (24 bit), 320 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D12130F8533A8600902138305BA70266CAB31F179F2 file_package_name: Source Package track_name : Track 2 encoder : Lavc58.20.104 aac[mp4 @ 000000000302e6c0] Starting second pass: moving the moov atom to the beginning of the fileframe=29387 fps= 23 q=-1.0 Lsize= 327414kB time=00:19:36.06 bitrate=2280.6kbits/s speed=0.915x video:290809kB audio:35787kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.250163% [libx264 @ 0000000001e6e9c0] frame I:1175 Avg QP:28.61 size: 68899b[libx264 @ 0000000001e6e9c0] frame P:10535 Avg QP:32.59 size: 13694 [libx264 @ 0000000001e6e9c0] frame B:17677 Avg QP:35.32 size: 4105 [libx264 @ 0000000001e6e9c0] consecutive B-frames: 6.1% 14.7% 79.2% [libx264 @ 0000000001e6e9c0] mb I I16..4: 28.2% 65.6% 6.2% [libx264 @ 0000000001e6e9c0] mb P I16..4: 3.6% 5.1% 0.1% P16..4: 34.1% 3.0% 5.6% 0.0% 0.0% skip:48.4% [libx264 @ 0000000001e6e9c0] mb B I16..4: 0.2% 0.3% 0.0% B16..8: 36.6% 1.0% 0.2% direct: 0.5% skip:61.2% L0:41.1% L1:57.9% BI: 1.1% [libx264 @ 0000000001e6e9c0] 8x8 transform intra:61.9% inter:80.2% [libx264 @ 0000000001e6e9c0] direct mvs spatial:98.2% temporal:1.8% [libx264 @ 0000000001e6e9c0] coded y,uvDC,uvAC intra: 38.1% 42.5% 10.9% inter: 3.3% 3.7% 0.1% [libx264 @ 0000000001e6e9c0] i16 v,h,dc,p: 21% 21% 12% 47% [libx264 @ 0000000001e6e9c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 6% 11% 11% 15% 13% 12% 11% 10% [libx264 @ 0000000001e6e9c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 7% 4% 11% 13% 15% 11% 11% 11%[libx264 @ 0000000001e6e9c0] i8c dc,h,v,p: 38% 34% 18% 10% [libx264 @ 0000000001e6e9c0] Weighted P-Frames: Y:1.8% UV:1.3 [libx264 @ 0000000001e6e9c0] ref P L0: 60.2% 14.2% 19.9% 5.5% 0.1% 0.0% [libx264 @ 0000000001e6e9c0] ref B L0: 83.9% 14.1% 2.1%[libx264 @ 0000000001e6e9c0] kb/s:2026.66[aac @ 0000000001e97200] Qavg: 65535.969
-Dinesh
3 Antworten auf die Frage
Das optimale Kompressionsverhältnis scheint für h264 um 14x zu schwanken.
Die Basisberechnung für den Durchsatz von unkomprimiertem RGB-Video mit 8 Bit pro Kanal ist die Flächenabmessung mal 3 Farbkanäle mal die Bildfrequenz. Wenn Sie dieses Ergebnis (in Bytes) in kb konvertieren und dann durch 14 teilen, erhalten Sie etwas, das sich dem subjektiv optimalen Kompressionsverhältnis nähert.
Viele Rechner verwenden den Bewegungsfaktor von 1 (niedrig) bis 4 (hoch) anstelle der Anzahl von Kanälen, um die Art und Weise zu berücksichtigen, in der die Kompression angewendet wird, und multiplizieren mit .07
. Beachten Sie, dass 1 /.07
es ungefähr 14 ist.
Ihre Ausgabe schlägt 25fps @ 1920 x 1080 vor, also 1080 * 1920 * 3 * 25 / 1024 / 14
im ersten Fall oder (unter Annahme einer mittelhohen Bewegung) 1080 * 1920 * 3 * 25 / 1024 * .07
für den zweiten Fall.
Da ich mich für einen Bewegungsfaktor von 3 entschieden habe, sind die Ergebnisse sehr nahe: Ca. 10.000 kps. Bei einem Bewegungsfaktor von 2 wären das etwa 7.000. Wie von Kommentaren und anderen Antworten vorgeschlagen, ist Ihr Ziel von 2.000 etwas niedrig.
Wie andere bereits erwähnt haben, ist 2 Mbit / s für gutes H.264-Video bei 1080p etwas niedrig. Wenn Sie über einen guten Encoder verfügen und über genügend Zeit oder CPU-Ressourcen zum Codieren verfügen, und wenn der Inhalt einfach codiert werden kann, sieht er dennoch ohne große Verzerrungen akzeptabel aus.
Was Sie ausprobieren können, ist eine Zwei-Pass-Codierung im veryslow-Preset:
ffmpeg -y -i input -c:v libx264 -b:v 2000k -pass 1 -preset veryslow -an -f mp4 /dev/null ffmpeg -i input -c:v libx264 -b:v 2000k -pass 2 -preset veryslow -c:a aac -b:a 128k output.mp4
Ersetzen Sie unter Windows /dev/null
mit NUL
. Weitere Informationen finden Sie in der H.264-Wiki-Umgebung .
Für Ihren speziellen Befehl haben Sie die -crf 1
Einstellung hinzugefügt, die unbrauchbar ist, wenn Sie gleichzeitig eine Ziel-Bitrate angeben. Also -crf 1
von deinem Befehl entfernen .
Verwandte Probleme
-
2
Wie bearbeite ich MP4 / H264-Videodateien in Sony Vegas Platinum 6?
-
1
Video für Android mit Adobe Media Encoder konvertieren
-
4
Verbinden Sie zwei h.264-Filmdateien und fügen Sie Kapitel zusammen.
-
2
Wie kann ich eine VRO-Datei in eine AVI-Datei kodieren?
-
1
Wie kann ich Probleme mit Interlaced-Video-Ruckeln / -Schnipsen bei der Wiedergabe auf DVD-Playern b...
-
1
So zeigen Sie veoh.com-Videos mit HT03-A Android an
-
3
Wie konvertiert man mjpg-Dateityp mithilfe von ffmpeg in flv?
-
1
Welche Flash-Version ist für mit ffmpeg erstellte Animationen erforderlich?
-
2
Konvertieren Sie mkv / h264-Video so, dass es auf einem Sony Ericsson-Telefon mit mittlerer Reichwei...
-
3
Audio und Video mit MP4Box / ffmpeg synchronisieren, um Dateien zu verketten