Skip to content

Where can i add -vf 'scale_qsv=w=1920:h=1080:format=nv12' #1666

@uchagani

Description

@uchagani

Describe the bug
I'm trying to convert all videos to h264. but when converting hevc files i'm getting errors. I have hardware decoding and encoding working by using the following ffmpeg command:

/usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel 40 -hwaccel qsv -hwaccel_output_format qsv -c:v hevc_qsv -i input.mkv -vf 'scale_qsv=w=1920:h=1080:format=nv12' -c:v h264_qsv output.mp4

Command or context you are trying to run
./automator/manual.py -a -nd -i input.mkv

autoProcess.ini settings

[Converter]
ffmpeg = /usr/lib/jellyfin-ffmpeg/ffmpeg
ffprobe = /usr/lib/jellyfin-ffmpeg/ffprobe
threads = 0
hwaccels = qsv
hwaccel-decoders = h264_qsv, hevc_qsv
hwdevices = qsv:/dev/dri/renderD128
hwaccel-output-format = qsv:qsv
output-directory =
output-directory-space-ratio = 0.0
output-format = mp4
output-extension = mp4
temp-extension =
minimum-size = 0
ignored-extensions = nfo, ds_store
copy-to =
move-to =
delete-original = True
process-same-extensions = False
bypass-if-copying-all = False
force-convert = False
post-process = False
wait-post-process = False
detailed-progress = False
opts-separator = ,
preopts =
postopts =
regex-directory-replace = [^\w\-_\. ]

[Permissions]
chmod = 0644
uid = 1000
gid = 1000

[Metadata]
relocate-moov = True
full-path-guess = True
tag = True
tag-language = eng
download-artwork = poster
sanitize-disposition =
strip-metadata = False
keep-titles = False

[Video]
codec = h264qsv, h264, x264
max-bitrate = 0
bitrate-ratio =
crf = 18
crf-profiles =
preset =
codec-parameters =
dynamic-parameters = False
max-width = 0
profile = high, main, baseline
max-level = 0.0
pix-fmt = nv12, yuv420p
prioritize-source-pix-fmt = True
filter =
force-filter = False

[HDR]
codec =
pix-fmt =
space = bt2020nc
transfer = smpte2084
primaries = bt2020
preset =
codec-parameters =
filter =
force-filter = False
profile =

[Audio]
codec = ac3
languages = eng,hin,urd
default-language = eng
include-original-language = True
first-stream-of-language = False
channel-bitrate = 128
variable-bitrate = 0
max-bitrate = 0
max-channels = 0
filter =
profile =
force-filter = False
sample-rates =
sample-format =
copy-original = True
aac-adtstoasc = False
ignored-dispositions =
force-default = False
unique-dispositions = False
stream-codec-combinations =

[Audio.Sorting]
sorting = language, channels.d, map, d.comment
default-sorting = channels.d, map, d.comment
codecs =

[Universal Audio]
codec = aac
channel-bitrate = 128
variable-bitrate = 0
first-stream-only = False
filter =
profile =
force-filter = False

[Audio.ChannelFilters]
6-2 = pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE

[Subtitle]
codec =
codec-image-based =
languages =
default-language =
include-original-language = False
first-stream-of-language = False
encoding =
burn-subtitles = False
burn-dispositions =
embed-subs = True
embed-image-subs = False
embed-only-internal-subs = False
filename-dispositions = forced
ignore-embedded-subs = False
ignored-dispositions =
force-default = False
unique-dispositions = False
attachment-codec =
remove-bitstream-subs = False

[Subtitle.Sorting]
sorting = language, d.comment, d.default.d, d.forced.d
burn-sorting = language, d.comment, d.default.d, d.forced.d
codecs =

[Subtitle.CleanIt]
enabled = False
config-path =
tags =

[Subtitle.FFSubsync]
enabled = False

[Subtitle.Subliminal]
download-subs = False
download-forced-subs = False
include-hearing-impaired-subs = False
providers =

