[FFmpeg-user] How to use deinterlace_qsv filter with ffmpeg command on Windows

redsks redsks at yeah.net
Tue Sep 19 12:27:41 EEST 2017


Hi Moritz Barsnick,

Thanks.

Sorry for that the information I provided has something wrong, may be I lost
something, please  regardless of it, the followings are what I want to say:

    I can not run "deinterlace_qsv" filter on both linux and windows. 

My linux OS is "CentOS Linux release 7.2.1511 (Core) " with Intel Media SDK
installed which can run intel modules.

I have comiled the ffmpeg with libmfx.lib  and the filters include the
"deinterlace_qsv":

* ~]# ./ffmpeg -filters | grep qsv
ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.7.3 (Gentoo 4.7.3-r1 p1.4, pie-0.5.5)
  configuration:
--prefix=/data/albert/svn/gentoo/trunk/products/tvuencoder/modules/tvu264/tvu264/prj/ffmpeg-3.3.4/../../release
--enable-libx264 --enable-libmfx --enable-debug --enable-gpl
--enable-nonfree
--extra-cflags='-I/data/albert/svn/gentoo/trunk/products/tvuencoder/modules/tvu264/tvu264/prj/ffmpeg-3.3.4/../../../3rdlocal64/include
-I/data/albert/svn/gentoo/trunk/products/tvuencoder/modules/tvu264/tvu264/prj/ffmpeg-3.3.4/../../externals_local64/include
-pthread
-I/data/albert/svn/gentoo/trunk/products/tvuencoder/modules/tvu264/tvu264/prj/ffmpeg-3.3.4/../../../3rdlocal64/include/libdrm
-I/data/albert/svn/gentoo/trunk/products/tvuencoder/modules/tvu264/tvu264/prj/ffmpeg-3.3.4/../../../3rdlocal64/include/mfx'
--extra-ldflags='-L/data/albert/svn/gentoo/trunk/products/tvuencoder/modules/tvu264/tvu264/prj/ffmpeg-3.3.4/../../../3rdlocal64/lib
-L/data/albert/svn/gentoo/trunk/products/tvuencoder/modules/tvu264/tvu264/prj/ffmpeg-3.3.4/../../externals_local64/lib
' --extra-libs='-lrt -ldl -lmfx -lva -lstdc++ -ldl -lva-drm -ldrm -lm -lbz2
-lz -pthread'
  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
  libpostproc    54.  5.100 / 54.  5.100
 ... deinterlace_qsv   V->V       QuickSync video deinterlacing
 ... scale_qsv         V->V       QuickSync video scaling and format
conversion*


Then I used the command line:

*./ffmpeg -qsv_device /dev/dri/renderD128   -hwaccel qsv
-hwaccel_output_format qsv  -i basketball.ts -map 0:v:0 -map 0:a:0    -vf
"deinterlace_qsv" -vcodec h264_qsv  -preset veryfast -profile:v baseline
-level 3.0 -async_depth 1 -b:v 600K -maxrate 20000K -look_ahead 0 -g 30
-strict -2 -acodec aac -ab 64K -ar 44100 -ac 2  -vsync -1 -f flv  -y
test.flv*


It output the following information:

 * libpostproc    54.  5.100 / 54.  5.100
Input #0, mpegts, from 'basketball.ts':
  Duration: 00:06:00.02, start: 1.400000, bitrate: 16003 kb/s
  Program 1 
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B),
yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr,
90k tbn, 59.94 tbc
    Stream #0:1[0x101]: Audio: mp3 ([3][0][0][0] / 0x0003), 48000 Hz,
stereo, s16p, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_qsv))
  Stream #0:1 -> #0:1 (mp3 (native) -> aac (native))
Press [q] to stop, [?] for help
Impossible to convert between the formats supported by the filter 'graph 0
input from stream 0:0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0
[aac @ 0x3b020e0] Qavg: 7652.412
[aac @ 0x3b020e0] 2 frames left in the queue on closing
Conversion failed!*

If I remove "-vf 'deinterlace_qsv' ", it can work. So if I want to do
de-interlace with "deinterlace_qsv" filter,  What is the correct command for
it? Do I lose something?

Thanks.







--
Sent from: http://www.ffmpeg-archive.org/


More information about the ffmpeg-user mailing list