Hello!
I am currently trying to setup Ersatztv and I have been getting the following error when previewing a channel:
2024-06-01 22:14:20.501 -04:00 [ERR] HLS process for channel 4 has terminated unsuccessfully with exit code -40: Impossible to convert between the formats supported by the filter 'Parsed_hwupload_3' and the filter 'auto_scale_0'
[fc#0 @ 000001fda95eb140] Error reinitializing filters!
[fc#0 @ 000001fda95eb140] Task finished with error code: -40 (Function not implemented)
[fc#0 @ 000001fda95eb140] Terminating thread with return code -40 (Function not implemented)
[vost#0:0/h264_qsv @ 000001fdaf736300] Could not open encoder before EOF
[vost#0:0/h264_qsv @ 000001fdaf736300] Task finished with error code: -22 (Invalid argument)
[vost#0:0/h264_qsv @ 000001fdaf736300] Terminating thread with return code -22 (Invalid argument)
[aost#0:1/aac @ 000001fdaf6b0300] Could not open encoder before EOF
[aost#0:1/aac @ 000001fdaf6b0300] Task finished with error code: -22 (Invalid argument)
[aost#0:1/aac @ 000001fdaf6b0300] Terminating thread with return code -22 (Invalid argument)
[out#0/hls @ 000001fda9615dc0] Nothing was written into output file, because at least one of its streams received no packets.
2024-06-01 22:15:55.107 -04:00 [INF] Terminating HLS session for channel 4
I have also seen this error as well:
[ERR] HLS process for channel 2 has terminated unsuccessfully with exit code -40: [mp3float @ 0000015fafdc7000] Header missing
[aist#1:1/mp3 @ 0000015fafdb3180] [dec:mp3float @ 0000015fafc97180] Error submitting packet to decoder: Invalid data found when processing input
Impossible to convert between the formats supported by the filter 'Parsed_hwupload_3' and the filter 'auto_scale_0'
[fc#0 @ 0000015fa9df15c0] Error reinitializing filters!
[fc#0 @ 0000015fa9df15c0] Task finished with error code: -40 (Function not implemented)
[fc#0 @ 0000015fa9df15c0] Terminating thread with return code -40 (Function not implemented)
[aost#0:1/aac @ 0000015fb0695a80] Could not open encoder before EOF
[aost#0:1/aac @ 0000015fb0695a80] Task finished with error code: -22 (Invalid argument)
[aost#0:1/aac @ 0000015fb0695a80] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/h264_qsv @ 0000015fafdb3600] Could not open encoder before EOF
[vost#0:0/h264_qsv @ 0000015fafdb3600] Task finished with error code: -22 (Invalid argument)
[vost#0:0/h264_qsv @ 0000015fafdb3600] Terminating thread with return code -22 (Invalid argument)
[out#0/hls @ 0000015fa9e38840] Nothing was written into output file, because at least one of its streams received no packets.
This error seems to happen when QSV is turned on. When I turn off QSV, the everything seems to work but the stream seems to studder and the CPU utilization goes crazy. Also, it seems that this error doesn't always happen, I have another channel setup with no issues.
This is running on an older Intel NUC running Windows 10. Its also the host for my Jellyfin.
I may have something set incorrectly in the FFmpeg Profiles or somewhere else. Any help would be appreciated!
Thanks!
My General Log:
{
"Version": "v0.8.6-9466cf76-win-x64",
"Health": [
{
"Title": "Hardware Acceleration",
"Message": "The following channels use ffmpeg profiles that are not configured for hardware acceleration (Nvenc, Vaapi, Qsv, Amf): 1 - The Computer Chronicles, 2 - Cartoons, 3 - Good Eats, 4 - Dad Shows"
},
{
"Title": "Zero Duration",
"Message": "There are 3 files with zero duration, including the following: D:\Media\Family - TV Shows\Father Brown (2013)\Season 7\Father Brown - S07E01 - The Great Train Robbery.mkv, D:\Media\Family - TV Shows\Taskmaster (2015)\Season 4\Taskmaster - S04E01 - A Fat Bald White Man.mkv, D:\Media\TV Shows\Top Gear (2002)\Season 15\Top Gear - S15E03 - Episode 3.mkv"
}
],
"FFmpegSettings": {
"FFmpegPath": "E:\Files\ErsatzTV\ffmpeg.exe",
"FFprobePath": "E:\Files\ErsatzTV\ffprobe.exe",
"DefaultFFmpegProfileId": 1,
"PreferredAudioLanguageCode": "eng",
"UseEmbeddedSubtitles": false,
"ExtractEmbeddedSubtitles": false,
"SaveReports": false,
"HlsSegmenterIdleTimeout": 60,
"WorkAheadSegmenterLimit": 1,
"InitialSegmentCount": 1,
"HlsDirectOutputFormat": "MpegTs"
},
"Channels": [
{
"Id": 2,
"UniqueId": "325ce791-7b89-4a09-a901-971367f1bf5d",
"Number": "1",
"Name": "The Computer Chronicles",
"Group": "Shows",
"FFmpegProfileId": 1,
"StreamingMode": "TransportStreamHybrid",
"PreferredAudioLanguageCode": "",
"PreferredSubtitleLanguageCode": "",
"SubtitleMode": "None",
"MusicVideoCreditsMode": "None"
},
{
"Id": 5,
"UniqueId": "b811d572-e967-4ed2-bb6a-5ca8303c05eb",
"Number": "2",
"Name": "Cartoons",
"Group": "Shows",
"FFmpegProfileId": 1,
"StreamingMode": "TransportStreamHybrid",
"PreferredAudioLanguageCode": "",
"PreferredSubtitleLanguageCode": "",
"SubtitleMode": "None",
"MusicVideoCreditsMode": "None"
},
{
"Id": 6,
"UniqueId": "3f1652df-c611-49c6-b92b-0d4c083c7bfb",
"Number": "3",
"Name": "Good Eats",
"Group": "Shows",
"FFmpegProfileId": 1,
"StreamingMode": "TransportStreamHybrid",
"PreferredAudioLanguageCode": "",
"PreferredSubtitleLanguageCode": "",
"SubtitleMode": "None",
"MusicVideoCreditsMode": "None"
},
{
"Id": 7,
"UniqueId": "05973c5a-5792-442d-a53e-1727a5c2b346",
"Number": "4",
"Name": "Dad Shows",
"Group": "Shows",
"FFmpegProfileId": 1,
"StreamingMode": "TransportStreamHybrid",
"PreferredAudioLanguageCode": "",
"PreferredSubtitleLanguageCode": "",
"SubtitleMode": "None",
"MusicVideoCreditsMode": "None"
}
],
"FFmpegProfiles": [
{
"Id": 1,
"Name": "1920x1080 x264 ac3",
"ThreadCount": 4,
"HardwareAcceleration": "None",
"VaapiDriver": "Default",
"QsvExtraHardwareFrames": 64,
"ResolutionId": 3,
"Resolution": {
"Id": 3,
"Name": "1920x1080",
"IsCustom": false,
"Height": 1080,
"Width": 1920
},
"ScalingBehavior": "ScaleAndPad",
"VideoFormat": "H264",
"VideoProfile": "main",
"VideoPreset": "veryfast",
"AllowBFrames": false,
"BitDepth": "EightBit",
"VideoBitrate": 2000,
"VideoBufferSize": 4000,
"AudioFormat": "Aac",
"AudioBitrate": 192,
"AudioBufferSize": 384,
"NormalizeLoudnessMode": "Off",
"AudioChannels": 2,
"AudioSampleRate": 48,
"NormalizeFramerate": false,
"DeinterlaceVideo": true
}
]
}
My QSV Capabilities:
Checking device /dev/dri/renderD128
Exit Code: 0
ffmpeg version n7.0-88-g85d4df3873-20240524 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13.2.0 (crosstool-NG 1.26.0.65_ecc5e41)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-nonfree --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --enable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-nvenc --enable-nvdec --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-d3d11va --enable-dxva2 --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20240524
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Input #0, lavfi, from 'nullsrc':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: wrapped_avframe, yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn
[AVHWDeviceContext @ 000001facc7fca40] Using device 8086:1926 (Intel(R) Iris(R) Graphics 540).
Stream mapping:
Stream #0:0 -> #0:0 (wrapped_avframe (native) -> h264 (h264_qsv))
Press [q] to stop, [?] for help
[h264_qsv @ 000001fad0c847c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice.
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf61.1.100
Stream #0:0: Video: h264, nv12(progressive), 320x240 [SAR 1:1 DAR 4:3], q=2-31, 25 fps, 25 tbn
Metadata:
encoder : Lavc61.3.100 h264_qsv
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/null @ 000001facad11b80] video:1KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 25 fps=0.0 q=33.0 Lsize=N/A time=00:00:00.92 bitrate=N/A speed=8.52x