Jump to content

Intel Quick Sync and ServerWMC (live and recorded) transcoding problems


wmichael3

Recommended Posts

wmichael3

I have managed to get Intel QuickSync to successfully work on my ripped h264 m2ts movies but it fails on any WMC live or recorded TV.  Turning off QSV restores functional transcoding but pegs my Intel NUC i3 server - win7x64.  I'm using an HD Homerun Prime as a tuner.  Video is HD 4000 (Ivy Bridge), supporting the Media SDK in hardware through version 1.11.  I'm using the latest downloaded 64 bit ffmpeg and Emby 3.2.1.0.

 

From the log file, the QuickSync logs start with a large number of these errors:

 

[h264 @ 000000000043d020] SPS unavailable in decode_picture_timing
[h264 @ 000000000043d020] non-existing PPS 0 referenced
[h264 @ 000000000043d020] SPS unavailable in decode_picture_timing
[h264 @ 000000000043d020] non-existing PPS 0 referenced
[h264 @ 000000000043d020] decode_slice_header error
[h264 @ 000000000043d020] no frame!
[

 

These eventually stop then there is this:

 

Input #0, mpegts, from 'http://192.168.1.133:9180/serverwmc.stream/StreamRemuxFile?clientName=Emby%5eHOMESERVER2%5e29':
Duration: N/A, start: 1.333000, bitrate: N/A
Program 1
Stream #0:0[0x1100](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:1[0x1011]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [sAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Output #0, hls, to 'D:\Temp\transcoding-temp\99024ae6e42258c29ead36873b8801f5.m3u8':
Metadata:
encoder : Lavf57.66.102
Stream #0:0: Video: h264 (h264_qsv), nv12, 1280x720 [sAR 1:1 DAR 16:9], q=2-31, 3000 kb/s, 59.94 fps, 90k tbn, 59.94 tbc
Metadata:
encoder : Lavc57.81.100 h264_qsv
Side data:
cpb: bitrate max/min/avg: 3000000/0/3000000 buffer size: 6000000 vbv_delay: -1
Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp, 384 kb/s
Metadata:
encoder : Lavc57.81.100 aac
Stream mapping:
Stream #0:1 -> #0:0 (h264 (h264_qsv) -> h264 (h264_qsv))
Stream #0:0 -> #0:1 (ac3 (native) -> aac (native))

 

And then an infinitely looping series of these errors:

 

[NULL @ 0000000003b5afc0] SPS unavailable in decode_picture_timing
[NULL @ 0000000003b5afc0] non-existing PPS 0 referenced
[h264_qsv @ 00000000032248a0] Decoding pixel format '(null)' is not supported
Error while decoding stream #0:1: Function not implemented

 

These go on until I kill the stream - no picture or audio ever.

 

Any thoughts as to how to get QSV working for live/recorded TV transcoding?  On my ripped recordings it works great and recovers 50% of my CPU load.

 

Link to comment
Share on other sites

wmichael3

Something else I noticed - I can successfully use ffmpeg to convert a WMC recording without error using QSV, but when I try and stream the same recording via Emby using QSV it fails. My test uses no switches except "-vcodec h264_qsv -q 5 -look_ahead 0" to output to mp4.

 

Here is what Emby did:

 

C:\Program Files\ffmpeg\ffmpeg.exe -c:v mpeg2_qsv -i "http://192.168.1.133:9180/serverwmc.stream/StreamRemuxFile?clientName=Emby%5eHOMESERVER2%5e31" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:2 -map 0:0 -map -0:s -codec:v:0 h264_qsv -preset 7 -look_ahead 0 -b:v 8000000 -maxrate 8000000 -bufsize 16000000 -vsync -1 -profile:v high -level 4.1 -force_key_frames "expr:gte(t,n_forced*3)" -vf "yadif=0:-1:0" -flags -global_header -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -codec:a:0 aac -strict experimental -ac 6 -ab 384000 -af "adelay=1,aresample=async=1" -hls_time 3 -individual_header_trailer 0 -start_number 0 -hls_list_size 0 -hls_base_url "hls/6e6e299f96e97e88c003e67c307ec87d/" -y "D:\Temp\transcoding-temp\6e6e299f96e97e88c003e67c307ec87d.m3u8"

 

Link to comment
Share on other sites

wmichael3
Here it the log until it errors - this is a different one than I originally posted.  The remainder of the file is identical to the repeating error block.

 


 

{"Protocol":"Http","Id":"31","Path":"http://192.168.1.133:9180/serverwmc.stream/StreamRemuxFile?clientName=Emby%5eHOMESERVER2%5e31","Type":"Default","Container":"mpegts","IsRemote":false,"ReadAtNativeFramerate":false,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":true,"RequiresClosing":true,"SupportsProbing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_b4dc767f31fd4807454a2676b13be5fd_31","MediaStreams":[{"Codec":"ac3","Language":"eng","TimeBase":"1/90000","CodecTimeBase":"1/48000","DisplayTitle":"EngDolby Digital 5.1","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":384000,"Channels":6,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"ac3","Language":"spa","TimeBase":"1/90000","CodecTimeBase":"1/48000","DisplayTitle":"Spa Dolby Digital stereo","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":192000,"Channels":2,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0},{"Codec":"mpeg2video","TimeBase":"1/90000","CodecTimeBase":"1001/30000","IsInterlaced":true,"BitRate":8000000,"RefFrames":1,"IsDefault":false,"IsForced":false,"Height":1080,"Width":1920,"AverageFrameRate":29.97003,"RealFrameRate":29.97003,"Profile":"Main","Type":"Video","AspectRatio":"16:9","Index":2,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":4,"IsAnamorphic":false}],"PlayableStreamFileNames":[],"Formats":[],"Bitrate":8576000,"RequiredHttpHeaders":{},"DefaultAudioStreamIndex":0}

 

