ivan-hc/MPV-appimage

new version is cannot display

Closed this issue · 20 comments

image

i have idea, suggestion:
you don't need to build smallize appimage file,
merge all dependency package in appimage file, that is increase 20MB100MB, totally file size is 200MB300MB.

in 2023 yet ,many laptop disk have 1TB~2TB size. so have more size to save this appimage

i have suggesting appimage:

https://github.com/mmtrt/WINE_AppImage/releases

they appimage is merge all dlc in appimage

so,just like other software , i think Microsoft vs 2022, it just "all in one"

  • Have you tried to rebuild it by yourself to confirm your idea?
  • Have you seen if this issue already appears in other forums or into existing issues on github, for example here?
  • Are you still using Kali Linux?

As suggested in the issue I've looked in, I added libxpresent (and restored libxcb, just in case):

bd0a550

Download it now https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous it is just 1mb bigger.

PS: MPV is a strange app, instead of focusing its efforts on its core mechanism, developers decide to add new dependencies with each new release.

Close this issue if it works for you.

As suggested in the issue I've looked in, I added libxpresent (and restored libxcb, just in case):

bd0a550

Download it now https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous it is just 1mb bigger.

PS: MPV is a strange app, instead of focusing its efforts on its core mechanism, developers decide to add new dependencies with each new release.

Close this issue if it works for you.

i see you anser.
I download you new build mpv version, is not work
image

I currently use you mpv version is 35
image
it can play
image

and i still use kali linux, but now I install some qt5 dependence package ,

i try to build mpv appimage package, so, i try use another method use arch linux bootstrap image

bwrap --dev-bind ./root.x86_64 / --proc /proc --dev /dev --dev-bind /sys /sys --dev-bind /dev/dri /dev/dri --ro-bind /tmp/.X11-unix /tmp/.X11-unix --uid 0 /bin/bash

I don't really know why this happens, mpv works for me.

