
Recherche avancée
Autres articles (77)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)
Sur d’autres sites (10048)
-
mpv player with SFTP does not work in bash script [closed]
19 mars 2024, par Pickles888I am making a bash script to make it easier to stream from my media server at home.


In the bash script, it asks whether you want to list or search, and then uses mpv to stream the file. For some reason it says the file does not exist. When I try this in the terminal it works, but running the script gives this error :


[ffmpeg] libssh: Error opening sftp file: SFTP server: No such file
Failed to open sftp://[username:password]@[ip.of.server]/[directory/to/file]



My script :


#!/bin/bash

pass="[password]"

if [ $(nmcli | grep -c [home-network]) -gt 0 ]; then
 ip="[private.ip]"
else
 ip="[public.ip]"
fi

mfolder="[/directory/of/file]"

function select_option {

 # little helpers for terminal print control and key input
 ESC=$( printf "\033")
 cursor_blink_on() { printf "$ESC[?25h"; }
 cursor_blink_off() { printf "$ESC[?25l"; }
 cursor_to() { printf "$ESC[$1;${2:-1}H"; }
 print_option() { printf " $1 "; }
 print_selected() { printf " $ESC[7m $1 $ESC[27m"; }
 get_cursor_row() { IFS=';' read -sdR -p $'\E[6n' ROW COL; echo ${ROW#*[}; }
 key_input() { read -s -n3 key 2>/dev/null >&2
 if [[ $key = $ESC[A ]]; then echo up; fi
 if [[ $key = $ESC[B ]]; then echo down; fi
 if [[ $key = "" ]]; then echo enter; fi; }

 # initially print empty new lines (scroll down if at bottom of screen)
 for opt; do printf "\n"; done

 # determine current screen position for overwriting the options
 local lastrow=`get_cursor_row`
 local startrow=$(($lastrow - $#))

 # ensure cursor and input echoing back on upon a ctrl+c during read -s
 trap "cursor_blink_on; stty echo; printf '\n'; exit" 2
 cursor_blink_off

 local selected=0
 while true; do
 # print options by overwriting the last lines
 local idx=0
 for opt; do
 cursor_to $(($startrow + $idx))
 if [ $idx -eq $selected ]; then
 print_selected "$opt"
 else
 print_option "$opt"
 fi
 ((idx++))
 done

 # user key control
 case `key_input` in
 enter) break;;
 up) ((selected--));
 if [ $selected -lt 0 ]; then selected=$(($# - 1)); fi;;
 down) ((selected++));
 if [ $selected -ge $# ]; then selected=0; fi;;
 esac
 done

 # cursor position back to normal
 cursor_to $lastrow
 printf "\n"
 cursor_blink_on

 return $selected
}

stream() {
 mpv --fs "sftp://[username]:$pass@$ip$mfolder${options[choice]}"
}

search() {
 read -p "Search
> " search
 chars=$(echo -n "$search" | wc -c)
 printf '\n'
 clear
 printf "Search Results For $search:"
 printf '\n'
 readarray options < <(sshpass -p "$pass" ssh "[username]@$ip" ls "$mfolder" | agrep -i -$(($chars/3)) "$search")
 select_option "${options[@]}"
 choice=$?
 stream
}

list() {
 clear
 sshpass -p "$pass" ssh [username]@$ip ls "$mfolder"
 search
}

cmd() {
 read -p "List or Search 
(S/l)> " cmd
 printf '\n'
 
 if [[ "$cmd" == "S" || "$cmd" == "s" ]]; then
 search
 elif [[ "$cmd" == "L" || "$cmd" == "l" ]]; then
 list
 else
 search
 fi
}

main() {
 cmd
}

main



Anything put in brackets is to not share my personal info (except for arrays, if statements etc)


Also this seems to have only changed while I was making the script. In the beginning, it was working great, but at one point it randomly stopped working.


I have a feeling its some kind of quote mess up or something stupid like that. I have tried to edit it and fix it to the best of my abilities but nothing I did fixed it.


I also think it could have to do with it being run in the bash environment as I normally use zsh. However I tested it in my shell by running /bin/bash and executing the command and it worked.


Also the option chooser was not made by me.


-
Revision e71248addc : Code cleanup in block reconstruction code. Adding recon, recond_sby and recon_s
2 avril 2013, par Dmitry KovalevChanged Paths : Modify /vp9/common/vp9_recon.c Code cleanup in block reconstruction code. Adding recon, recond_sby and recon_sbuv functions. Change-Id : I6050db233e792e73a3699d18b056eaef9c901d6d
-
Revision e434d08fd9 : Remove old activity masking code. Delete code relating to the old VP8_TUNE_SSIM
14 avril 2014, par Paul WilkinsChanged Paths :
Modify /vp9/encoder/vp9_block.h
Modify /vp9/encoder/vp9_encodeframe.c
Modify /vp9/encoder/vp9_onyx_if.c
Modify /vp9/encoder/vp9_onyx_int.h
Modify /vp9/encoder/vp9_quantize.c
Remove old activity masking code.Delete code relating to the old VP8_TUNE_SSIM flag
as this code does not currently work and is largely made
redundant in VP9 by the various AQ modes.Change-Id : I71f28e1f680573d296422254489000678552b17b