[FFmpeg-trac] #6418(undetermined:new): ffmpeg QSV doesnt work with live streams

FFmpeg trac at avcodec.org
Wed May 24 23:57:56 EEST 2017


#6418: ffmpeg QSV doesnt work with live streams
-------------------------------------+-------------------------------------
             Reporter:  rycius       |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  qsv          |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 How to reproduce:
 {{{
 % ffmpeg  -hwaccel qsv -c:v mpeg2_qsv -i udp://@239.0.1.1:1234 -c:v
 h264_qsv -b:v 3M -maxrate 3M -look_ahead 0 -c:a copy -f mpegts
 udp://127.0.0.1:1234
 ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
   configuration: --enable-libmfx --enable-nonfree --enable-ffplay
   libavutil      55. 58.100 / 55. 58.100
   libavcodec     57. 89.100 / 57. 89.100
   libavformat    57. 71.100 / 57. 71.100
   libavdevice    57.  6.100 / 57.  6.100
   libavfilter     6. 82.100 /  6. 82.100
   libswscale      4.  6.100 /  4.  6.100
   libswresample   2.  7.100 /  2.  7.100
 [mpeg2video @ 0x36c6220] Invalid frame dimensions 0x0.
     Last message repeated 12 times
 Input #0, mpegts, from 'udp://@239.0.1.1:1234':
   Duration: N/A, start: 22672.662644, bitrate: 4218 kb/s
   Program 157
     Metadata:
       service_name    : Info tv
       service_provider: Noname
     Stream #0:0[0x623]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 4026 kb/s, 25 fps,
 25 tbr, 90k tbn, 50 tbc
     Stream #0:1[0x624]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, s16p, 192 kb/s (clean effects)
 Stream mapping:
   Stream #0:0 -> #0:0 (mpeg2video (mpeg2_qsv) -> h264 (h264_qsv))
   Stream #0:1 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 [mpeg2_qsv @ 0x36cd100] Decoding pixel format '(null)' is not supported
 Error while decoding stream #0:0: Function not implemented
 Too many packets buffered for output stream 0:1.
 Conversion failed!
 }}}
 If i dump a stream to file:
 {{{
 % ffmpeg -i udp://@239.0.1.1:1234 -map 0 -c copy -f mpegts test_stream.ts
 ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
   configuration: --enable-libmfx --enable-nonfree --enable-ffplay
   libavutil      55. 58.100 / 55. 58.100
   libavcodec     57. 89.100 / 57. 89.100
   libavformat    57. 71.100 / 57. 71.100
   libavdevice    57.  6.100 / 57.  6.100
   libavfilter     6. 82.100 /  6. 82.100
   libswscale      4.  6.100 /  4.  6.100
   libswresample   2.  7.100 /  2.  7.100
 [mpeg2video @ 0x258d000] Invalid frame dimensions 0x0.
     Last message repeated 13 times
 Input #0, mpegts, from 'udp://@239.0.1.1:1234':
   Duration: N/A, start: 22881.846644, bitrate: 4218 kb/s
   Program 157
     Metadata:
       service_name    : Info tv
       service_provider: Noname
     Stream #0:0[0x623]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 4026 kb/s, 25 fps,
 25 tbr, 90k tbn, 50 tbc
     Stream #0:1[0x624]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, s16p, 192 kb/s (clean effects)
 Output #0, mpegts, to 'test_stream.ts':
   Metadata:
     encoder         : Lavf57.71.100
     Stream #0:0: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], q=2-31, 4026 kb/s,
 25 fps, 25 tbr, 90k tbn, 90k tbc
     Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo,
 s16p, 192 kb/s (clean effects)
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 frame=  400 fps= 35 q=-1.0 Lsize=    8928kB time=00:00:16.90
 bitrate=4326.9kbits/s speed=1.46x
 video:7864kB audio:389kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 8.178244%
 }}}
 and then try to transcode and stream it - it works, dont pay attention to
 errors, i know it's a bug wih qsv interlaced video encoding.
 {{{
 ffmpeg -hwaccel qsv -c:v mpeg2_qsv -i test_stream.ts -c:v h264_qsv -b:v 3M
 -maxrate 3M -look_ahead 0 -c:a copy -f mpegts udp://127.0.0.1:1234
 ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
   configuration: --enable-libmfx --enable-nonfree --enable-ffplay
   libavutil      55. 58.100 / 55. 58.100
   libavcodec     57. 89.100 / 57. 89.100
   libavformat    57. 71.100 / 57. 71.100
   libavdevice    57.  6.100 / 57.  6.100
   libavfilter     6. 82.100 /  6. 82.100
   libswscale      4.  6.100 /  4.  6.100
   libswresample   2.  7.100 /  2.  7.100
 Input #0, mpegts, from 'test_stream.ts':
   Duration: 00:00:17.06, start: 1.400000, bitrate: 4286 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
     Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 4026 kb/s, 25 fps,
 25 tbr, 90k tbn, 50 tbc
     Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, s16p, 192 kb/s (clean effects)
 Stream mapping:
   Stream #0:0 -> #0:0 (mpeg2video (mpeg2_qsv) -> h264 (h264_qsv))
   Stream #0:1 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 libva info: VA-API version 0.99.0
 libva info: va_getDriverName() returns 0
 libva info: User requested driver 'iHD'
 libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
 libva info: Found init function __vaDriverInit_0_32
 libva info: va_openDriver() returns 0
 Output #0, mpegts, to 'udp://127.0.0.1:1234':
   Metadata:
     encoder         : Lavf57.71.100
     Stream #0:0: Video: h264 (h264_qsv), qsv, 720x576 [SAR 64:45 DAR
 16:9], q=2-31, 3000 kb/s, 25 fps, 90k tbn, 25 tbc
     Metadata:
       encoder         : Lavc57.89.100 h264_qsv
     Side data:
       cpb: bitrate max/min/avg: 3000000/0/3000000 buffer size: 0
 vbv_delay: -1
     Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo,
 s16p, 192 kb/s (clean effects)
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 18 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 154800, current: 136800; changing to 154801. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 154801, current: 151200; changing to 154802. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 6 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 187200, current: 187200; changing to 187201. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 15 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 248400, current: 248400; changing to 248401. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 11 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 295200, current: 295200; changing to 295201. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 15 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 356400, current: 356400; changing to 356401. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 11 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 403200, current: 403200; changing to 403201. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 15 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 464400, current: 464400; changing to 464401. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 11 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 511200, current: 511200; changing to 511201. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 15 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 572400, current: 572400; changing to 572401. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 11 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 619200, current: 619200; changing to 619201. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 15 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 680400, current: 680400; changing to 680401. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 11 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 727200, current: 727200; changing to 727201. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 15 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 788400, current: 788400; changing to 788401. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 11 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 835200, current: 835200; changing to 835201. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 15 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 896400, current: 896400; changing to 896401. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 23 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 990000, current: 990000; changing to 990001. This may result in incorrect
 timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 1 times
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5) speed=22.9x
     Last message repeated 13 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 1054800, current: 1054800; changing to 1054801. This may result in
 incorrect timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 13 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 1108800, current: 1108800; changing to 1108801. This may result in
 incorrect timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 27 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 1216800, current: 1216800; changing to 1216801. This may result in
 incorrect timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 27 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 1324800, current: 1324800; changing to 1324801. This may result in
 incorrect timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 27 times
 [mpegts @ 0x3da97a0] Non-monotonous DTS in output stream 0:0; previous:
 1432800, current: 1432800; changing to 1432801. This may result in
 incorrect timestamps in the output file.
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
     Last message repeated 13 times
 [mpeg2_qsv @ 0x3da8840] A decode call did not consume any data: expect
 more data at input (-10)
     Last message repeated 1 times
 [h264_qsv @ 0x3dcd420] Warning during encoding: incompatible video
 parameters (5)
 [mpeg2_qsv @ 0x3da8840] A decode call did not consume any data: expect
 more data at input (-10)
     Last message repeated 1 times
 frame=  368 fps=0.0 q=-0.0 Lsize=    6210kB time=00:00:16.92
 bitrate=3006.8kbits/s dup=0 drop=5 speed=22.1x
 video:5322kB audio:389kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 8.741579%
 }}}
 If i try to use software decoder, and qsv encoder, i get partial HW
 acceleration, in practice it's software because and get load on CPU and no
 GPU:
 {{{
 ffmpeg -i udp://@239.0.1.1:1234 -vf yadif -c:v h264_qsv -b:v 3M -maxrate
 3M -look_ahead 0 -c:a copy -f mpegts udp://127.0.0.1:1234
 ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
   configuration: --enable-libmfx --enable-nonfree --enable-ffplay
   libavutil      55. 58.100 / 55. 58.100
   libavcodec     57. 89.100 / 57. 89.100
   libavformat    57. 71.100 / 57. 71.100
   libavdevice    57.  6.100 / 57.  6.100
   libavfilter     6. 82.100 /  6. 82.100
   libswscale      4.  6.100 /  4.  6.100
   libswresample   2.  7.100 /  2.  7.100
 [mpeg2video @ 0x2e1d000] Invalid frame dimensions 0x0.
     Last message repeated 1 times
 Input #0, mpegts, from 'udp://@239.0.1.1:1234':
   Duration: N/A, start: 23492.598644, bitrate: 4218 kb/s
   Program 157
     Metadata:
       service_name    : Info tv
       service_provider: Noname
     Stream #0:0[0x623]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 4026 kb/s, 25 fps,
 25 tbr, 90k tbn, 50 tbc
     Stream #0:1[0x624]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, s16p, 192 kb/s (clean effects)
 Stream mapping:
   Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_qsv))
   Stream #0:1 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 [h264_qsv @ 0x2e119a0] Warning in encoder initialization: partial
 acceleration (4)
 Output #0, mpegts, to 'udp://127.0.0.1:1234':
   Metadata:
     encoder         : Lavf57.71.100
     Stream #0:0: Video: h264 (h264_qsv), nv12, 720x576 [SAR 64:45 DAR
 16:9], q=2-31, 3000 kb/s, 25 fps, 90k tbn, 25 tbc
     Metadata:
       encoder         : Lavc57.89.100 h264_qsv
     Side data:
       cpb: bitrate max/min/avg: 3000000/0/3000000 buffer size: 0
 vbv_delay: -1
     Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo,
 s16p, 192 kb/s (clean effects)
 frame=  272 fps= 44 q=-0.0 Lsize=    4486kB time=00:00:11.28
 bitrate=3258.0kbits/s speed=1.83x
 video:3864kB audio:262kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 8.732510%
 }}}

 Tested on OS:
 Ubuntu 16.04LTS + Intel Media SDK 2017 r2
 Centos 7.2.1511 + Intel Media SDK 2017 r2
 Centos 7.1.1503 + Intel Media SDK 2016

 {{{
 % vainfo
 error: can't connect to X server!
 libva info: VA-API version 0.99.0
 libva info: va_getDriverName() returns 0
 libva info: User requested driver 'iHD'
 libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
 libva info: Found init function __vaDriverInit_0_32
 libva info: va_openDriver() returns 0
 vainfo: VA-API version: 0.99 (libva 1.67.0.pre1)
 vainfo: Driver version: 16.5.1.59511-ubit
 vainfo: Supported profile and entrypoints
       VAProfileH264ConstrainedBaseline: VAEntrypointVLD
       VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
       VAProfileH264ConstrainedBaseline: <unknown entrypoint>
       VAProfileH264ConstrainedBaseline: <unknown entrypoint>
       VAProfileH264Main               : VAEntrypointVLD
       VAProfileH264Main               : VAEntrypointEncSlice
       VAProfileH264Main               : <unknown entrypoint>
       VAProfileH264Main               : <unknown entrypoint>
       VAProfileH264High               : VAEntrypointVLD
       VAProfileH264High               : VAEntrypointEncSlice
       VAProfileH264High               : <unknown entrypoint>
       VAProfileH264High               : <unknown entrypoint>
       VAProfileMPEG2Simple            : VAEntrypointEncSlice
       VAProfileMPEG2Simple            : VAEntrypointVLD
       VAProfileMPEG2Main              : VAEntrypointEncSlice
       VAProfileMPEG2Main              : VAEntrypointVLD
       VAProfileVC1Advanced            : VAEntrypointVLD
       VAProfileVC1Main                : VAEntrypointVLD
       VAProfileVC1Simple              : VAEntrypointVLD
       VAProfileJPEGBaseline           : VAEntrypointVLD
       VAProfileJPEGBaseline           : VAEntrypointEncPicture
       VAProfileVP8Version0_3          : VAEntrypointEncSlice
       VAProfileVP8Version0_3          : VAEntrypointVLD
       VAProfileVP8Version0_3          : <unknown entrypoint>
       VAProfileVP9Profile0            : <unknown entrypoint>
       <unknown profile>               : VAEntrypointVideoProc
       VAProfileNone                   : VAEntrypointVideoProc
       VAProfileNone                   : <unknown entrypoint>
 }}}
 {{{
 sys_analyzer_linux.py
 --------------------------
 Hardware readiness checks:
 --------------------------
  [ OK ] Processor name: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
 --------------------------
 OS readiness checks:
 --------------------------
  [ OK ] GPU visible to OS
 --------------------------
 Intel(R) Media Server Studio Install:
 --------------------------
  [ OK ] user in video group
  [ OK ] libva.so.1 found
  [ OK ] vainfo reports valid codec entry points
  [ OK ] /dev/dri/renderD128 connects to Intel i915

 --------------------------
 Media SDK Plugins available:
 (for more info see /opt/intel/mediasdk/plugins/plugins.cfg)
 --------------------------
     H264LA Encoder      = 588f1185d47b42968dea377bb5d0dcb4
     VP8 Decoder         = f622394d8d87452f878c51f2fc9b4131
     HEVC Decoder        = 33a61c0b4c27454ca8d85dde757c6f8e
     HEVC Encoder        = 6fadc791a0c2eb479ab6dcd5ea9da347
 --------------------------
 Component Smoke Tests:
 --------------------------
  [ OK ] Media SDK HW API level:1.21
  [ OK ] Media SDK SW API level:1.21
  [ OK ] OpenCL check:platform:Intel(R) OpenCL GPU OK CPU FAIL
 }}}

 I have tested the same transcoding scenarios with ffmpeg 2.8.11 and it
 works in all cases.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6418>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list