I suggest to do an experiment:

  1. copy/paste the following commands to download/install JuNest into a custom directory named "tmp" to set as tempoarary $HOME, this will also install mpv in JuNest (from now, don't close the terminal in any case):
mkdir tmp
cd tmp
APP=mpv
DEPENDENCES="libxpresent ytfzf yt-dlp bind nss-mdns"
HOME="$(dirname "$(readlink -f $0)")" 
git clone https://github.com/fsquillace/junest.git ~/.local/share/junest
./.local/share/junest/bin/junest setup
./.local/share/junest/bin/junest -- sudo pacman -Syy
./.local/share/junest/bin/junest -- sudo pacman --noconfirm -Syu
./.local/share/junest/bin/junest -- yay -Syy
./.local/share/junest/bin/junest -- yay --noconfirm -S gnu-free-fonts $(echo $DEPENDENCES $APP")
  1. use the following command to run your video:
./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/etc/fonts" 2> /dev/null -- mpv 

it should work, however the experiment consists to know if mpv uses /usr/lib/dri to detect the driver (in my Appimage I removed it), so try again to play the video using the following command:

./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/usr/lib/dri --bind=/usr/lib/x86_64-linux-gnu/dri --bind=/etc/fonts" 2> /dev/null -- mpv

this time I've hidden the inbuilt --bind=/usr/lib/dri and JuNest can see the path /usr/lib/x86_64-linux-gnu/dri available on Kali (if is is a Debian-based system, the path to drivers should be that).

Let me know if it works, this should confirm also your theory about libraries I've removed.

PS: screenshots don't help to quick copy/paste to find solutions around the web, just copy/paste your outputs, so please stopu using screenshots... here or heverywhere. It is just a suggestion for any issue you face in every project.

I don't really know why this happens, mpv works for me.

I suggest to do an experiment:

  1. copy/paste the following commands to download/install JuNest into a custom directory named "tmp" to set as tempoarary $HOME, this will also install mpv in JuNest (from now, don't close the terminal in any case):
mkdir tmp
cd tmp
APP=mpv
DEPENDENCES="libxpresent ytfzf yt-dlp bind nss-mdns"
HOME="$(dirname "$(readlink -f $0)")" 
git clone https://github.com/fsquillace/junest.git ~/.local/share/junest
./.local/share/junest/bin/junest setup
./.local/share/junest/bin/junest -- sudo pacman -Syy
./.local/share/junest/bin/junest -- sudo pacman --noconfirm -Syu
./.local/share/junest/bin/junest -- yay -Syy
./.local/share/junest/bin/junest -- yay --noconfirm -S gnu-free-fonts $(echo $DEPENDENCES $APP")
  1. use the following command to run your video:
./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/etc/fonts" 2> /dev/null -- mpv 

it should work, however the experiment consists to know if mpv uses /usr/lib/dri to detect the driver (in my Appimage I removed it), so try again to play the video using the following command:

./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/usr/lib/dri --bind=/usr/lib/x86_64-linux-gnu/dri --bind=/etc/fonts" 2> /dev/null -- mpv

this time I've hidden the inbuilt --bind=/usr/lib/dri and JuNest can see the path /usr/lib/x86_64-linux-gnu/dri available on Kali (if is is a Debian-based system, the path to drivers should be that).

Let me know if it works, this should confirm also your theory about libraries I've removed.

PS: screenshots don't help to quick copy/paste to find solutions around the web, just copy/paste your outputs, so please stopu using screenshots... here or heverywhere. It is just a suggestion for any issue you face in every project.

OK, I try to rebuild agaen

I don't really know why this happens, mpv works for me.我真的不知道为什么会这样,mpv 对我有用。

I suggest to do an experiment:我建议做一个实验:

  1. copy/paste the following commands to download/install JuNest into a custom directory named "tmp" to set as tempoarary $HOME, this will also install mpv in JuNest (from now, don't close the terminal in any case):复制/粘贴以下命令将 JuNest 下载/安装到名为“tmp”的自定义目录中以设置为临时$HOME,这也将在 JuNest 中安装 mpv(从现在开始,无论如何都不要关闭终端):
mkdir tmp
cd tmp
APP=mpv
DEPENDENCES="libxpresent ytfzf yt-dlp bind nss-mdns"
HOME="$(dirname "$(readlink -f $0)")" 
git clone https://github.com/fsquillace/junest.git ~/.local/share/junest
./.local/share/junest/bin/junest setup
./.local/share/junest/bin/junest -- sudo pacman -Syy
./.local/share/junest/bin/junest -- sudo pacman --noconfirm -Syu
./.local/share/junest/bin/junest -- yay -Syy
./.local/share/junest/bin/junest -- yay --noconfirm -S gnu-free-fonts $(echo $DEPENDENCES $APP")
  1. use the following command to run your video:使用以下命令运行视频:
./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/etc/fonts" 2> /dev/null -- mpv 

it should work, however the experiment consists to know if mpv uses /usr/lib/dri to detect the driver (in my Appimage I removed it), so try again to play the video using the following command:它应该可以工作,但是实验包括知道MPV是否使用/usr/lib/dri来检测驱动程序(在我的Appimage中我删除了它),因此请尝试使用以下命令再次播放视频:

./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/usr/lib/dri --bind=/usr/lib/x86_64-linux-gnu/dri --bind=/etc/fonts" 2> /dev/null -- mpv

this time I've hidden the inbuilt --bind=/usr/lib/dri and JuNest can see the path /usr/lib/x86_64-linux-gnu/dri available on Kali (if is is a Debian-based system, the path to drivers should be that).这次我隐藏了内置的 --bind=/usr/lib/dri,JuNest 可以看到 Kali 上可用的路径 /usr/lib/x86_64-linux-gnu/dri(如果是基于 Debian 的系统,驱动程序的路径应该是那个)。

Let me know if it works, this should confirm also your theory about libraries I've removed.让我知道它是否有效,这也应该证实你关于我删除的库的理论。

PS: screenshots don't help to quick copy/paste to find solutions around the web, just copy/paste your outputs, so please stopu using screenshots... here or heverywhere. It is just a suggestion for any issue you face in every project.PS:屏幕截图无助于快速复制/粘贴以在网络上找到解决方案,只需复制/粘贴您的输出,因此请使用屏幕截图停止...这里或无处不在。这只是针对您在每个项目中遇到的任何问题的建议。

i use you step , and successful install mpv

./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/etc/fonts" 2> /dev/null -- mpv
mpv 0.36.0 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
 built on Sun Jul 23 05:49:29 2023
libplacebo version: v5.264.1
FFmpeg version: n6.0
FFmpeg library versions:
   libavutil       58.2.100
   libavcodec      60.3.100
   libavformat     60.3.100
   libswscale      7.1.100
   libavfilter     9.3.100
   libswresample   4.10.100

Usage:   mpv [options] [url|path/]filename

Basic options:
 --start=<time>    seek to given (percent, seconds, or hh:mm:ss) position
 --no-audio        do not play sound
 --no-video        do not play video
 --fs              fullscreen playback
 --sub-file=<file> specify subtitle file to use
 --playlist=<file> specify playlist file

 --list-options    list all mpv options
 --h=<string>      print options which contain the given string in their name

and i run second command , but it show content just same

 ./.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/usr/lib/dri --bind=/usr/lib/x86_64-linux-gnu/dri --bind=/etc/fonts" 2> /dev/null -- mpv /home/thinker/Pictures/zhang/1.mp4
 (+) Video --vid=1 (*) (h264 720x1280 30.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/opengl] Suspected software renderer or indirect context.
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu] Failed to create GBM surface.
[vo/gpu] Failed to setup GBM.
[vo/gpu] Failed to commit atomic request: Function not implemented

Well, this means that by removing /usr/lib/dri I removed a dependences for systems like yours.

Now remove " --bind=/usr/lib/dri --bind=/usr/lib/x86_64-linux-gnu/dri" from the command and move the content of ./.junest/usr/lib/dri into another directory, except "swrast_dri.so" and try again

swrast_dri.so must be the only file available in /.junest/usr/lib/dri, it is about 30 mb

I'm pretty sure that to keep /usr/lib/dri/swrast_dri.so solves the issue, being it needed also in other ArchImages I built like OBS and VLC.

I rebuilt it by including that library https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous only 10 mb bigger than before (changes: 2758d85).

Let me know if this time works.

I rebuilt it by including that library https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous only 10 mb bigger than before (changes: 2758d85).我通过包含仅比以前大 10 mb 的库 https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous 来重建它(更改:https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous )。

Let me know if this time works.让我知道这个时间是否有效。

first , i see you have this https://github.com/ivan-hc/ArchImage
so. i build two software, first is copyq , is work successful ,it work
second , i use arhcimage to build mpv, it show successful build.

(12/14) Updating fontconfig cache...
(13/14) Probing GDK-Pixbuf loader modules...
(14/14) Updating the desktop file MIME type cache...
The .desktop file is available in mpv.AppDir/
appimagetool, continuous build (commit 5735cc5), build <local dev build> built on 2023-03-08 22:52:04 UTC
Using architecture x86_64
/home/thinker/Desktop/tmp/mpv.AppDir should be packaged as mpv_Media_Player-x86_64.AppImage
Deleting pre-existing .DirIcon
Creating .DirIcon symlink based on information from desktop file
Generating squashfs...
Parallel mksquashfs: Using 16 processors
Creating 4.0 filesystem on mpv_Media_Player-x86_64.AppImage, block size 131072.
[================================================================================================================================================================================================|] 19406/19406 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
        compressed data, compressed metadata, compressed fragments,
        compressed xattrs, compressed ids
        duplicates are removed
Filesystem size 296292.48 Kbytes (289.35 Mbytes)
        33.21% of uncompressed filesystem size (892234.88 Kbytes)
Inode table size 173670 bytes (169.60 Kbytes)
        24.16% of uncompressed inode table size (718853 bytes)
Directory table size 173687 bytes (169.62 Kbytes)
        46.26% of uncompressed directory table size (375491 bytes)
Number of duplicate files found 2622
Number of inodes 18367
Number of files 13327
Number of fragments 728
Number of symbolic links  3057
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 1983
Number of ids (unique uids + gids) 1
Number of uids 1
        root (0)
Number of gids 1
        root (0)
Embedding ELF...
Marking the AppImage as executable...
Embedding MD5 digest
Success

Please consider submitting your AppImage to AppImageHub, the crowd-sourced
central directory of available AppImages, by opening a pull request
at https://github.com/AppImage/appimage.github.io

and i run it , to test, but it cannot diskplay:

❯ ./mpv-Media-Player_1:0.36.0-10.22.0-x86_64.AppImage ./Pictures/zhang/1.mp4
 (+) Video --vid=1 (*) (h264 720x1280 30.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/opengl] Suspected software renderer or indirect context.
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu] Failed to create GBM surface.
[vo/gpu] Failed to setup GBM.
[vo/gpu] Failed to commit atomic request: Function not implemented

and this appimage size is:

-rwxr-xr-x 1 thinker thinker 303M Sun Jul 30 01:11:19 2023 

and ,i show you info, and i download you version
size:

-rwxr--r-- 1 thinker thinker 143M Sun Jul 30 01:13:13 2023 

but ,i cannot display too :

❯ ./Downloads/MPV-Media-Player_0.36.0-1-x86_64.AppImage Pictures/zhang/1.mp4
 (+) Video --vid=1 (*) (h264 720x1280 30.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/x11] XOpenIM() failed. Unicode input will not work.
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu] Failed to create GBM device.
[vo/gpu] Failed to setup GBM.
[vo/gpu] Failed to commit atomic request: No such file or directory

I rebuilt it by including that library https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous only 10 mb bigger than before (changes: 2758d85).我通过包含仅比以前大 10 mb 的库 https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous 来重建它(更改:https://github.com/ivan-hc/MPV-appimage/releases/tag/continuous )。

Let me know if this time works.让我知道这个时间是否有效。

now , i try to build vlc use your Archimage, i test now

and some time archimage have error:

error: failed retrieving file 'core.db' from mirrors.42tm.tech : SSL connection timeout                                                                                                                     [20/9426]
error: failed retrieving file 'core.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: GPGME error: No data
error: GPGME error: No data
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))
error: GPGME error: No data
error: GPGME error: No data
:: Synchronizing package databases...
 core is up to date
 extra                                                                                                8.3 MiB  6.14 MiB/s 00:01 [##############################################################################] 100%
 junest                                                                                            1728.0   B  2.86 KiB/s 00:01 [##############################################################################] 100%
 multilib                                                                                           143.1 KiB   582 KiB/s 00:00 [##############################################################################] 100%
error: failed retrieving file 'core.db' from mirrors.42tm.tech : Could not resolve host: mirrors.42tm.tech
warning: too many errors from mirrors.42tm.tech, skipping for the remainder of this transaction
error: failed retrieving file 'core.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: failed retrieving file 'extra.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: failed retrieving file 'multilib.db' from f.archlinuxvn.org : The requested URL returned error: 403
warning: too many errors from f.archlinuxvn.org, skipping for the remainder of this transaction
error: GPGME error: No data
error: GPGME error: No data
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))
error: GPGME error: No data
error: GPGME error: No data
:: Synchronizing package databases...
 core                                                                                               132.0 KiB   528 KiB/s 00:00 [##############################################################################] 100%
 extra                                                                                                8.3 MiB  8.52 MiB/s 00:01 [##############################################################################] 100%
 junest                                                                                            1728.0   B  3.70 KiB/s 00:00 [##############################################################################] 100%
 multilib                                                                                           143.1 KiB   650 KiB/s 00:00 [##############################################################################] 100%
error: failed retrieving file 'core.db' from mirrors.42tm.tech : Could not resolve host: mirrors.42tm.tech
warning: too many errors from mirrors.42tm.tech, skipping for the remainder of this transaction
error: failed retrieving file 'core.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: failed retrieving file 'extra.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: failed retrieving file 'multilib.db' from f.archlinuxvn.org : The requested URL returned error: 403
warning: too many errors from f.archlinuxvn.org, skipping for the remainder of this transaction
error: GPGME error: No data
error: GPGME error: No data
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))
 -> exit status 1
error: GPGME error: No data
error: GPGME error: No data
error: database 'extra' is not valid (invalid or corrupted database (PGP signature))
error: database 'multilib' is not valid (invalid or corrupted database (PGP signature))
 -> error installing repo packages
grep: ./.junest/usr/share/applications/*: No such file or directory
cp: cannot stat '': No such file or directory
^C

vlc build success

find: cannot delete ‘./vlc.AppDir/.junest/usr/share/doc/openjpeg-2.5/html’: Directory not empty
find: cannot delete ‘./vlc.AppDir/.junest/usr/share/doc/openjpeg-2.5’: Directory not empty
find: cannot delete ‘./vlc.AppDir/.junest/usr/share/doc/vlc/libvlc/QtPlayer’: Directory not empty
appimagetool, continuous build (commit 5735cc5), build <local dev build> built on 2023-03-08 22:52:04 UTC
Using architecture x86_64
/home/thinker/Desktop/tmp/vlc.AppDir should be packaged as VLC_media_player-x86_64.AppImage
Deleting pre-existing .DirIcon
Creating .DirIcon symlink based on information from desktop file
Generating squashfs...
Parallel mksquashfs: Using 16 processors
Creating 4.0 filesystem on VLC_media_player-x86_64.AppImage, block size 131072.
[================================================================================================================================================================================================/] 21146/21146 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
        compressed data, compressed metadata, compressed fragments,
        compressed xattrs, compressed ids
        duplicates are removed
Filesystem size 307912.67 Kbytes (300.70 Mbytes)
        33.53% of uncompressed filesystem size (918386.73 Kbytes)
Inode table size 192375 bytes (187.87 Kbytes)
        24.62% of uncompressed inode table size (781513 bytes)
Directory table size 192885 bytes (188.36 Kbytes)
        45.01% of uncompressed directory table size (428539 bytes)
Number of duplicate files found 2643
Number of inodes 20356
Number of files 15048
Number of fragments 912
Number of symbolic links  3042
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 2266
Number of ids (unique uids + gids) 1
Number of uids 1
        root (0)
Number of gids 1
        root (0)
Embedding ELF...
Marking the AppImage as executable...
Embedding MD5 digest
Success

Please consider submitting your AppImage to AppImageHub, the crowd-sourced
central directory of available AppImages, by opening a pull request
at https://github.com/AppImage/appimage.github.io

vlc size :

-rwxr-xr-x 1 thinker thinker 315M Sun Jul 30 01:27:50 2023


play success:

![image](https://github.com/ivan-hc/MPV-appimage/assets/87791643/a81bd994-2f16-497c-b57a-c891c10b109f)

Archimage some have error:

./feh-junest.sh
fatal: destination path '/home/thinker/Desktop/tmp/.local/share/junest' already exists and is not an empty directory.
Error: The image cannot be installed since /home/thinker/Desktop/tmp/.junest is not empty.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   279  100   279    0     0    592      0 --:--:-- --:--:-- --:--:--   592
error: could not register 'multilib' database (database already registered)
:: Synchronizing package databases...
 core                                                                                               132.0 KiB   346 KiB/s 00:00 [##############################################################################] 100%
 extra                                                                                               23.0 KiB  1388   B/s 00:17 [##############################################################################] 100%
 junest                                                                                            1728.0   B  2.61 KiB/s 00:01 [##############################################################################] 100%
 multilib                                                                                             2.9 KiB   177   B/s 00:17 [##############################################################################] 100%
error: failed retrieving file 'core.db' from mirrors.42tm.tech : SSL connection timeout
error: failed retrieving file 'core.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: GPGME error: No data
error: GPGME error: No data
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))
error: GPGME error: No data
error: GPGME error: No data
error: could not register 'multilib' database (database already registered)
:: Synchronizing package databases...
 core is up to date
 extra                                                                                                8.3 MiB  5.27 MiB/s 00:02 [##############################################################################] 100%
 junest                                                                                            1728.0   B  3.92 KiB/s 00:00 [##############################################################################] 100%
 multilib                                                                                           143.1 KiB   639 KiB/s 00:00 [##############################################################################] 100%
error: failed retrieving file 'core.db' from mirrors.42tm.tech : Could not resolve host: mirrors.42tm.tech
warning: too many errors from mirrors.42tm.tech, skipping for the remainder of this transaction
error: failed retrieving file 'core.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: failed retrieving file 'extra.db' from f.archlinuxvn.org : The requested URL returned error: 403
error: failed retrieving file 'multilib.db' from f.archlinuxvn.org : The requested URL returned error: 403
warning: too many errors from f.archlinuxvn.org, skipping for the remainder of this transaction
error: GPGME error: No data
error: GPGME error: No data
error: failed to synchronize all databases (invalid or corrupted database (PGP signature))
 -> database already registered
 -> database already registered
rm: cannot remove './.junest/etc/locale.conf': No such file or directory
cp: cannot stat '': No such file or directory

i sleep , see you torromow

About your last comment

Archimage some have error:

using ArchImage-cli you need to built it again each time you want to create a new ArchImage, ie create a new directory and run the script there. Do this each time you want to create a new ArchImage.

I suggest to play with JuNest first, then take note of dependences (and main binary name in /usr/bin, it is different in apps like handbrake and obs-studio) and then create the script of the ArchImage.

About your last comment

Archimage some have error:

using ArchImage-cli you need to built it again each time you want to create a new ArchImage, ie create a new directory and run the script there. Do this each time you want to create a new ArchImage.

I suggest to play with JuNest first, then take note of dependences (and main binary name in /usr/bin, it is different in apps like handbrake and obs-studio) and then create the script of the ArchImage.

I fixed network error and font , just like you say
font fixed:

$HERE/.local/share/junest/bin/junest proot -n -b "--bind=/home --bind=/home/$(echo $USER) --bind=/media --bind=/mnt --bind=/opt --bind=/usr/lib/locale --bind=/etc/fonts --bind=/usr/share/fonts --bind=/usr/share/fontconfig" 2> /dev/null -- BINARY "$@"

network fixed:

wget -q https://archlinux.org/mirrorlist/?country="HK" -O - | sed 's/#Server/Server/g' >> ./.junest/etc/pacman.d/mirrorlist

we are going off topic now, this was an issue related the MPV ArchImage, not a guide on how to build archimages

said this, we have found that the responsible was a missing library, /usr/lib/dri/swrast_dri.so, the reason that you can't play videos. This was not a problem in many desktop-oriented GNU/Linux distributions... but you use Kali Linux, so it laks of many things that a normal distro already have.

I close this as solved.