[Subtitle.Subliminal.Auth]
opensubtitles =
tvsubtitles =

[Sonarr]
host = 192.168.10.20
port = 9000
apikey = aaaaaaaaaaaa
ssl = False
webroot =
force-rename = False
rescan = True
in-progress-check = True
block-reprocess = False

[Radarr]
host = 192.168.10.20
port = 7000
apikey = aaaaaaaaaaaaa
ssl = False
webroot =
force-rename = False
rescan = True
in-progress-check = True
block-reprocess = False

[Sickbeard]
host = localhost
port = 8081
ssl = False
apikey =
webroot =
username =
password =

[Sickrage]
host = localhost
port = 8081
ssl = False
apikey =
webroot =
username =
password =

[SABNZBD]
convert = False
sickbeard-category = sickbeard
sickrage-category = sickrage
sonarr-category = sonarr
radarr-category = radarr
bypass-category = bypass
output-directory =
path-mapping =

[Deluge]
sickbeard-label = sickbeard
sickrage-label = sickrage
sonarr-label = sonarr
radarr-label = radarr
bypass-label = bypass
convert = True
host = localhost
port = 58846
username =
password =
output-directory =
remove = False
path-mapping =

[qBittorrent]
sickbeard-label = sickbeard
sickrage-label = sickrage
sonarr-label = sonarr
radarr-label = radarr
bypass-label = bypass
convert = True
action-before =
action-after =
host = localhost
port = 8080
ssl = False
username =
password =
output-directory =
path-mapping =

[uTorrent]
sickbeard-label = sickbeard
sickrage-label = sickrage
sonarr-label = sonarr
radarr-label = radarr
bypass-label = bypass
convert = True
webui = False
action-before =
action-after =
host = localhost
ssl = False
port = 8080
username =
password =
output-directory =
path-mapping =

[Plex]
username =
password =
servername =
host = localhost
port = 32400
refresh = False
token =
ssl = True
ignore-certs = False
path-mapping =

Log files

