Pixalation Ausgabe in mp4

0

Wir verwenden den Befehl ffmpeg für die Erstellung von MP3-Dateien. Ausgabe zeigt die Pixalation. Ich habe mehrere Parameter im Befehl ändern, aber die Pixalation wird nicht reduziert. Ich möchte die Bitrate konstant auf 2000 kbps halten.

Nachfolgend finden Sie die vollständige Ausgabe des Befehls.

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:[email protected]: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

Dinesh Gaikwad
quelle
2000kist für 1080p sehr niedrig. Für den Fall, Sie haben später festgelegt -crf 1, dass verwendet werden soll.
Gyan
2
Sie sollten CBR wirklich nicht verwenden. Es werden Daten für Szenen mit geringer Komplexität verschwendet, während für Szenen mit hoher Komplexität nicht genügend Platz vorhanden ist. Verwenden Sie stattdessen die 2-Pass-Codierung , wenn Sie wirklich eine durchschnittliche Bitrate oder Zieldateigröße benötigen.
Daniel B

Antworten:

0

Ihr Video hat eine recht hohe Auflösung (1920 x 1080) und eine relativ niedrige Bitrate (2 Mbit / s). Komprimiertes Video wird pixelig angezeigt, insbesondere um eingebetteten Text, da Sie nicht so viele Details pro Sekunde in 2 Megabit Daten einfügen können. Sie werden nicht viel mehr herausholen können, ohne die Bitrate zu erhöhen.

gronostaj
quelle
0

Das optimale Kompressionsverhältnis scheint für h264 um das 14-fache zu schweben.

Die Grundberechnung für den Durchsatz von unkomprimiertem RGB-8-Bit-Video pro Kanal ist die Flächenabmessung mal 3 Farbkanälen mal der Bildrate. Wenn Sie dieses Ergebnis (in Bytes) nehmen und in kb konvertieren und dann durch 14 dividieren, erhalten Sie etwas, das sich dem subjektiv optimalen Komprimierungsverhältnis nähert.

Viele Taschenrechner verwenden den Bewegungsfaktor von 1 (niedrig) - 4 (hoch) anstelle der Anzahl der Kanäle, um die Art und Weise zu berücksichtigen, in der die Komprimierung angewendet und dann mit multipliziert wird .07. Beachten Sie, dass 1 /.07etwa 14 ist.

Ihre Ausgabe schlägt 25 fps bei 1920 x 1080 vor, also 1080 * 1920 * 3 * 25 / 1024 / 14im ersten Fall oder (bei mittlerer Bewegung) 1080 * 1920 * 3 * 25 / 1024 * .07im zweiten Fall.

Da ich einen Bewegungsfaktor von 3 gewählt habe, sind die Ergebnisse offensichtlich sehr ähnlich: Ca. 10.000 kps. Bei einem Bewegungsfaktor von 2 wären es etwa 7.000. Wie aus Kommentaren und anderen Antworten hervorgeht, ist Ihr Ziel von 2.000 ein wenig niedrig.

Yorik
quelle
"Das optimale Komprimierungsverhältnis scheint bei h264 um das 14-fache zu liegen." - Woher kommt diese Nummer?
Slhck
Es ist in der Mathematik. (1920 · 1080 · 3 · 25/1024/1024) / x = n Mbit. Quick google zeigt Empfehlungen für den korrekten Durchsatz an, die davon ausgehen, dass 1080p mit guter Qualität bei ca. 8-12 MBit je nach Bildrate wiedergegeben werden kann. Also, wenn n 10 ist, dann muss x 14 sein.
Yorik
Es ist wirklich wichtig zu verstehen, dass es hier eine Menge Drehknöpfe gibt. Konstante vs Variable vs Methode vs Audio-Codierung vs Menge der Bewegung usw. usw.
Yorik
Ja, obwohl der Encoder selbst und die Codierungsgeschwindigkeit einen viel größeren Einfluss haben werden. Sie können auch recht gute 1080p H.264-Videos mit 3,5 Mbit / s erhalten. Die Durchsatzempfehlungen sind in der Regel etwas höher als die erforderliche Videobitrate, um eine „gute“ Qualität zu erzielen, um Bitratenspitzen zu kompensieren und eine bessere Pufferung zu ermöglichen.
Slhck
PS: Diese Ratenverzerrungskurven sind nicht linear und hängen von der Auflösung des Videos (und seiner Bewegung, wie Sie richtig sagten) ab. Es handelt sich also nicht nur um einen linearen Faktor zwischen Bitrate und Qualität. Die Beziehung ist logarithmisch. Siehe auch: medium.com/netflix-techblog/… Haben Sie eine Referenz für die von Ihnen genannten Taschenrechner? Würde mich interessieren zu sehen, was sie tun.
Slhck
0

Wie bereits erwähnt, sind 2 Mbit / s für H.264-Videos mit 1080p von guter Qualität etwas zu niedrig. Wenn Sie einen anständigen Encoder und genügend Zeit oder CPU-Ressourcen für die Codierung haben und der Inhalt einfach zu codieren ist, kann er ohne viele Verzerrungen noch akzeptabel aussehen.

Was Sie ausprobieren können, ist eine Zwei-Pass-Codierung in der sehr niedrigen Voreinstellung:

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

Unter Windows ersetzen /dev/nullmit NUL. Weitere Informationen finden Sie in der H.264-Wiki-Enrty .

Für Ihren speziellen Befehl haben Sie die -crf 1Einstellung hinzugefügt , die unbrauchbar ist, wenn Sie gleichzeitig eine Ziel-Bitrate angeben. Entfernen Sie sich also -crf 1von Ihrem Befehl.

slhck
quelle
Wenn dies nicht funktioniert, zeigen Sie bitte einen Screenshot, in dem Handbrake und ffmpeg verglichen werden, und zeigen Sie die genauen Einstellungen an, die Sie in Handbrake verwendet haben.
Slhck