Wie kann ich den Aufwand für meine ffmpeg-Konvertierungen reduzieren?

1622
Houseman

Hier sind die Optionen, die ich ffmpeg sende:

ffmpeg. -i input.flv -crf 18 -profile:v baseline -level 3.0 -pix_fmt yuv420p -preset veryslow output.mp4 

Hier ist die Eingabedatei:
http://ct.recorder.s3.amazonaws.com/vid_test001.flv

Und hier ist das gleiche Video, das von ElasticTranscoder http://ct.recorder.s3.amazonaws.com/vid_test001.mp4 kodiert wird

Und hier ist die Datei, die ich von ffmpeg http://ct.recorder.s3.amazonaws.com/vid_test002.mp4 bekomme

Das resultierende Video von ffmpeg ist abgehackt und scheint eine Reihe von Frames verloren zu haben, während die Datei von ElasticTranscoder glatt ist.

Wie kann ich die relative Glätte des Originalvideos beibehalten und möglichst mit ElasticTranscoder vergleichbar werden?

Hier ist die Konsolenausgabe:

C:\WINDOWS\system32>C:\Users\Jim\Desktop\ffmpeg-20140916-git-b76d613-win64-static\bin\ffmpeg.exe -i "C:/Program Files (x86)/Wowza Media Systems/Wowza Streaming Engine 4.1.0/content/recorder/vid_test00 1.flv" -copyts -crf 1 -profile:v baseline -level 3.0 -pix_fmt yuv420p -preset veryslow -b:v 50000k "C:/Program Files (x86)/Wowza Media Systems/Wowza Streaming Engine 4.1.0/content/recorder/vid_test002 .mp4" ffmpeg version N-66289-gb76d613 Copyright (c) 2000-2014 the FFmpeg developers built on Sep 15 2014 22:11:04 with gcc 4.8.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu ray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc -- enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib libavutil 54. 7.100 / 54. 7.100 libavcodec 56. 1.100 / 56. 1.100 libavformat 56. 4.101 / 56. 4.101 libavdevice 56. 0.100 / 56. 0.100 libavfilter 5. 1.100 / 5. 1.100 libswscale 3. 0.100 / 3. 0.100 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 0.100 / 53. 0.100 Input #0, flv, from 'C:/Program Files (x86)/Wowza Media Systems/Wowza Streaming Engine 4.1.0/content/recorder/vid_test001.flv': Metadata: creationdate : Fri Sep 19 15:58:17 Duration: 00:00:12.44, start: 0.000000, bitrate: 806 kb/s Stream #0:0: Video: flv1, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc Stream #0:1: Audio: nellymoser, 22050 Hz, mono, flt File 'C:/Program Files (x86)/Wowza Media Systems/Wowza Streaming Engine 4.1.0/content/recorder/vid_test002.mp4' already exists. Overwrite ? [y/N] y [libx264 @ 00000000043b55a0] MB rate (300000) > level limit (40500) [libx264 @ 00000000043b55a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2 [libx264 @ 00000000043b55a0] profile Constrained Baseline, level 3.0 [libx264 @ 00000000043b55a0] 264 - core 142 r2479 dd79a61 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=16 deblock=1:0:0 analyse=0x1:0x131 me =umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 d ecimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'C:/Program Files (x86)/Wowza Media Systems/Wowza Streaming Engine 4.1.0/content/recorder/vid_test002.mp4': Metadata: creationdate : Fri Sep 19 15:58:17 encoder : Lavf56.4.101 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 320x240, q=-1--1, 50000 kb/s, 1k fps, 16k tbn, 1k tbc Metadata: encoder : Lavc56.1.100 libx264 Stream #0:1: Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 22050 Hz, mono, s16, 128 kb/s Metadata: encoder : Lavc56.1.100 libvo_aacenc Stream mapping: Stream #0:0 -> #0:0 (flv1 (flv) -> h264 (libx264)) Stream #0:1 -> #0:1 (nellymoser (native) -> aac (libvo_aacenc)) Press [q] to stop, [?] for help frame=12432 fps=123 q=-1.0 Lsize= 8238kB time=00:00:12.46 bitrate=5413.5kbits/s dup=12220 drop=0 video:7986kB audio:196kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.685852% [libx264 @ 00000000043b55a0] frame I:50 Avg QP: 0.61 size: 55365 [libx264 @ 00000000043b55a0] frame P:12382 Avg QP: 1.00 size: 437 [libx264 @ 00000000043b55a0] mb I I16..4: 19.4% 0.0% 80.6% [libx264 @ 00000000043b55a0] mb P I16..4: 0.0% 0.0% 0.1% P16..4: 1.4% 0.1% 0.1% 0.0% 0.0% skip:98.2% [libx264 @ 00000000043b55a0] coded y,uvDC,uvAC intra: 92.9% 96.5% 80.6% inter: 1.0% 1.0% 0.9% [libx264 @ 00000000043b55a0] i16 v,h,dc,p: 21% 14% 38% 27% [libx264 @ 00000000043b55a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 20% 17% 5% 8% 8% 6% 6% 6% [libx264 @ 00000000043b55a0] i8c dc,h,v,p: 50% 20% 19% 11% [libx264 @ 00000000043b55a0] ref P L0: 99.3% 0.5% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.2% 0.0% [libx264 @ 00000000043b55a0] kb/s:5261.77 