Manual processor started.
Python 64-bit 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0].
Guessit version: 3.7.1.
/usr/bin/python3
Loading default config file.
Loading config file /automator/config/autoProcess.ini.
No-delete enabled
Input IDs:
TMDBID: 1434
IMDBID: None
TVDBID: None
Using TMDB ID: 1434
Tagging language determined to be eng.
Matched TV episode as XXXXXX
Processing XXXXXXXX
Process started.
Found sdh in stream title, setting hearing_impaired disposition to True.
Input Data
{
    "format": "matroska,webm",
    "format-fullname": "Matroska / WebM",
    "video": {
        "index": 0,
        "codec": "hevc",
        "bitrate": 769397,
        "pix_fmt": "yuv420p10le",
        "profile": "main10",
        "fps": 23.976023976023978,
        "framedata": {
            "pix_fmt": "yuv420p10le",
            "side_data_list": [
                {
                    "side_data_type": "H.26[45] User Data Unregistered SEI message"
                }
            ]
        },
        "dimensions": "1920x1080",
        "level": 4.0,
        "field_order": "unknown"
    },
    "audio": [
        {
            "index": 1,
            "codec": "eac3",
            "bitrate": 256000,
            "channels": 6,
            "samplerate": 48000,
            "language": "eng",
            "disposition": "+default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions"
        }
    ],
    "subtitle": [
        {
            "index": 2,
            "codec": "subrip",
            "disposition": "-default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions",
            "language": "eng"
        },
        {
            "index": 3,
            "codec": "subrip",
            "disposition": "-default-dub-original-comment-lyrics-karaoke-forced+hearing_impaired-visual_impaired-captions",
            "language": "eng"
        }
    ],
    "attachment": []
}
Reading video stream.
Video codec detected: hevc.
Pix Fmt: yuv420p10le.
Profile: main10.
Stream is not HDR, color parameter unknown does not match ['bt2020nc'] [hdr-['bt2020nc']].
Pool of video codecs is ['h264qsv', 'h264', 'x264'].
Total bitrate is 1028977.0.
Total audio bitrate is 256000.
Estimated video bitrate is 772977.0.
Using video bitrate ratio of 1.000000, which results in 734.328150 changing to 734.328150.
Video profile is not supported. Video stream can no longer be copied [video-profile].
Overriding video pix_fmt. Codec cannot be copied because pix_fmt is not approved [pix-fmt].
Source bit-depth 10, output 8, using depth 8.
Video codec: h264qsv.
Video bitrate: 734.3281499999999.
Video CRF: 18.
Video maxrate: None.
Video bufsize: None.
Video level: 0.0.
Video profile: high.
Video preset: None.
Video pix_fmt: nv12.
Video field order: unknown.
Video width: None.
Video debug video.profile.pix_fmt.
Video codec parameters None.
Creating h264qsv video stream from source stream 0.
Reading audio streams.
The following stream indexes have been identified as being copies: [] [stream-codec-combinations].
Pool universal audio codecs is ['aac'].
Pool of audio codecs is ['ac3'].
Audio detected for stream 1 - eac3 eng 6 channel.
Found an audio filter for converting from 6 channels to 2 channels. Applying filter pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE to UA.
Audio codec: aac.
Channels: 2.
Filter: pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE.
Bitrate: 256.
VBR: 0.
Profile: None.
Language: eng.
Disposition: +default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions.
Audio codec: ac3.
Channels: 6.
Bitrate: 768.
VBR: 0.
Audio Profile: None.
Language: eng.
Filter: None.
Disposition: +default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions.
Debug: audio.
Creating ac3 audio stream from source stream 1.
Creating aac audio stream from source audio stream 1 [universal-audio].
Copying audio stream from source stream 1 format eac3 [audio-copy-original].
Purging the following streams:
[]
Found 0 streams that can be removed from the output file since they will be duplicates [stream-codec-combinations].
Triggering audio track sort [audio.sorting-sorting].
Sorting streams with keys ['language', 'channels.d', 'map', 'd.comment'].
Sorted ascending with language:
['0->0', '1->1', '2->2']
Sorted descending with channels:
['0->0', '1->2', '2->1']
Sorted ascending with map:
['0->0', '1->1', '2->2']
Sorted ascending with d.comment:
['0->0', '1->1', '2->2']
Final sorting:
['0->0', '1->2', '2->1']
Sorting streams with keys ['channels.d', 'map', 'd.comment'].
Sorted descending with channels:
['0->0', '1->1', '2->2']
Sorted ascending with map:
['0->0', '1->1', '2->2']
Sorted ascending with d.comment:
['0->0', '1->1', '2->2']
Final sorting:
['0->0', '1->1', '2->2']
Sorting audio streams for default audio stream designation.
3 total audio streams with 3 set to default disposition. 3 defaults in your preferred language (eng), 0 in other languages.
2 streams in preferred language cleared of default disposition flag from preferred language.
Default audio stream set to eng ac3 6 channel stream [audio-default-sorting: ['channels.d', 'map', 'd.comment']].
Reading subtitle streams.
Subtitle detected for stream 2 - subrip eng.

isImageBasedSubtitle FFmpeg command:
/usr/lib/jellyfin-ffmpeg/ffmpeg -i "input.mkv" -c:s:0 srt -map 0:2 -metadata:s:s:0 title= -metadata:s:s:0 handler_name= -metadata:s:s:0 language=und -disposition:s:0 -default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -f srt -t 00:00:01 -f null -
Stream 2 is text-based subtitle for codec subrip.
Subtitle detected for stream 3 - subrip eng.

