Dan MacDonald

  • Posts

    23
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Dan MacDonald's Achievements

  1. My test file is here: https://drive.google.com/file/d/14z1Gd8zXbJ2XWvULvmWXeqLVRcgUHo2p/view?usp=sharing
  2. First we need to work out the command I should be using to play a video. I've built ffplay but it seems ffplay doesn't natively support hwaccel. I'm not sure if Ubobrov got a video to play with ffmpeg as I don't think this a feature ffmpeg supports without using ffplay, maybe he only got decoding but not playback to work? I have got ffplay to output the first frame of my video to my display on my T95 max but no smooth playback yet. It seems you have to do the decoding in ffmpeg and pipe it to ffplay using a command like: ffmpeg -hwaccel drm -i test.mp4 -vcodec copy -acodec copy -f matroska - | ffplay -i - Ubobrov used -hwaccel drm but is that correct? If I run `ffmpeg -decoders | grep h264` I don't see a v4l2-request or a drm decoder. Should I? If I try using matroska or rawvideo as the file format, I get the error: Error writing trailer of pipe: Broken pipe If I use the same command but I use -f mp4 instead I get the error: mp4 @ 0xblah: muxer does not support non seekable output Here is the mediainfo for my test file: $ mediainfo VID_20210512_180639.mp4 General Complete name : VID_20210512_180639.mp4 Format : MPEG-4 Format profile : Base Media / Version 2 Codec ID : mp42 (isom/mp42) File size : 105 MiB Duration : 20 s 33 ms Overall bit rate : 44.0 Mb/s Encoded date : UTC 2021-05-12 17:07:00 Tagged date : UTC 2021-05-12 17:07:00 com.android.version : 10 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.1 Format settings : CABAC / 1 Ref Frames Format settings, CABAC : Yes Format settings, Reference frames : 1 frame Format settings, GOP : M=1, N=30 Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 20 s 33 ms Bit rate : 43.4 Mb/s Width : 3 840 pixels Height : 2 160 pixels Display aspect ratio : 16:9 Frame rate mode : Variable Frame rate : 30.000 FPS Minimum frame rate : 29.910 FPS Maximum frame rate : 30.090 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.175 Stream size : 104 MiB (99%) Title : VideoHandle Language : English Encoded date : UTC 2021-05-12 17:07:00 Tagged date : UTC 2021-05-12 17:07:00 Color range : Limited Color primaries : BT.601 PAL mdhd_Duration : 20033 Codec configuration box : avcC Audio ID : 2 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : mp4a-40-2 Duration : 20 s 23 ms Duration_FirstFrame : 12 ms Bit rate mode : Constant Bit rate : 192 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Frame rate : 46.875 FPS (1024 SPF) Compression mode : Lossy Stream size : 469 KiB (0%) Title : SoundHandle Language : English Encoded date : UTC 2021-05-12 17:07:00 Tagged date : UTC 2021-05-12 17:07:00
  3. I'm rebuilding ffmpeg from your repo with but with the --enable-ffplay configure option this time. However, after running configure I noticed these lines in the configure output: External libraries providing hardware acceleration: v4l2_m2m v4l2_request xvmc External libraries? Is there another library I need to install before building ffmpeg to get v4l2_request to work?
  4. Yes, I was using the wrong branch but this works to build it: git clone https://github.com/jernejsk/FFmpeg.git cd FFmpeg/ git checkout v4l2-request-hwaccel-4.3.1-new ./configure --enable-v4l2-request --enable-libudev --enable-libdrm The example playback command given doesn't work tho: ffmpeg -re -hwaccel drm -i Big_Buck_Bunny_720_10s_2MB.mp4 out.avi That command gives the errors: h264 @ 0x...: v4l2_request_probe_video_device: set controls failed, Invalid argument (22) h264 @ 0x...: Failed setup for format drm_prime: hwaccel initialization returned error lsmod says sunxi_cedrus is loaded. I get these errors running ffmpeg as root or a normal user. I'd have to build and use ffplay (or mpv) for video playback right? I'm sure ffmpeg used to include ffplay but it doesn't seem to any more. I want to see it working under ffmpeg/ffplay first before I attempt mpv.
  5. Hi jernej mpv is the only fully-featured video player for me. I'm not interested in any other video player but its nice to know gstreamer is progressing. I'm running balbes latest aw sid image with a 5.10.27 kernel which he says includes the libreelec cedrus patches already. I've tried to build your ffmpeg repo but: CC libavcodec/v4l2_request_h264.o In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:64:8: error: redefinition of ‘struct v4l2_ctrl_h264_sps’ 64 | struct v4l2_ctrl_h264_sps { | ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1305:8: note: originally defined here 1305 | struct v4l2_ctrl_h264_sps { | ^~~~~~~~~~~~~~~~~~ In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:94:8: error: redefinition of ‘struct v4l2_ctrl_h264_pps’ 94 | struct v4l2_ctrl_h264_pps { | ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1361:8: note: originally defined here 1361 | struct v4l2_ctrl_h264_pps { | ^~~~~~~~~~~~~~~~~~ In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:108:8: error: redefinition of ‘struct v4l2_ctrl_h264_scaling_matrix’ 108 | struct v4l2_ctrl_h264_scaling_matrix { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1393:8: note: originally defined here 1393 | struct v4l2_ctrl_h264_scaling_matrix { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:113:8: error: redefinition of ‘struct v4l2_h264_weight_factors’ 113 | struct v4l2_h264_weight_factors { | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1398:8: note: originally defined here 1398 | struct v4l2_h264_weight_factors { | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:134: warning: "V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED" redefined 134 | #define V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED 0x04 | In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1435: note: this is the location of the previous definition 1435 | #define V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED 0x01 | In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:135: warning: "V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH" redefined 135 | #define V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH 0x08 | In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1436: note: this is the location of the previous definition 1436 | #define V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH 0x02 | In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:137:8: error: redefinition of ‘struct v4l2_ctrl_h264_slice_params’ 137 | struct v4l2_ctrl_h264_slice_params { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1496:8: note: originally defined here 1496 | struct v4l2_ctrl_h264_slice_params { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:193:8: error: redefinition of ‘struct v4l2_h264_dpb_entry’ 193 | struct v4l2_h264_dpb_entry { | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1541:8: note: originally defined here 1541 | struct v4l2_h264_dpb_entry { | ^~~~~~~~~~~~~~~~~~~ In file included from libavcodec/v4l2_request_h264.c:22: libavcodec/h264-ctrls.h:205:8: error: redefinition of ‘struct v4l2_ctrl_h264_decode_params’ 205 | struct v4l2_ctrl_h264_decode_params { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from libavcodec/v4l2_request.h:22, from libavcodec/v4l2_request_h264.c:21: /usr/include/linux/v4l2-controls.h:1578:8: note: originally defined here 1578 | struct v4l2_ctrl_h264_decode_params { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ make: *** [ffbuild/common.mak:60: libavcodec/v4l2_request_h264.o] Error 1
  6. Third time unlucky, I finally tried applying it to the 'correct' version: ~/src/FFmpeg-4.0.4-Leia-18.4$ patch -p 1 < ffmpeg-001-v4l2-request.patch patching file libavutil/buffer.c Hunk #1 succeeded at 272 (offset -1 lines). patching file libavutil/buffer.h Hunk #1 succeeded at 266 (offset -1 lines). patching file configure Hunk #1 succeeded at 264 with fuzz 2 (offset -10 lines). Hunk #2 succeeded at 325 (offset -18 lines). Hunk #3 succeeded at 1734 (offset -75 lines). Hunk #4 FAILED at 1864. Hunk #5 FAILED at 2906. Hunk #6 succeeded at 6066 with fuzz 1 (offset -313 lines). Hunk #7 FAILED at 6479. Hunk #8 FAILED at 6560. 4 out of 8 hunks FAILED -- saving rejects to file configure.rej patching file libavcodec/Makefile Hunk #1 succeeded at 143 (offset -10 lines). can't find file to patch at input line 157 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff --git a/libavcodec/hwconfig.h b/libavcodec/hwconfig.h |index f421dc909f44..ee78d8ab8e89 100644 |--- a/libavcodec/hwconfig.h |+++ b/libavcodec/hwconfig.h -------------------------- File to patch:
  7. I can answer a couple of my questions after having had a quick look at this. v4l2-request hasn't been merged into the latest ffmpeg stable release, the Debian sid package or the git repo yet so it is still required to patch and build ffmpeg to get v4l2-request but unfortunately I've not been unable to get the ffmpeg v4l2-request patch to cleanly apply to ffmpeg git or 4.0.6, which is the nearest release I can find online to the 4.0.4 that Ubobrov says he got to work. Does anyone know where I can get a ffmpeg 4.0.4 source tarball? Otherwise, checking out a git commit from December 2018 might get the patch to fully apply? EDIT It's past my bedtime as I can't even do simple searches https://ffmpeg.org/releases/ffmpeg-4.0.4.tar.gz EDIT 2 Nope! The patch doesn't cleanly apply to 4.0.4 either :/
  8. Hi Ubobrov You seem to be the expert on using the Cedrus decoder under Armbian so I've got a few questions that I'm hoping you would be kind enough to answer: Have you tried 4K@30fps h264 playback using cedrus/v4l2-request with mpv? Have you tried the most recent 5.10 Libreelec AW kernel patches? I'm hoping Balbes can include these in the Armbian AW kernel as standard. Have you also got an Allwinner H6 board? Your guide should also work for H6 devices. I've got a T95 Max. I noticed in your guide to building ffmpeg you disable vaapi and vdpau. Why? Was that just to save build time or do you have another reason? It may no longer be required to rebuild ffmpeg, maybe v4l2-request is enabled in the regular deb now? It looks like libvdpau-sunxi isn't required and it hasn't been updated in years so I presume its dead.
  9. Hi Balbes150 I would like to use the cedrus hw video decoder to play 4K h264 videos with mpv on my T95 Max. Before I head down that road, does your H6 kernel already include these patches for Linux 5.10: https://github.com/LibreELEC/LibreELEC.tv/tree/master/projects/Allwinner/patches/linux jernej and ubobrov say they are required to get cedrus video decoding working. All the patches with 'media' in the name and patch 31 for 10bit HEVC. Maybe we could package a video decoding kernel if you don't want to include these in the main kernel? Thanks
  10. This is when trying to play a Sony demo video that plays OK under Kodi on my Rock 64. Without sudo gives me a green screen, no video whilst using sudo gives me a few green lines then a black screen with no video. dan@rock64:~$ mpv --gpu-context=drm Sony\ Aquarium\ 4K\ Demo.mp4 LIBGL: Initialising gl4es LIBGL: v1.1.5 built on Dec 22 2020 23:27:36 LIBGL: Using GLES 2.0 backend LIBGL: loaded: libGLESv2.so LIBGL: loaded: libEGL.so LIBGL: loaded: libgbm.so LIBGL: loaded: libdrm.so.2 LIBGL: Using GLES 2.0 backend LIBGL: Error while gathering supported extension (eglInitialize: EGL_BAD_ALLOC), default to none LIBGL: Targeting OpenGL 2.1 LIBGL: WARNING, No Limited or Full NPOT support in hardware, Forcing NPOT have no effect! LIBGL: Not trying to batch small subsequent glDrawXXXX LIBGL: try to use VBO LIBGL: Force texture for Attachment color0 on FBO LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done LIBGL: glX Will try to recycle EGL Surface LIBGL: Current folder is:/home/dan (+) Video --vid=1 (*) (hevc 3840x2160 59.940fps) (+) Audio --aid=1 --alang=eng (*) (aac 2ch 48000Hz) [vo/gpu] VT_GETMODE failed: Inappropriate ioctl for device [vo/gpu/opengl] Failed to set up VT switcher. Terminal switching will be unavailable. [vo/gpu/opengl] Failed to initialize EGL. [vo/gpu] Failed to setup EGL. Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory [vo/vdpau] Error when calling vdp_device_create_x11: 1 [vo/xv] No Xvideo support found. [vaapi] Failed to initialize VAAPI: unknown libva error [vo/x11] Warning: this legacy VO has bad performance. Consider fixing your graphics drivers, or not forcing the x11 VO. mpi: mpp version: 11d98147 author: JMCC Import changes from fork Kwiboo/mpp, branch libreelec-hdr, and version bump mpp_device: mpp_device_init failed to open device /dev/rkvdec, errno 13, error msg: Permission denied mpp_rt: NOT found ion allocator mpp_rt: found drm allocator mpp: deprecated block control, use timeout control instead mpp: deprecated block control, use timeout control instead H265D_PARSER: No start code is found. H265D_PARSER: mpp_hevc_decode_nal_sei error ret = -1006 mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor Using hardware decoding (rkmpp). [autoconvert] HW-downloading from drm_prime mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor AO: [pulse] 48000Hz stereo 2ch float mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 9 Bad file descriptor H265HAL: RK_HEVC_DEC: ERROR: mpp_device_send_reg Failed!!! mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 9 Bad file descriptor [ao/pulse] pa_stream_cork() failed: Connection terminated [ao/pulse] pa_stream_flush() failed: Connection terminated VO: [x11] 3840x2160 nv12 mpp_device: mpp_device_deinit invalid negtive file handle, Exiting... (Quit) LIBGL: Shuting down dan@rock64:~$ sudo mpv --gpu-context=drm Sony\ Aquarium\ 4K\ Demo.mp4 [sudo] password for dan: LIBGL: Initialising gl4es LIBGL: v1.1.5 built on Dec 22 2020 23:27:36 LIBGL: Using GLES 2.0 backend LIBGL: loaded: libGLESv2.so LIBGL: loaded: libEGL.so LIBGL: loaded: libgbm.so LIBGL: loaded: libdrm.so.2 LIBGL: Using GLES 2.0 backend LIBGL: GBM Surfaces supported LIBGL: Hardware Full NPOT detected and used LIBGL: Extension GL_EXT_blend_minmax detected and used LIBGL: FBO are in core, and so used LIBGL: PointSprite are in core, and so used LIBGL: CubeMap are in core, and so used LIBGL: BlendColor is in core, and so used LIBGL: Blend Substract is in core, and so used LIBGL: Blend Function and Equation Separation is in core, and so used LIBGL: Texture Mirrored Repeat is in core, and so used LIBGL: Extension GL_OES_mapbuffer detected LIBGL: Extension GL_OES_packed_depth_stencil detected and used LIBGL: Extension GL_OES_depth24 detected and used LIBGL: Extension GL_OES_rgb8_rgba8 detected and used LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used LIBGL: Extension GL_OES_depth_texture detected and used LIBGL: Extension GL_EXT_shader_texture_lod detected and used LIBGL: Max vertex attrib: 16 LIBGL: Extension GL_OES_standard_derivatives detected and used LIBGL: Max texture size: 4096 LIBGL: Max Varying Vector: 12 LIBGL: Texture Units: 8/8 (hardware: 8), Max lights: 8, Max planes: 6 LIBGL: Max Color Attachments: 1 / Draw buffers: 1 LIBGL: Hardware vendor is ARM LIBGL: EGLImage from Pixmap supported LIBGL: EGLImage to Texture2D supported LIBGL: EGLImage to RenderBuffer supported LIBGL: Targeting OpenGL 2.1 LIBGL: NPOT texture handled in hardware LIBGL: Not trying to batch small subsequent glDrawXXXX LIBGL: try to use VBO LIBGL: glXMakeCurrent FBO workaround enabled LIBGL: FBO workaround for using binded texture enabled LIBGL: Force texture for Attachment color0 on FBO LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done LIBGL: glX Will try to recycle EGL Surface LIBGL: Current folder is:/home/dan (+) Video --vid=1 (*) (hevc 3840x2160 59.940fps) (+) Audio --aid=1 --alang=eng (*) (aac 2ch 48000Hz) [vo/gpu] VT_GETMODE failed: Inappropriate ioctl for device [vo/gpu/opengl] Failed to set up VT switcher. Terminal switching will be unavailable. [vo/gpu/opengl] Could not choose EGLConfig for GLES 3.x! mpi: mpp version: 11d98147 author: JMCC Import changes from fork Kwiboo/mpp, branch libreelec-hdr, and version bump mpp_rt: NOT found ion allocator mpp_rt: found drm allocator mpp: deprecated block control, use timeout control instead mpp: deprecated block control, use timeout control instead H265D_PARSER: No start code is found. H265D_PARSER: mpp_hevc_decode_nal_sei error ret = -1006 Using hardware decoding (rkmpp). AO: [pulse] 48000Hz stereo 2ch float VO: [gpu] 3840x2160 drm_prime[nv12] [vo/gpu] Using HW-overlay mode. No GL filtering is performed on the video! [ao/pulse] pa_stream_cork() failed: Connection terminated [ao/pulse] pa_stream_flush() failed: Connection terminated Exiting... (Quit) LIBGL: Shuting down
  11. I have been successful in playing a couple of 4K videos using kodi but I have not been able to get gstreamer (gst-play-1.0) nor mpv to work with rkmpp.
  12. Have you managed to play a UHD or 4K video with mpv on a Rockchip board? If so, what mpv options did you use? It wouldn't matter if Kodi or gstreamer worked as they are independent from mpv, unlike say ffmpeg or celluloid.
  13. I am only interested in mpv. mpv offers several options not present in other players. I am an mpv supremacist of sorts.
  14. Has anyone successfully played a 4K video on a RK3328 (eg a Rock64) using mpv and rkmpp? I've been trying this build of mpv on my 4 GB Rock64 running buster legacy try to get it to play a 4K h264 but I've not had one play properly yet. What is the full mpv command to get fullscreen, 4K h264 playback to work with rkmpp, if possible? I've seen commands such as this suggested but it doesn't work for me: mpv --vo=gpu --gpu-api=opengl --gpu-context=drm --gpu-hwdec-interop=drmprime-drm --hwdec=rkmpp video.mkv I've tried various combos of those options. With all the videos I've tried, I either see the first frame of the video then nothing else (I just have to quit mpv), I just get a black screen or it crashes.
  15. I’ve added a second script, CH340-interactive.py, to enable you to manually control your fan.