Jump to content

Streaming mit GPU Beschleunigung ?


Unreal

Recommended Posts

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 by Unreal
Link to comment

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 :innocent: ) 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

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

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

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

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

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=1280
maxHeight_IPhone=720
maxWidth_IPad=1280
maxHeight_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

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

-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

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

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 by feedzapper
Link to comment

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

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

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

@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

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 by Frank Sommer
Link to comment

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
(runterscrollen zu "hwaccel und qsv")
also wo soll ich nun hochladen ?
Edited by feedzapper
Link to comment

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
  • 4 weeks later...

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

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 by janee
Link to comment

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

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 by feedzapper
Link to comment

Hier mal meine SVCDEBUG Log

----------------------------------------

 

14.02.16 17:48:15.079 TDVBHTTPClient ($076C07F0) DoFlashStream preset=7&ffpreset=veryfast&chid=1
14.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.36
14.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.100
14.02.16 17:48:15.120 TStreamManager Getdocument RequestHeader User-Agent: Lavf/57.25.100
Accept: */*
Range: bytes=0-
Connection: close
Host: 127.0.0.1:7522
Icy-MetaData: 1

 

14.02.16 17:38:01.210 TStreamManager Getdocument Document c:\wwwroot\upnp\channelstream\transcode\2359890582721931325|Das Erste HD.ts
14.02.16 17:38:01.210 TStreamManager Getdocument Params
14.02.16 17:38:01.233 TBDADigitalDevices Opendevice bvDigitalDevices
14.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: 24
14.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 2
14.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 session
Output #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_aac
Stream 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 by Unreal
Link to comment

14.02.16 18:19:52.988 TDVBHTTPClient ($07600E80) DoFlashStream preset=7&ffpreset=ultrafast&recid=67
14.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.36
14.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.100
14.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 2
14.02.16 18:19:53.149 FFMPEG [mpegts @ 000002c1e3180b80] PES packet size mismatch
Last message repeated 3 times
Input #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/s
14.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_aac
Stream 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

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

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 by janee
Link to comment

@ 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 by Unreal
Link to comment
×
×
  • Create New...