isImageBasedSubtitle FFmpeg command:
/usr/lib/jellyfin-ffmpeg/ffmpeg -i "input.mkv" -c:s:0 srt -map 0:3 -metadata:s:s:0 title= -metadata:s:s:0 handler_name= -metadata:s:s:0 language=und -disposition:s:0 -default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -f srt -t 00:00:01 -f null -
Stream 3 is text-based subtitle for codec subrip.
Scanned for external subtitles and found 0 results in your approved languages.
Subtitle output is empty or no default subtitle language is set, will not pass over subtitle output to set a default stream.
Sorting streams with keys ['language', 'd.comment', 'd.default.d', 'd.forced.d'].
Final sorting:
[]
Selected hwaccel options:
['qsv']
Selected hwaccel decoder pairs:
['h264_qsv', 'hevc_qsv']
FFMPEG hwaccels:
['cuda', 'vaapi', 'qsv', 'drm', 'opencl', 'vulkan']
Input format yuv420p10le bit depth 10.
Setting hwaccel device to /dev/dri/renderD128.
qsv hwaccel is supported by this ffmpeg build and will be used [hwaccels].
Decoder: hevc_qsv.
hevc_qsv decoder is also supported by this ffmpeg build and will also be used [hwaccel-decoders].
Decoder formats:
['nv12', 'p010le', 'p012le', 'yuyv422', 'y210le', 'y212le', '0yuv', 'y410le', 'y412le', 'qsv']
Found a matching device /dev/dri/renderD128 for encoder h264qsv [hwdevices].
Device was already set by the decoder, using same device /dev/dri/renderD128 for encoder h264qsv [hwdevices].
canBypassConvert returned False.
Output Data
{
    "source": [
        "input.mkv"
    ],
    "format": "mp4",
    "video": {
        "codec": "h264qsv",
        "map": 0,
        "bitrate": 734.3281499999999,
        "crf": 18,
        "maxrate": null,
        "bufsize": null,
        "level": 0.0,
        "profile": "high",
        "preset": null,
        "pix_fmt": "nv12",
        "field_order": "unknown",
        "width": null,
        "filter": null,
        "params": null,
        "framedata": null,
        "bsf": null,
        "debug": "video.profile.pix_fmt",
        "title": "FHD",
        "device": "sma"
    },
    "audio": [
        {
            "map": 1,
            "codec": "ac3",
            "channels": 6,
            "bitrate": 768,
            "profile": null,
            "quality": 0,
            "filter": null,
            "samplerate": null,
            "sampleformat": "",
            "language": "eng",
            "disposition": "+default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions",
            "bsf": null,
            "debug": "audio",
            "title": "5.1 Channel"
        },
        {
            "map": 1,
            "codec": "copy",
            "channels": 6,
            "language": "eng",
            "disposition": "-default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions",
            "debug": "audio-copy-original",
            "title": "5.1 Channel"
        },
        {
            "map": 1,
            "codec": "aac",
            "channels": 2,
            "bitrate": 256,
            "quality": 0,
            "profile": null,
            "samplerate": null,
            "sampleformat": "",
            "filter": "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE",
            "language": "eng",
            "disposition": "-default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions",
            "debug": "universal-audio",
            "title": "Stereo"
        }
    ],
    "subtitle": [],
    "attachment": []
}
Preopts
[
    "-init_hw_device",
    "qsv=sma:/dev/dri/renderD128",
    "-hwaccel_device",
    "sma",
    "-hwaccel",
    "qsv",
    "-hwaccel_output_format",
    "qsv",
    "-vcodec",
    "hevc_qsv"
]
Postopts
[
    "-threads",
    "0",
    "-metadata:g",
    "encoding_tool=SMA"
]
Starting conversion.
Input directory: .
File name: input.
Input extension: mkv.
Output directory: .
Output extension: .
Output file: input.mp4.
Input directory: .
File name: input.
Input extension: mkv.
Output directory: .
Output extension: .
Output file: input.mp4.
Final output file: input.mp4.