Ich habe versucht, mit Windows Media Player Classic + CCCP auf meinem Desktop abzuspielen und auch den HTML5-Player von Chrome.

BEARBEITEN:

Wenn Sie das resultierende Video mit dem QuickTime-Player abspielen, erscheint es glatt. WMPClassic hat anscheinend Probleme, meine ffmpeg-Dateien abzuspielen.

1
Bitte geben Sie die vollständige `ffmpeg`-Konsolenausgabe an, die zu Ihrem Befehl gehört. Welche Player und / oder Geräte haben Sie getestet? Tritt dieses Problem bei allen Eingaben oder bestimmten Eingaben auf? Wenn möglich, geben Sie bitte eine Eingabedatei an, wenn es sich um bestimmte Dateien handelt, die zum Duplizieren dieses Problems erforderlich sind. Benötigen Sie "-copyts"? LordNeckbeard vor 10 Jahren 1
@LordNeckbeard fügte Ausgabe und Informationen dazu hinzu, worauf ich es getestet habe. Ich brauche keine Kopien Houseman vor 10 Jahren 0
Ich kann keinen großen Unterschied feststellen: `ffplay vid_test001.mp4 & ffplay vid_test002.mp4`. LordNeckbeard vor 10 Jahren 0
Ihre beiden Videos verwenden sehr unterschiedliche Codierungseinstellungen. ET verwendet die ABR-Ratensteuerung mit "-b: v 900k" (ich bin nicht sicher, ob es zwei Durchgänge waren), und Ihr Befehl "ffmpeg" verwendet die CRF-Ratensteuerung mit "-crf 1" (warum 1)? Es scheint auch, dass `-refs` von Ihrem` ffmpeg`-Befehl nicht richtig gesetzt wird. Dekodiert es besser, wenn Sie "-crf 1" in "-crf 23" ändern und "-refs 3" hinzufügen? LordNeckbeard vor 10 Jahren 0
@LordNeckbeard Was ist "ffplay"? Welchen Spieler verwendest du? Wenn Sie keinen großen Unterschied feststellen können, variieren unsere Definitionen von "viel" oder es ist mein Player / Computer Houseman vor 10 Jahren 0
@LordNeckbeard `-crf 1` ist da, weil es so verlustfrei sein soll, wie es nur geht. Ich werde deine Vorschläge ausprobieren Houseman vor 10 Jahren 0
`ffplay` ist ein einfacher Spieler von FFmpeg. Es wird im Allgemeinen zum Testen verwendet, und ich war zu faul, etwas anderes auszuprobieren. Es könnte nur ich oder dein Player / Computer oder beides sein. LordNeckbeard vor 10 Jahren 0
@LordNeckbeard Du hast recht, ich habe es im QuickTime-Player ausprobiert und es lief reibungslos. Witzig, ich habe mich bei WMP Classic immer auf alles verlassen. Houseman vor 10 Jahren 0

0 Antworten auf die Frage