C:\Program Files\ffmpeg\ffmpeg.exe -c:v mpeg2_qsv  -i "http://192.168.1.133:9180/serverwmc.stream/StreamRemuxFile?clientName=Emby%5eHOMESERVER2%5e31"-map_metadata -1 -map_chapters -1 -threads 0 -map 0:2 -map 0:0 -map -0:s -codec:v:0 h264_qsv -preset 7 -look_ahead 0 -b:v 8000000 -maxrate 8000000 -bufsize 16000000 -vsync -1 -profile:v high -level 4.1 -force_key_frames "expr:gte(t,n_forced*3)" -vf "yadif=0:-1:0" -flags -global_header -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -codec:a:0 aac -strict experimental -ac 6 -ab 384000 -af "adelay=1,aresample=async=1" -hls_time 3 -individual_header_trailer 0 -start_number 0 -hls_list_size 0 -hls_base_url "hls/6e6e299f96e97e88c003e67c307ec87d/" -y "D:\Temp\transcoding-temp\6e6e299f96e97e88c003e67c307ec87d.m3u8"

 

 

ffmpeg version N-83622-gdcd3418 Copyright © 2000-2017 the FFmpeg developers

  built with gcc 5.4.0 (GCC)

  configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib

  libavutil      55. 47.100 / 55. 47.100

  libavcodec     57. 81.100 / 57. 81.100

  libavformat    57. 66.102 / 57. 66.102

  libavdevice    57.  2.100 / 57.  2.100

  libavfilter     6. 73.100 /  6. 73.100

  libswscale      4.  3.101 /  4.  3.101

  libswresample   2.  4.100 /  2.  4.100

  libpostproc    54.  2.100 / 54.  2.100

[mpeg2video @ 000000000030f0a0] Invalid frame dimensions 0x0.

    Last message repeated 2 times

[mpegts @ 000000000068b000] DTS 232470 < 235530 out of order

[mpeg2video @ 000000000030f0a0] Invalid frame dimensions 0x0.


  Duration: N/A, start: 1.800000, bitrate: N/A

  Program 1 

    Stream #0:0[0x1100](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s

    Stream #0:1[0x1101](spa): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s

    Stream #0:2[0x1011]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1920x1080 [sAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc

Output #0, hls, to 'D:\Temp\transcoding-temp\6e6e299f96e97e88c003e67c307ec87d.m3u8':

  Metadata:

    encoder         : Lavf57.66.102

    Stream #0:0: Video: h264 (h264_qsv), nv12, 1920x1080 [sAR 1:1 DAR 16:9], q=2-31, 8000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc

    Metadata:

      encoder         : Lavc57.81.100 h264_qsv

    Side data:

      cpb: bitrate max/min/avg: 8000000/0/8000000 buffer size: 16000000 vbv_delay: -1

    Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp, 384 kb/s

    Metadata:

      encoder         : Lavc57.81.100 aac

Stream mapping:

  Stream #0:2 -> #0:0 (mpeg2video (mpeg2_qsv) -> h264 (h264_qsv))

  Stream #0:0 -> #0:1 (ac3 (native) -> aac (native))

Press [q] to stop, [?] for help

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented

[mpeg2_qsv @ 000000000323af00] Decoding pixel format '(null)' is not supported

Error while decoding stream #0:2: Function not implemented
Link to comment
Share on other sites

  • 2 months later...
Bigjohns97

Came across this issue today trying to watch a WTV recording over the internet at work.

 

Same exact issue wmichael is seeing

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...