FFmpeg command:
======================
/usr/lib/jellyfin-ffmpeg/ffmpeg -init_hw_device qsv=sma:/dev/dri/renderD128 -hwaccel_device sma -hwaccel qsv -hwaccel_output_format qsv -vcodec hevc_qsv -i "input.mkv" -vcodec h264_qsv -map 0:0 -pix_fmt nv12 -metadata:s:v title=FHD -metadata:s:v handler_name=FHD -global_quality 18 -profile:v high -tag:v avc1 -look_ahead 0 -c:a:0 ac3 -map 0:1 -ac:a:0 6 -b:a:0 768k -metadata:s:a:0 BPS=768000 -metadata:s:a:0 BPS-eng=768000 -metadata:s:a:0 "title=5.1 Channel" -metadata:s:a:0 "handler_name=5.1 Channel" -metadata:s:a:0 language=eng -disposition:a:0 +default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -c:a:1 copy -map 0:1 -metadata:s:a:1 "title=5.1 Channel" -metadata:s:a:1 "handler_name=5.1 Channel" -metadata:s:a:1 language=eng -disposition:a:1 -default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -c:a:2 aac -map 0:1 -ac:a:2 2 -b:a:2 256k -metadata:s:a:2 BPS=256000 -metadata:s:a:2 BPS-eng=256000 -filter:a:2 "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE" -metadata:s:a:2 title=Stereo -metadata:s:a:2 handler_name=Stereo -metadata:s:a:2 language=eng -disposition:a:2 -default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -strict experimental -f mp4 -threads 0 -metadata:g encoding_tool=SMA -y "input.mp4"
======================
[                    ] 0% Error converting file, FFMPEG error.
Traceback (most recent call last):
  File "/automator/resources/mediaprocessor.py", line 2314, in convert
    for timecode, debug in conv:
  File "/automator/converter/__init__.py", line 329, in convert
    for timecode, debug in self.ffmpeg.convert(outfile,
  File "/automator/converter/ffmpeg.py", line 795, in convert
    raise FFMpegConvertError('Exited with code %d' % p.returncode, cmd,
converter.ffmpeg.FFMpegConvertError: <unprintable FFMpegConvertError object>
/usr/lib/jellyfin-ffmpeg/ffmpeg -init_hw_device qsv=sma:/dev/dri/renderD128 -hwaccel_device sma -hwaccel qsv -hwaccel_output_format qsv -vcodec hevc_qsv -i input.mkv -vcodec h264_qsv -map 0:0 -pix_fmt nv12 -metadata:s:v title=FHD -metadata:s:v handler_name=FHD -global_quality 18 -profile:v high -tag:v avc1 -look_ahead 0 -c:a:0 ac3 -map 0:1 -ac:a:0 6 -b:a:0 768k -metadata:s:a:0 BPS=768000 -metadata:s:a:0 BPS-eng=768000 -metadata:s:a:0 title=5.1 Channel -metadata:s:a:0 handler_name=5.1 Channel -metadata:s:a:0 language=eng -disposition:a:0 +default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -c:a:1 copy -map 0:1 -metadata:s:a:1 title=5.1 Channel -metadata:s:a:1 handler_name=5.1 Channel -metadata:s:a:1 language=eng -disposition:a:1 -default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -c:a:2 aac -map 0:1 -ac:a:2 2 -b:a:2 256k -metadata:s:a:2 BPS=256000 -metadata:s:a:2 BPS-eng=256000 -filter:a:2 pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE -metadata:s:a:2 title=Stereo -metadata:s:a:2 handler_name=Stereo -metadata:s:a:2 language=eng -disposition:a:2 -default-dub-original-comment-lyrics-karaoke-forced-hearing_impaired-visual_impaired-captions -strict experimental -f mp4 -threads 0 -metadata:g encoding_tool=SMA -y input.mp4
ffmpeg version 5.1.3-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, matroska,webm, from 'input.mkv':
  Metadata:
    title           :
    ENCODER         : Lavf58.45.100
  Duration: 00:21:38.11, start: 0.000000, bitrate: 1028 kb/s
  Chapters:
    Chapter #0:0: start 405.020000, end 957.015000
      Metadata:
        title           : Chapter 1
    Chapter #0:1: start 957.015000, end 1209.022000
      Metadata:
        title           : Chapter 2
    Chapter #0:2: start 1209.022000, end 1298.112000
      Metadata:
        title           : Chapter 3
  Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      title           : Encoded by Goki for TAoE using Choryu V16bw
      ENCODER         : Lavc58.91.100 libx265
      BPS             : 769397
      BPS-eng         : 769397
      DURATION        : 00:21:38.004708333
      DURATION-eng    : 00:21:38.004708333
      NUMBER_OF_FRAMES: 31121
      NUMBER_OF_FRAMES-eng: 31121
      NUMBER_OF_BYTES : 124835068
      NUMBER_OF_BYTES-eng: 124835068
      _STATISTICS_WRITING_APP: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-12-20 23:11:32
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-12-20 23:11:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 256 kb/s (default)
    Metadata:
      title           :
      BPS             : 256006
      BPS-eng         : 256006
      DURATION        : 00:21:38.080000000
      DURATION-eng    : 00:21:38.080000000
      NUMBER_OF_FRAMES: 40566
      NUMBER_OF_FRAMES-eng: 40566
      NUMBER_OF_BYTES : 41539584
      NUMBER_OF_BYTES-eng: 41539584
      _STATISTICS_WRITING_APP: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-12-20 23:11:32
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-12-20 23:11:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(eng): Subtitle: subrip
    Metadata:
      BPS             : 106
      BPS-eng         : 106
      DURATION        : 00:20:59.618000000
      DURATION-eng    : 00:20:59.618000000
      NUMBER_OF_FRAMES: 464
      NUMBER_OF_FRAMES-eng: 464
      NUMBER_OF_BYTES : 16788
      NUMBER_OF_BYTES-eng: 16788
      _STATISTICS_WRITING_APP: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-12-20 23:11:32
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-12-20 23:11:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3(eng): Subtitle: subrip
    Metadata:
      title           : SDH
      BPS             : 111
      BPS-eng         : 111
      DURATION        : 00:20:59.618000000
      DURATION-eng    : 00:20:59.618000000
      NUMBER_OF_FRAMES: 482
      NUMBER_OF_FRAMES-eng: 482
      NUMBER_OF_BYTES : 17505
      NUMBER_OF_BYTES-eng: 17505
      _STATISTICS_WRITING_APP: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvpropedit v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-12-20 23:11:32
      _STATISTICS_WRITING_DATE_UTC-eng: 2021-12-20 23:11:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (hevc_qsv) -> h264 (h264_qsv))
  Stream #0:1 -> #0:1 (eac3 (native) -> ac3 (native))
  Stream #0:1 -> #0:2 (copy)
  Stream #0:1 -> #0:3 (eac3 (native) -> aac (native))
Press [q] to stop, [?] for help
Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scale_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 @ 0x56313dd8bfc0] Qavg: 48851.594
[aac @ 0x56313dd8bfc0] 2 frames left in the queue on closing
Conversion failed!

input.mp4 deleted.
Error converting, no outputfile generated for inputfile input.mkv.
There was an error processing file input.mkv, no output data received

FFMpeg headers

ffmpeg version 5.1.3-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04.1)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100

System Information

  • OS: Ubuntu
  • Python version 3.10.6
  • Docker config (if relevant)

Expected behavior
hevc_qsv is used for decoding and h264_qsv is used for encoding

Additional context
I have it working with the following ffmpeg command:

/usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel qsv -hwaccel_output_format qsv -c:v hevc_qsv -i input.mkv -vf 'scale_qsv=w=1920:h=1080:format=nv12' -c:v h264_qsv output.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions