Be aware that the Pi0 2 has 512M of ram.
That is too low to be officially supported by LE.
It may be usable in some circumstances, but it's easy to exhaust RAM.
Be aware that the Pi0 2 has 512M of ram.
That is too low to be officially supported by LE.
It may be usable in some circumstances, but it's easy to exhaust RAM.
Can you revert to the last nightly that was working as you wanted?
If you can identify the first nightly with the issue we can look through the changes that went into it.
Also do all files play fast? (e.g. does this?)
A debug enabled log file may be useful.
Have you enabled "sync playback to display" (in settings/player/video)?
It is not enabled by default, and has the ability to speed up/slow down video (e.g. for playing 24fps video on a 25/50Hz display).
It's not generally recommended unless you want the speed adjustment feature.
For that to work properly do I need to whitelist the modes the tv supports?
It will work whatever you do. Enabling "adjust display refresh rate to match video" is recommended for smooth playback.
You can use the whitelist, but if the display is 1080p, then it will use 1080p for gui and for video playback which is what you want anyway.
The is no problem with 4k decode and downscale to 1080p.
But you may hit a problem with HDR.
HDR is pretty common in 4k hevc files.
HDR is pretty rare on a 1080p display.
With this combination the video will play, but the colours will be off (it looks a bit over exposed with muted colour).
Haven't had a chance to try LE12 nightly, but glad to hear it doesn't seem to crash it.
I think whether it crashes or not on a given platform is just luck - whether the invalid pointers accessed happen to point to previously allocated memory or not.
kodi didn't crash for me on RPiOS bookworm (using ffmpeg 5.1.3) but did on Ubuntu 23.04 (using ffmpeg 5.1.2).
But feel free to try LE12 and see if it is more reliable.
I tested this file with mplayer on my x86 Ubuntu laptop.
It played for a while then got very confused
Error while decoding frame! (-1094995529)
A: 16.0 V: 15.7 A-V: 0.305 ct: -1.019 791/790 15% 3% 0.8% 0 0
Warning! FPS changed 59.940 -> 14.104 (45.836517) [7]
[mpeg2video @ 0x7ffff6c11ae0]slice below image (160 >= 93)
Error while decoding frame! (-1094995529)
A: 16.1 V: 15.7 A-V: 0.403 ct: -1.004 794/793 14% 3% 0.8% 0 0
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
[swscaler @ 0x7ffff78f4f20]bicubic scaler, from yuv444p to yuv420p using MMXEXT
VO: [xv] 1280x1488 => 2646x1488 Planar YV12
Display More
and crashed here:
Thread 1 "mplayer" received signal SIGSEGV, Segmentation fault.
ff_hscale8to15_X4_avx2.innerloop () at src/libswscale/x86/scale_avx2.asm:68
Downloading source file /build/ffmpeg-pdGKTL/ffmpeg-5.1.2/libswscale/x86//src/libswscale/x86/scale_avx2.asm
68 src/libswscale/x86/scale_avx2.asm: Directory not empty.
(gdb)
(gdb) bt
#0 ff_hscale8to15_X4_avx2.innerloop () at src/libswscale/x86/scale_avx2.asm:68
#1 0x00007ffff7862ba2 in chr_h_scale (c=0x555555db91c0, desc=0x5555559ed328, sliceY=<optimised out>, sliceH=1) at src/libswscale/hscale.c:189
#2 0x00007ffff789f148 in swscale
(dstSliceH=<optimised out>, dstSliceY=<optimised out>, dstStride=0x7fffffffbce0, dst=0x7fffffffbd10, srcSliceH=<optimised out>, srcSliceY=<optimised out>, srcStride=0x7fffffffbcd0, src=0x7fffffffbcf0, c=<optimised out>) at src/libswscale/swscale.c:471
#3 scale_internal
(c=<optimised out>, srcSlice=<optimised out>, srcStride=<optimised out>, srcSliceY=<optimised out>, srcSliceH=<optimised out>, dstSlice=<optimised out>, dstStride=<optimised out>, dstSliceY=<optimised out>, dstSliceH=<optimised out>) at src/libswscale/swscale.c:1043
#4 0x00007ffff789fc70 in sws_scale
(c=<optimised out>, srcSlice=srcSlice@entry=0x7fffffffbe10, srcStride=srcStride@entry=0x7fffffffbee0, srcSliceY=<optimised out>, srcSliceH=<optimised out>, dst=<optimised out>, dstStride=0x5555559eefc0) at src/libswscale/swscale.c:1210
#5 0x0000555555693013 in scale
(sws1=<optimised out>, sws2=0x0, src=<optimised out>, src_stride=0x7fffffffbee0, y=y@entry=64, h=<optimised out>, dst=0x5555559eefa0, dst_stride=0x5555559eefc0, interlaced=0) at libmpcodecs/vf_scale.c:449
#6 0x00005555556931fb in draw_slice
(vf=<optimised out>, src=<optimised out>, stride=<optimised out>, w=<optimised out>, h=<optimised out>, x=<optimised out>, y=64)
at libmpcodecs/vf_scale.c:461
#7 0x00005555557237c8 in draw_slice
(s=<optimised out>, src=<optimised out>, offset=<optimised out>, y=<optimised out>, type=<optimised out>, height=<optimised out>)
at libmpcodecs/vd_ffmpeg.c:566
#8 0x00007ffff63d6281 in ff_draw_horiz_band
(avctx=0x555555b5aa00, cur=<optimised out>, last=0x5555559f3f80, y=64, h=<optimised out>, picture_structure=3, first_field=0, low_delay=1)
at src/libavcodec/mpegutils.c:98
#9 0x00007ffff63e0459 in ff_mpeg_draw_horiz_band (s=s@entry=0x555555b5ae40, y=<optimised out>, h=<optimised out>) at src/libavcodec/mpegvideo_dec.c:545
#10 0x00007ffff639a65c in mpeg_decode_slice (s=s@entry=0x555555b5ae40, mb_y=mb_y@entry=4, buf=buf@entry=0x7fffffffc178, buf_size=buf_size@entry=3518)
at src/libavcodec/mpeg12dec.c:1834
#11 0x00007ffff639f027 in decode_chunks
(avctx=avctx@entry=0x555555b5aa00, picture=picture@entry=0x555555b5d4c0, got_output=got_output@entry=0x7fffffffc29c, buf=0x555555fadc80 "", buf_size=3644) at src/libavcodec/mpeg12dec.c:2743
#12 0x00007ffff639fba1 in mpeg_decode_frame (avctx=0x555555b5aa00, picture=0x555555b5d4c0, got_output=0x7fffffffc29c, avpkt=<optimised out>)
at src/libavcodec/mpeg12dec.c:2822
#13 0x00007ffff6083e21 in decode_simple_internal (discarded_samples=<synth_etic pointer>, frame=0x555555b5d4c0, avctx=0x555555b5aa00)
at src/libavcodec/decode.c:307
#14 decode_simple_receive_frame (frame=<optimised out>, avctx=<optimised out>) at src/libavcodec/decode.c:515
#15 decode_receive_frame_internal (avctx=avctx@entry=0x555555b5aa00, frame=0x555555b5d4c0) at src/libavcodec/decode.c:536
Display More
It may be best to report this to ffmpeg - it is not a Pi specific or kodi/libreelec specific issue.
chewitt Do any of these logs help with figuring out the issue? I have not been able to pinpoint it myself yet. It only seems to do it for some video files, and at the same times on the files. So I am assuming my Pi is just having issues with certain video codecs? Maybe?
I think it is more likely a network issue.
Copy a problematic file to local storage (sdcard or usb stick) and play it.
Does it also stop in the same way? If it does there is a video codec issue (and a sample file that exhibits the issue can be analysed).
If it doesn't it suggests a network issue that would need a very different diagnosis.
I am not sure if I would have to use an external SSD drive on the RPI4, and in doing so, would that not be a slower option to run LE, as oppose to the Micro SD drive, which appears to be insufficient in regards to capacity?
An SSD will typically be faster than a micro SD card.
sdcards can be up to 1TB, so it's not limited in capacity, but I wouldn't recommend an sdcard that large.
An SSD is likely cheaper and faster at that capacity.
10 / 12 bit deinterlacing is a know issue. As a workaround, disable deinterlacing at playback menu (gear icon).
I don't see anything in the original report about files being interlaced.
Interlaced content at 10/12-bits is incredibly rare.
You are really only talking about studio master files - nothing sold, broadcast, or streamed is in this format.
Can you try a nightly build? That has improvements for handling unusual pixel formats (like more than 8-bits/pixel).
RPi0/1/2/3 are 32-bit SoCs
Not quite. See here for more details.
32-bit: RPi Zero, RPi1, early model RPi2
64-bit: RPi Zero 2, late model RPi2, RPi3, PRi4
RPi2 was launched with a 32-bit Cortex-A7. RPi2 v1. 2 switched to using the 64-bit Cortex-A53 from the RPi3.
Also note all 64-bit RPi processors also support 32-bit. And you can run a 64-bit kernel with a 32-bit userland.
32-bit userland has historically been the choice of LibreELEC as widevine (needed for DRM playback of netflix/amazon prime etc)
was only supported on 32-bit, but there is now a 64-bit solution that LE 12 can use.
Do any other players play this file? Does kodi on windows/linux play it?
This looks strange:
Format : V_MS/VFW/FOURCC / HEVC
Codec ID : V_MS/VFW/FOURCC / HEVC
This would be the mediainfo output a normal hevc encode:
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L4@Main
Codec ID : V_MPEGH/ISO/HEVC
Can you upload a short sample file encoded that way?
This doesn't look like a typical hevc file:
2023-07-31 22:33:58.744 T:1118 info <general>: ffmpeg[0x417b128]: [matroska,webm] Unknown/unsupported AVCodecID V_MS/VFW/FOURCC.
2023-07-31 22:33:58.753 T:1118 debug <general>: ffmpeg[0x417b128]: [matroska,webm] Could not find codec parameters for stream 0 (Video: none (HEVC / 0x43564548), none, 1280x540): unknown codec
2023-07-31 22:33:58.753 T:1118 info <general>: ffmpeg[0x417b128]: Stream #0:0: Video: none (HEVC / 0x43564548), none, 1280x540, SAR 1:1 DAR 64:27, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
Note that it probes "Video: none (HEVC / 0x43564548), none"
When I play a hevc file I see:
Can you confirm if you can play a typical hevc file? e.g. this?
Can you post output of mediainfo for your file?
Seems to be a problem with the EDID reported by the AVR.
I'd suggest you connect it to directly to the TV (with working full hd),
and then run getedid create.
Then when you reconnect the AVR it will use the working EDID.
The reason for the faulty EDID may be the AVR itself, or it may be the extra HDMI cable used when going through the AVR.
It might be worth trying with that replaced.
If you issue is with the universal movie scraper, then you'll be much better off asking in their support thread.