Unreal Posted January 8, 2016 Share Posted January 8, 2016 (edited) Hallo erstmal wollte ich euch Loben ! Ihr habt wirklich super Arbeit geleistet mit DVBViewer und Recording Service. Streaming funktioniert bei mir perfekt ! Nur hätte ich dazu eine Frage ob man nicht die GPU (Intel Quicksync) fürs Transcoden benutzen könnte ? Weil mein CPU bei slow schon bei 80 % Auslastung ist. Hatte gesehn das man Zusätzliche Parameter angeben kann wäre sowas machbar ? Vielen Dank Edited January 8, 2016 by Unreal Link to comment
Tjod Posted January 8, 2016 Share Posted January 8, 2016 Die Encoding Geschichten laufen über FFmpeg. Das heißt das was mit FFmpeg möglich ist geht und was damit nicht geht ehe nicht. Die verwendeten FFmpeg Parameter können in der ffmpegprefs.ini (von jedem ) geändert werden. Wenn du damit experimentieren willst brauchst du als erstes eine FFmpeg Version die das unterstützt. https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=2562 und musst dann die Parameter ffmpegprefs.ini anpassen. https://github.com/drocon11/ffmpeg-qsv/blob/qsvenc/README.md Wie viel das die CPU ausrastet und welche Auswirkungen die höhere GPU Auslastung hat wäre dann zu testen. Link to comment
fsommer1968 Posted January 8, 2016 Share Posted January 8, 2016 Hallo unreal, stell Deinen Parametersatz bitte hier ein, wenn Du eine Konfiguration für ffmpeg gefunden hast die funktioniert.... Link to comment
feedzapper Posted January 14, 2016 Share Posted January 14, 2016 Habe FFMPEG einmal mit QSV Support compiliert / X64 / ENABLE LIBMFX Problem : Es kommt kein Bild und auch keine Fehlermeldung im svcdebug.log :-( E:\>ffmpeg -hwaccels ffmpeg version N-77832-g92465a2 Copyright © 2000-2016 the FFmpeg developers built with gcc 5.3.0 (GCC) configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=/home/freetz/f fmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64- w64-mingw32- --pkg-config=pkg-config --disable-w32threads --enable-gpl --enable- libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --enable-libblur ay --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enabl e-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++ --extra-lib s=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --extra-libs=-lol eaut32 --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-version3 - -enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enable-lib speex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-frei0r --enable-filter=frei0r --enable-libvo-aacenc -- enable-bzlib --enable-libxavs --enable-libopencore-amrnb --enable-libopencore-am rwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libvpx --enable-li bilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enab le-libdcadec --enable-avisynth --enable-gray --enable-libopenh264 --enable-libmfx --extra-libs=-lpsapi --extra-cflags= --enable-static --disable-shared --prefix =/home/freetz/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86 _64/x86_64-w64-mingw32 --enable-nonfree --enable-libfdk-aac --disable-libfaac -- enable-nvenc --enable-runtime-cpudetect libavutil 55. 13.100 / 55. 13.100 libavcodec 57. 22.100 / 57. 22.100 libavformat 57. 21.101 / 57. 21.101 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 23.100 / 6. 23.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Hardware acceleration methods: dxva2 qsv Danach einen Preset in der ffmpegprefs.ini angepasst für meine Bedürfnisse : [Flash High 1800 kbit Intel QSV] Cmd=-analyzeduration 1500k -threads {threads} {offset} {realtime} -i "{infile}" -threads {threads} -f flv -vcodec h264_qsv -bufsize 2900k -maxrate 1450k {framerate} -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -preset {vpreset} -tune film -vprofile main -level 30 -acodec libmp3lame -ab 128k -ar 44100 -ac 2 -async 1 -y "{outfile}" maxWidth=720 maxHeight=576 MimeType=video/x-flv Ext=.flv SVCDEBUGLOG : 14.01.16 10:01:54.297 Start App ------------------------------------------------------------ 14.01.16 10:01:54.297 DVBViewer Recording Service 1.32.0.0 (beta) 14.01.16 10:01:54.298 TRecordingEngine Execute Start 14.01.16 10:01:54.298 TRecordingEngine StartService start timer 14.01.16 10:01:54.298 TRecordingEngine StartService Create plugin list 14.01.16 10:01:54.588 TRecordingEngine StartService found 1 plugins 14.01.16 10:01:54.593 TRecordingEngine StartService loadchannellist 14.01.16 10:01:54.594 TDVBDevice InitDevice TechnoTrend BDA/DVB-S Tuner 14.01.16 10:01:54.598 TRecordingEngine Start Searches load 14.01.16 10:01:54.598 TTaskList Load Tasks loaded 14.01.16 10:01:54.599 TRecordingEngine Start VCR load 14.01.16 10:01:54.682 TRecordingEngine Start EPG load 14.01.16 10:01:54.682 TRecordingEngine loadsetup load vcr 14.01.16 10:01:54.706 TDevice Start 14.01.16 10:01:54.706 TUPnPAnnounce Start 14.01.16 10:01:54.706 TUPnPAnnounce InitWsocket 127.0.0.1 14.01.16 10:01:54.706 TUPnPAnnounce InitWsocket 169.254.248.238 14.01.16 10:01:54.706 TUPnPAnnounce InitWsocket 192.168.0.3 14.01.16 10:01:54.708 TRecordingEngine StartService load setup 14.01.16 10:01:54.708 TRecordingEngine Recorderservice Enabled 14.01.16 10:02:01.860 TDVBHTTPClient ($03F18F40) DoFlashStream preset=8&ffpreset=medium&chid=107 14.01.16 10:02:01.860 TDVBHTTPClient ($03F18F40) DoFlashStream 127.0.0.1 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36 14.01.16 10:02:01.861 Converter Start cmd -analyzeduration 1500k -threads 4 -i "http://127.0.0.1:7522/upnp/channelstream/transcode/2359890548442016634%7Czdf%5Fneo%20HD%20%28deu%29.ts" -threads 4 -f flv -vcodec h264_qsv -bufsize 2900k -maxrate 1450k -r 25.0 -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale=min(720\, trunc(iw/2)*2):trunc((ow/dar)/2)*2" -preset medium -tune film -vprofile main -level 30 -acodec libmp3lame -ab 128k -ar 44100 -ac 2 -async 1 -y "\\.\pipe\Output{4DE47093-D512-4732-9463-3F15591903CF}" 14.01.16 10:02:01.907 TBDATechnoTrend Opendevice bvTechnoTrend 14.01.16 10:02:01.907 TStreamClient AllocateHardware TechnoTrend BDA/DVB-S Tuner 14.01.16 10:02:01.907 TBDATechnoTrend SetTuner TType: 1, Freq: 11362, Symrate: 22000, LOF: 9750, Tone: 0, Pol: 0, DiseqC: 4, FEC: 2, APID: 6320, VPID: 6310, PMT: 6300, SID: 11130, TID: 1011, NID: 1, SatMod: 134, DiseqCVal: 0, Flags: 24 14.01.16 10:02:06.766 Release TechnoTrend BDA/DVB-S Tuner Link to comment
feedzapper Posted January 14, 2016 Share Posted January 14, 2016 (edited) ........ mal weiter testen Edited January 14, 2016 by feedzapper Link to comment
CiNcH Posted January 14, 2016 Share Posted January 14, 2016 Ich habe es mal zum Laufen gebracht. Allerdings war das Ergebnis nicht sehr toll. Die Qualität war sehr gut (im Gegensatz zu x264 'ultrafast'), allerdings war die CPU Last sehr hoch (80% auf HD-Kanälen mit einem Core i3-3225). Ich denke, da ist noch nicht die komplette HW-Pipeline in ffmpeg h264_qsv abgebildet und es wird evtl. oft zwischen GPU und CPU hin und her kopiert. Oder mein doch schon älterer Ivy Bridge Prozessor wird nicht optimal unterstützt. Link to comment
Tjod Posted January 14, 2016 Share Posted January 14, 2016 Hier habe ich vor kurzem etwas geschrieben was beim testen nützlich sein kann: http://www.DVBViewer.tv/forum/topic/57600-alte-streaming-methode/?p=440405 Eventuell macht es auch Sinn wenn du mit aufnahmen anfängst. http://www.DVBViewer.tv/forum/topic/55397-automatisch-eine-mp4-aus-aufnahmen-generieren/?p=439953 Wenn es damit nicht klappt geht es bei Live TV wahrscheinlich auch nicht. Da Live Geschichten in fast allen Punkten anspruchsvoller sind. Link to comment
CiNcH Posted January 14, 2016 Share Posted January 14, 2016 Mit Aufnahmen war es dasselbe Problem. Nutze ich jedoch QSTranscode oder HandBrake sind sowohl Qualität als auch Speed/CPU-Last (300fps bei 10% CPU) sehr gut. Link to comment
CiNcH Posted January 14, 2016 Share Posted January 14, 2016 Bei mir sah die Kommandozeile so aus (iOS HLS): [Version]Version=4[HD 4000 kbit]Cmd=-analyzeduration 1500K -threads {threads} {offset} -i "{infile}" -threads {threads} -f mpegts -c:v h264_qsv -force_key_frames "expr:gte(t,n_forced*{segdur})" -bufsize 1024k -b 3600k {framerate} -maxrate 3600k -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -profile:v main -level 30 -strict experimental -acodec aac -ab 128k -ar 48000 -ac 2 -async 1 -y "{outfile}"maxWidth_IPhone=1280maxHeight_IPhone=720maxWidth_IPad=1280maxHeight_IPad=720 Output: 08.10.15 18:10:34.212 Converter Start cmd -analyzeduration 1500K -threads 4 -i "http://10.0.0.18:752...nnelstream/0.ts" -threads 4 -f mpegts -c:v h264_qsv -force_key_frames "expr:gte(t,n_forced*1)" -bufsize 1024k -b 3600k -r 25.0 -maxrate 3600k -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale=min(1280\, trunc(iw/2)*2):trunc((ow/dar)/2)*2" -profile:v main -level 30 -strict experimental -acodec aac -ab 128k -ar 48000 -ac 2 -async 1 -y "\\.\pipe\{9996B738-EB62-4932-BBF1-11ADF182424A}" Wenn für Deinterlacing QuickSync verwendet wird, könnte man yadif aus der Kommandozeile rausnehmen. Ob für die Dekodierung QuickSync verwendet wird, weiß ich auch nicht. Dann müssten die Daten für yadif zurück zur CPU. Scaling ebenso. Wirklich effizient ist es nur, wenn die komplette Transcode-Pipeline über QuickSync abgebildet wird: MPEG-2/H.264 Dekodierung > Deinterlacing > Scaling > H.264 Encoding Link to comment
feedzapper Posted January 14, 2016 Share Posted January 14, 2016 Habe die Fehlermeldung mit Hilfe des erweiterten DEBUG gefunden : 14.01.16 11:28:28.787 FFMPEG [h264_qsv @ 0000000000629de0] Selected ratecontrol mode is not supported by the QSV runtime. Choose a different mode. weiß auch nicht , was da nun genau supported wird und was nicht ?! Benutze einen einen Intel HASWELL I5-4670S (3,1 Ghz) Link to comment
CiNcH Posted January 14, 2016 Share Posted January 14, 2016 -preset {vpreset} wird für h264_qsv nicht unterstützt, bzw. nicht die Presets die für x264 angeboten werden. Das musst du wahrscheinlich rausnehmen. Link to comment
feedzapper Posted January 14, 2016 Share Posted January 14, 2016 Geht leider auch nicht. Immer noch die selbe Fehlermeldung. Wahrscheinlich wird realtime transcoding wirklich nicht funktionieren ....? Habe inzwischen auch mal die Doku bemüht : http://ffmpeg.org/ffmpeg-codecs.html#QSV-encoders demnach sieht die command line in Ordnung aus ... Link to comment
Tjod Posted January 14, 2016 Share Posted January 14, 2016 Wenn ich die Fehlermeldung richtig verstehe musst du maxrate weglassen. Generell würde ich mit so wenig wie möglich Parametern anfangen. Und dann einen nach dem anderen hinzufügen. Und das ganze erst bei einer Datei und wenn es da geht das gleiche nochmal beim Livestreaming. Und die Variablen vom RS (abgesehen von {infile} und {outfile}) würde ich erst ganz zum Schluss verwenden. Link to comment
feedzapper Posted January 14, 2016 Share Posted January 14, 2016 (edited) Sooo... nun läufts ! hier mal die presets für meinen 2250 kbits Netto Annex J Upstream [Flash High 1800 kbit Intel QSV] Cmd=-analyzeduration 1500k -threads {threads} {offset} {realtime} -i "{infile}" -threads {threads} -f flv -vcodec h264_qsv -bufsize 2700k -maxrate 1350k -look_ahead 0 -g 50 {framerate} -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -tune film -vprofile main -level 30 -acodec libmp3lame -ab 128k -ar 44100 -ac 2 -async 1 -y "{outfile}" maxWidth=720 maxHeight=576 MimeType=video/x-flv Ext=.flv die -vpresets sind raus (keine Funktion) Noch kurz etwas generelles zu -MAXRATE Auch wenn der Parameter so heißt und auch gesetzt ist, ist es ein Trugschluss, dass die Bitrate nicht über diesen Wert hinaus geht. Dies betrifft sowohl den libx264 codec, als auch den h264_qsv. Wenn ich VBR mit -maxrate 1350k nutze, bekomme ich regelmäßig auch Peaks mit bis zu 1800 kbits und mehr ! Dies erklärt vielleicht auch teilweise, warum manche Streams bei manchen Leuten teilweise einfrieren, obwohl die Bitrate eigentlich moderat gewählt ist. Abhilfe : in CBR encoden mit z.b. -b:v 1750k -maxrate 1750k Damit bleibt der Output konstant bei 1750kbit (allerdings ständig - auch ohne schnelle Bildwechsel im TV Format) oder bei VBR die -maxrate tief genug setzen, damit man noch etwas Puffer nach oben hat. Edited January 14, 2016 by feedzapper Link to comment
nuts Posted January 14, 2016 Share Posted January 14, 2016 Und was macht die CPU Last mit dem Quicksync Preset? Link to comment
feedzapper Posted January 14, 2016 Share Posted January 14, 2016 ZDF ohne HD und einem 720x576 Preset mit x264 lib und SLOWER so 35-40% Last mit h264_qsv so 25-30% Last ZDF in HD und einem 1280x720 Preset mit x264 lib un SLOWER so 80-90% mit h264_qsv so 50-60% Last i5-4670S (3.1 Ghz) (4 Kerne) Haswell Link to comment
nuts Posted January 14, 2016 Share Posted January 14, 2016 Also zu "fast" Presets nahezu kein Gewinn? Das spricht etwas für cinchs Vermutung. Link to comment
feedzapper Posted January 14, 2016 Share Posted January 14, 2016 stimmt Visuell erscheint mir das Bild auf den ersten Blick besser auszusehen bei QSV und den gleichen vorgaben bezüglich Auflösung und Bitrate. Bei HD ist der CPU Last Gewinn höher mit QSV Link to comment
nuts Posted January 14, 2016 Share Posted January 14, 2016 Najo das ist leider noch nicht so das wahre, aber trotzdem danke für den Test und Bericht. Schön wäre so 5-10% CPU Last bei HD. Dann könnte man auch mehrere Clients bedienen. Link to comment
Unreal Posted January 15, 2016 Author Share Posted January 15, 2016 @ feedzapper könntest du bitte mal deine ffmpeg.exe mit Quicksync Support hier hochladen ? Wäre sehr nett danke. Link to comment
CiNcH Posted January 15, 2016 Share Posted January 15, 2016 @feedzapper, kannst du vielleicht mal deine FFmpeg.exe zur Verfügung stellen? Ich verwende die von hier. Das scheinen Nightlies mit libmfx zu sein. Allerdings habe ich es damit gestern nicht mehr zum Laufen gebracht. "yadif=0:-1:1, scale={scalex}:{scaley}" Das ist definitiv noch ein Problem. Für Deinterlacing und Scaling muss der dekodierte Stream zur CPU (was ein großes Datenaufkommen bedeutet) und anschließend zur Enkodierung wieder zurück zur GPU. Wie man das an Quick Sync delegieren kann, weiß ich nicht. Wahrscheinlich noch nicht implementiert. Oder aber es wird auch die Dekodierung momentan noch in SW gemacht (sowie Deinterlacing und Scaling) und nur die Enkodierung an die GPU delegiert. Jedenfalls ist momentan wohl noch nicht die gesamte Pipeline in HW abgebilet. Noch kurz etwas generelles zu -MAXRATE Auch wenn der Parameter so heißt und auch gesetzt ist, ist es ein Trugschluss, dass die Bitrate nicht über diesen Wert hinaus geht. Dies betrifft sowohl den libx264 codec, als auch den h264_qsv. maxrate ist hier in der Tat ein etwas irreführender Begriff. Ich zitiere mal Griga: Maxrate kann übrigens punktuell deutlich überschritten werden. Um das zu verstehen, muss man wissen, dass der Wert die maximale durchschnittliche Bitrate in dem durch den Parameter bufsize gesteckten Zeitrahmen angibt (in meinen zuletzt veröffentlichten Presets immer 2 Sekunden). Link to comment
Frank Sommer Posted January 15, 2016 Share Posted January 15, 2016 (edited) Der Quicksync Support ist noch ziemlich unvollständig: https://trac.ffmpeg.org/ticket/2591 Es gab sogar eine Challenge: Geändert vor 7 Monaten durch Mista_D $500 CAD bounty (Paypal or WesternUnion) for a complete integration of Intel QuickSync's encoding, decoding and VPP filtering features. Bounty expires on November 1st 2015. Zuletzt geändert vor 7 Monaten von Mista_D (vorher) (Diff) Edited January 15, 2016 by Frank Sommer Link to comment
feedzapper Posted January 15, 2016 Share Posted January 15, 2016 (edited) Würde ich ja gern, kann ich aber nicht hochladen (zu groß - 13mb oder so mit rar) Ich habe im Moment nur die FFmpeg Win 64-Bit Version compiliert. Falls Sie jemand noch mit 32-Bit benötigt. Kein Thema Darin enthalten : Intel QSV Support + ibfdk_aac Support : https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_aac (benutze nur noch diesen MP4 high quality codec) Hier mein zur Zeit benutzter Preset. -tune und -vpreset sind raus und werden von QSV nicht unterstüzt. yadif habe ich auch mal rausgeworfen. [Flash High 1800 kbit Intel QSV] Cmd=-analyzeduration 1500k -threads {threads} {offset} {realtime} -i "{infile}" -threads {threads} -f flv -vcodec h264_qsv -bufsize 2700k -maxrate 1350k -look_ahead 0 -g 50 {framerate} -map 0:0 -map 0:1 -vf "scale={scalex}:{scaley}" -vprofile main -level 30 -acodec libfdk_aac -profile:a aac_he -ab 128k -ar 44100 -ac 2 -async 1 -y "{outfile}" maxWidth=720 maxHeight=576 MimeType=video/x-flv Ext=.flv Dann gibt es noch für QSV bei FFmpeg den Befehl -hwaccel qsv (QSV -> QSV Pipeline transcoding) funktioniert nur leider nicht und ist deshalb nicht mit in dem Preset ! nähere infos siehe hier : http://ffmpeg.org/ffmpeg.html#toc-Advanced-Video-options (runterscrollen zu "hwaccel und qsv") und hier : http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2015-October/182183.html also wo soll ich nun hochladen ? Edited January 15, 2016 by feedzapper Link to comment
Tjod Posted January 15, 2016 Share Posted January 15, 2016 Ein Build mit --enable-nonfree solltest du hier nicht öffentlich anbieten. Das selber zu erstellen und zu Nutzen ist kein Problem. Aber die weitergebe ist Lizenstechnisch nicht wirklich erlaubt. Link to comment
feedzapper Posted January 15, 2016 Share Posted January 15, 2016 Einfach selber compilieren und gut ! Dann hat der Rechner über nacht etwas zu tun : https://github.com/rdp/ffmpeg-windows-build-helpers/blob/master/README.md würde es aber auf jeden fall unter LINUX compilieren. Entweder direkt, oder in einem virtuellen Umfeld mit VirtualDUB viel spass... Link to comment
feedzapper Posted February 9, 2016 Share Posted February 9, 2016 Noch etwas neues zu Intel QSV : Ich benutze nun einen Intel i7-6700k @ 4,00 Ghz (Intel HD Graphics 5300) und SKYLAKE Architektur / Win8.1-64Bit Meine letzten Tests waren mit einem Intel i5-4670S @ 3,1 Ghz (Intel HD Graphics 4600) und HASHWELL Architektur / Win7-64 Bit Dabei staunte ich nicht schlecht, wie das nun mit QSV brummt ! alles RTL HD ! dieser Preset mit libx264 Codec und / VERYSLOW : [Flash High 1800 kbit HD] Cmd=-analyzeduration 1500k -threads {threads} {offset} {realtime} -i "{infile}" -threads {threads} -f flv -vcodec libx264 -bufsize 1668k -b:v 1668k -maxrate 1668k {framerate} -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -preset {vpreset} -tune film -profile:v high -level 3.1 -acodec libfdk_aac -profile:a aac_he -ab 128k -ar 44100 -ac 2 -async 1 -y "{outfile}" maxWidth=1280 maxHeight=720 MimeType=video/x-flv Ext=.flv Prozessorlast : 80-100% ! Dieser Preset mit Intel QSV Codec (h264_qsv) / VERYSLOW !! [Flash High 1800 kbit Intel QSV HD] Cmd=-analyzeduration 1500k -threads {threads} {offset} {realtime} -i "{infile}" -threads {threads} -f flv -vcodec h264_qsv -bufsize 1668k -b:v 1668k -maxrate 1668k -look_ahead 0 {framerate} -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -preset {vpreset} -vprofile high -level 3.1 -acodec libfdk_aac -profile:a aac_he -ab 128k -ar 44100 -ac 2 -async 1 -y "{outfile}" maxWidth=1280 maxHeight=720 MimeType=video/x-flv Ext=.flv Prozessorlast : 5-10% !!! Vielleicht lag es am WIN7, weil auch die HASHWELL Kerne hätten da eigentlich schon bessere Resultate liefern sollen ... ? Link to comment
janee Posted February 13, 2016 Share Posted February 13, 2016 (edited) Hallo, der Thread hat mich dann doch neugierig gemacht. Ich habe also FFmpeg mit qsv support compiliert. Das Ergebnis ist schon eine deutliche Verbessung.. Zu meinen System: Intel E3 1225 v3(Haswell) und Windows 10. Trankodieren eines HD (1080i) Streams nur CPU: 80 - 100 % auf 3,2Ghz (Verbrauch >40Watt (Anzeige Core Temp) Trankodieren eines HD (1080i) Streams CPU + GPU: 15 - 25% auf 0.8 - 1.2 Ghz (Verbrauch ca 15Watt (Anzeige Core Temp) Auf dem System wurde zeitgleich HD TV geschaut. Die Presets habe ich von Cinch genommen. Danke dafür! Dank auch an feedzapper und Tjod! [HLS QSV 4000 kbit] Cmd=-analyzeduration 1500K -threads {threads} {offset} -i "{infile}" -threads {threads} -f mpegts -c:v h264_qsv -force_key_frames "expr:gte(t,n_forced*{segdur})" -bufsize 6400k -b 3600k {framerate} -maxrate 3600k -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -profile:v main -level 30 -strict experimental -acodec aac -ab 128k -ar 48000 -ac 2 -async 1 -y "{outfile}" maxWidth_IPhone=1280 maxHeight_IPhone=720 maxWidth_IPad=1280 maxHeight_IPad=720 [HLS QSV 1800 kbit] Cmd=-analyzeduration 1500K -threads {threads} {offset} -i "{infile}" -threads {threads} -f mpegts -c:v h264_qsv -force_key_frames "expr:gte(t,n_forced*{segdur})" -bufsize 6400k -b 1600k {framerate} -maxrate 1600k -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale={scalex}:{scaley}" -profile:v main -level 30 -strict experimental -acodec aac -ab 128k -ar 48000 -ac 2 -async 1 -y "{outfile}" maxWidth_IPhone=1280 maxHeight_IPhone=720 maxWidth_IPad=1280 maxHeight_IPad=720 Edited February 13, 2016 by janee Link to comment
VinoRosso Posted February 14, 2016 Share Posted February 14, 2016 Könnte mal jeamnd eine ffmpeg version mit quicksync support bereitstellen? Selbst kompilieren ist doch ziemlich aufwändig ;-) Link to comment
Unreal Posted February 14, 2016 Author Share Posted February 14, 2016 bei mir bricht ffmpeg immer ab.Wenn ich ein profil mit quicksync testen will.Habe einen 2600k in meinen HTPC mit Windows 10 64 Bit und aktuellen Treiber.Weiss einer ob die Grafikkarte überhaupt dafür geht ? Mit Handbrake klappt es mit quicksync und api 1.1 Brauche ich eine spezielle ffmpeg.exe für meine hd3000 ? Link to comment
feedzapper Posted February 14, 2016 Share Posted February 14, 2016 (edited) Ja , sollte mit deinem Prozessor gehen. Der QSV Support in FFmpeg ist wohl Plattform übergreifend. Es werden so gut wie alle Intel Prozessoren mit Integrierter Grafikeinheit unterstüzt. Siehe hierzu : http://ark.intel.com/search/advanced?s=t&QuickSyncVideo=true Vielleicht hast Du nur einen Fehler in der FFmpeg Befehlszeile ? Schau doch erst mal nach, warum FFmpeg abbricht (Fehlermeldung) Mit erweitertem SVCDEBUG Log. So wie in früheren Posts schon beschrieben ... Edited February 14, 2016 by feedzapper Link to comment
Unreal Posted February 14, 2016 Author Share Posted February 14, 2016 @ feedzapper alles klar.Hatte dir nochmal eine pn geschickt.Leider habe ich die dateien gelöscht.Ich bräuchte nochmal deine hilfe tausend dank ! Link to comment
Unreal Posted February 14, 2016 Author Share Posted February 14, 2016 (edited) Hier mal meine SVCDEBUG Log ---------------------------------------- 14.02.16 17:48:15.079 TDVBHTTPClient ($076C07F0) DoFlashStream preset=7&ffpreset=veryfast&chid=114.02.16 17:48:15.079 TDVBHTTPClient ($076C07F0) DoFlashStream 192.168.178.24 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.3614.02.16 17:48:15.079 Converter Start cmd -analyzeduration 1500k -threads 8 -i "http://127.0.0.1:7522/upnp/channelstream/transcode/2359890582721931325%7CDas%20Erste%20HD.ts" -threads 8 -f flv -vcodec h264_qsv -bufsize 1668k -b:v 1668k -maxrate 1668k -look_ahead 0 -r 25.0 -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale=min(1280\, trunc(iw/2)*2):trunc((ow/dar)/2)*2" -preset veryfast -vprofile high -level 3.1 -acodec libfdk_aac -profile:a aac_he -ab 128k -ar 44100 -ac 2 -async 1 -y "\\.\pipe\Output{D475D784-4C35-4F8A-ACC6-B7611631FA33}"14.02.16 17:48:15.116 FFmpeg FFmpeg version N-78371-g1354603 Copyright © 2000-2016 the FFmpeg developers built with gcc 5.3.0 (GCC) configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=/cygdrive/d/Build/FFmpeg-windows-build-helpers-master/native_build/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --pkg-config=pkg-config --disable-w32threads --enable-gpl --enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --extra-libs=-loleaut32 --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-frei0r --enable-filter=frei0r --enable-bzlib --enable-libxavs --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enable-libdcadec --enable-avisynth --enable-gray --enable-libopenh264 --enable-libmfx --extra-libs=-lpsapi --extra-cflags= --enable-static --disable-shared --prefix=/cygdrive/d/Build/FFmpeg-windows-build-helpers-master/native_build/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --enable-nonfree --enable-libfdk-aac --disable-libfaac --enable-nvenc --enable-runtime-cpudetect libavutil 55. 17.100 / 55. 17.100 libavcodec 57. 24.102 / 57. 24.102 libavformat 57. 25.100 / 57. 25.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 31.100 / 6. 31.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.10014.02.16 17:48:15.120 TStreamManager Getdocument RequestHeader User-Agent: Lavf/57.25.100Accept: */*Range: bytes=0-Connection: closeHost: 127.0.0.1:7522Icy-MetaData: 1 14.02.16 17:38:01.210 TStreamManager Getdocument Document c:\wwwroot\upnp\channelstream\transcode\2359890582721931325|Das Erste HD.ts14.02.16 17:38:01.210 TStreamManager Getdocument Params14.02.16 17:38:01.233 TBDADigitalDevices Opendevice bvDigitalDevices14.02.16 17:38:01.233 TStreamClient AllocateHardware Digital Devices DVB-S/S2 Tuner 7 (3)14.02.16 17:38:01.233 TBDADigitalDevices SetTuner TType: 1, Freq: 11494, Symrate: 22000, LOF: 9750, Tone: 0, Pol: 0, DiseqC: 3, FEC: 2, APID: 5102, VPID: 5101, PMT: 5100, SID: 10301, TID: 1019, NID: 1, SatMod: 134, DiseqCVal: 0, Flags: 2414.02.16 17:38:02.471 FFmpeg [h264 @ 00000234906198e0] non-existing PPS 0 referenced Last message repeated 1 times[h264 @ 00000234906198e0] decode_slice_header error[h264 @ 00000234906198e0] no frame![h264 @ 00000234906198e0] non-existing PPS 0 referenced Last message repeated 1 times[h264 @ 00000234906198e0] decode_slice_header error[h264 @ 00000234906198e0] no frame![h264 @ 00000234906198e0] non-existing PPS 0 referenced Last message repeated 1 times[h264 @ 00000234906198e0] decode_slice_header error[h264 @ 00000234906198e0] no frame![h264 @ 00000234906198e0] non-existing PPS 0 referenced Last message repeated 1 times[h264 @ 00000234906198e0] decode_slice_header error[h264 @ 00000234906198e0] no frame![h264 @ 00000234906198e0] non-existing PPS 0 referenced Last message repeated 1 times[h264 @ 00000234906198e0] decode_slice_header error[h264 @ 00000234906198e0] no frame!14.02.16 17:38:02.473 FFmpeg [h264 @ 00000234906198e0] non-existing PPS 0 referenced Last message repeated 1 times 14.02.16 17:38:02.776 FFmpeg [h264 @ 00000234906198e0] Increasing reorder buffer to 214.02.16 17:38:03.916 FFmpeg Input #0, mpegts, from 'http://127.0.0.1:7522/upnp/channelstream/transcode/2359890582721931325%7CDas%20Erste%20HD.ts': Duration: N/A, start: 14627.061122, bitrate: N/A Program 10301 Stream #0:0[0x13ed]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [sAR 1:1 DAR 16:9]14.02.16 17:38:03.917 FFmpeg , 50 fps, 50 tbr, 90k tbn, 100 tbc Stream #0:1[0x13ee](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s Stream #0:2[0x13f1](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired) Stream #0:3[0x1fff]( en): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)14.02.16 17:38:03.919 FFmpeg -async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.14.02.16 17:38:03.954 FFmpeg [h264_qsv @ 0000023493630b20] Error initializing an internal MFX sessionOutput #0, flv, to '\\.\pipe\Output{442D366E-538A-4619-BCEB-43B132D864F0}': Stream #0:0: Video: h264, none, q=2-31, 128 kb/s, SAR 1:1 DAR 0:0, 25 fps Metadata: encoder : Lavc57.24.102 h264_qsv Stream #0:1(deu): Audio: aac, 0 channels, 128 kb/s Metadata: encoder : Lavc57.24.102 libfdk_aacStream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_qsv)) Stream #0:1 -> #0:1 (mp2 (native) -> aac (libfdk_aac))Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height Edited February 14, 2016 by Unreal Link to comment
janee Posted February 14, 2016 Share Posted February 14, 2016 Teste doch bitte mal eine Aufnahme Link to comment
Unreal Posted February 14, 2016 Author Share Posted February 14, 2016 14.02.16 18:19:52.988 TDVBHTTPClient ($07600E80) DoFlashStream preset=7&ffpreset=ultrafast&recid=6714.02.16 18:19:52.993 TDVBHTTPClient ($07600E80) DoFlashStream 192.168.178.24 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.3614.02.16 18:19:52.993 Converter Start cmd -analyzeduration 1500k -threads 8 -ss 0 -analyzeduration 15M -re -i "E:\recorded\Leschs Kosmos - Mahlzeit! Die Macht der Manipulation_02-11_ZDFinfo HD.ts" -threads 8 -f flv -vcodec h264_qsv -bufsize 1668k -b:v 1668k -maxrate 1668k -look_ahead 0 -r 25.0 -map 0:0 -map 0:1 -vf "yadif=0:-1:1, scale=min(1280\, trunc(iw/2)*2):trunc((ow/dar)/2)*2" -preset ultrafast -vprofile high -level 3.1 -acodec libfdk_aac -profile:a aac_he -ab 128k -ar 44100 -ac 2 -async 1 -y "\\.\pipe\Output{0EED5227-B52F-4A22-9F01-462EEA833486}"14.02.16 18:19:53.025 FFMPEG ffmpeg version N-78371-g1354603 Copyright © 2000-2016 the FFmpeg developers built with gcc 5.3.0 (GCC) configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=/cygdrive/d/Build/ffmpeg-windows-build-helpers-master/native_build/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --pkg-config=pkg-config --disable-w32threads --enable-gpl --enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --enable-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_STATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++ --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --extra-libs=-loleaut32 --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-libopus --enable-frei0r --enable-filter=frei0r --enable-bzlib --enable-libxavs --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --enable-libgme --enable-dxva2 --enable-libdcadec --enable-avisynth --enable-gray --enable-libopenh264 --enable-libmfx --extra-libs=-lpsapi --extra-cflags= --enable-static --disable-shared --prefix=/cygdrive/d/Build/ffmpeg-windows-build-helpers-master/native_build/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --enable-nonfree --enable-libfdk-aac --disable-libfaac --enable-nvenc --enable-runtime-cpudetect libavutil 55. 17.100 / 55. 17.100 libavcodec 57. 24.102 / 57. 24.102 libavformat 57. 25.100 / 57. 25.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 31.100 / 6. 31.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.10014.02.16 18:19:53.031 FFMPEG [h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] decode_slice_header error[h264 @ 000002c1e3185ee0] no frame!14.02.16 18:19:53.033 FFMPEG [h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] decode_slice_header error[h264 @ 000002c1e3185ee0] no frame![h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] decode_slice_header error[h264 @ 000002c1e3185ee0] no frame![h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] decode_slice_header error[h264 @ 000002c1e3185ee0] no frame![h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] decode_slice_header error[h264 @ 000002c1e3185ee0] no frame![h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] non-existing SPS 0 referenced in buffering period[h264 @ 000002c1e3185ee0] non-existing PPS 0 referenced[h264 @ 000002c1e3185ee0] decode_slice_header error[h264 @ 000002c1e3185ee0] no frame!14.02.16 18:19:53.061 FFMPEG [h264 @ 000002c1e3185ee0] Increasing reorder buffer to 214.02.16 18:19:53.149 FFMPEG [mpegts @ 000002c1e3180b80] PES packet size mismatch Last message repeated 3 timesInput #0, mpegts, from 'E:\recorded\Leschs Kosmos - Mahlzeit! Die Macht der Manipulation_02-11_ZDFinfo HD.ts': Duration: 01:10:01.14, start: 92800.326822, bitrate: 13579 kb/s Program 11170 Stream #0:0[0x1a36]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1280x720 [sAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc Stream #0:1[0x1a40](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s Stream #0:2[0x1a4a](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250 Stream #0:3[0x1a41](mis): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s Stream #0:4[0x1a42](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 448 kb/s Stream #0:5[0x1a43](mul): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s14.02.16 18:19:53.152 FFMPEG -async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.14.02.16 18:19:53.155 FFMPEG [h264_qsv encoder @ 000002c1e61709c0] [Eval @ 000000d52e3fe0c0] Undefined constant or missing '(' in 'ultrafast'[h264_qsv encoder @ 000002c1e61709c0] Unable to parse option value "ultrafast"[h264_qsv encoder @ 000002c1e61709c0] Error setting option preset to value ultrafast.Output #0, flv, to '\\.\pipe\Output{0EED5227-B52F-4A22-9F01-462EEA833486}': Stream #0:0: Video: h264, none, q=2-31, 128 kb/s, SAR 1:1 DAR 0:0, 25 fps Metadata: encoder : Lavc57.24.102 h264_qsv Stream #0:1(deu): Audio: aac, 0 channels, 128 kb/s Metadata: encoder : Lavc57.24.102 libfdk_aacStream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_qsv)) Stream #0:1 -> #0:1 (mp2 (native) -> aac (libfdk_aac))Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height Link to comment
feedzapper Posted February 14, 2016 Share Posted February 14, 2016 So sieht der LOG ja ganz gut aus aber warum und weshalb ? -> > 14.02.16 17:38:03.954 FFmpeg [h264_qsv @ 0000023493630b20] Error initializing an internal MFX session sieht eher nach was GLOBALEM aus... Link to comment
feedzapper Posted February 14, 2016 Share Posted February 14, 2016 aha lass mal " -preset {vpreset}" in der ffmpeg Befehlszeile raus. Damit er mal die DEFAULT Vorgaben für QSV benutzt .. Link to comment
Unreal Posted February 14, 2016 Author Share Posted February 14, 2016 Habe ich gemacht fehler bleibt aber leider bestehen. Link to comment
janee Posted February 14, 2016 Share Posted February 14, 2016 (edited) Ich zitiere mal: Intel QSV (Quick Sync Video) is a technology which allows decoding and encoding using recent Intel CPU and integrated GPU, supported on recent Intel CPUs. Note that the (CPU)GPU needs to be compatible with both QSV and OpenCL. Some (older) QSV -enabled GPUs aren't compatible with OpenCL. ... https://software.intel.com/en-us/articles/intel-sdk-for-opencl-applications-2013-release-notes Quelle: https://trac.ffmpeg.org/wiki/HWAccelIntro Wenn ich die Info bei Intel richtig verstehe, sind "1st and 2nd Generation Intel® Core™ Processors" nicht kompatibel Edited February 14, 2016 by janee Link to comment
feedzapper Posted February 14, 2016 Share Posted February 14, 2016 So wird es sein... Ist natürlich dann noch umso unschöner, weil man gerade dort den größten nutzen bei geringerer CPU Rechenleistung hätte. Link to comment
Unreal Posted February 15, 2016 Author Share Posted February 15, 2016 (edited) @ janee Danke für die info.Du hast recht ich habe noch einen anderen PC mit 3570k geht es einwandfrei. @ feedzapper danke für deine Hilfe ! Edited February 15, 2016 by Unreal Link to comment
Recommended Posts