scriptek

Programozás, programnyelvek, kiegészítők, alkalmazások, programnyelvek, programfejlesztéssel kapcsolatos témák, közvetlenül a programozással összefüggő kérdések
nocsak
Hozzászólások: 262
Csatlakozott: 2014.09.29. 15:01

Re: scriptek

Hozzászólás Szerző: nocsak »

Üdv!

A 21. század jelszava ha már úgy is a "Click N Go", akkor átírtam Click N Go -ra az ffmpeg stream felvevőmet. Ennek viszont ára van: szerkeszteni kell a szkriptet 5 helyen... ha ezzel megvagyunk akkor gyakorlatilag örök élet ingyen lőszer... Íme:

Kód: Egész kijelölése

#!/bin/bash 
#This script REmade by nocsak 2019.07.08-2020.08.06.
#ffmpeg stream recorder and player v5 Click n Go
export OUTPUT_CHARSET=UTF-8
cbb=""
cvb=""
frog=""
namme=""
deha=""
rudder=""
lista=""
dellayy=""

###DO_NO_EDIT_ABOVE_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

# rudder="gnome-mplayer"
# rudder="mpv --player-operation-mode=pseudo-gui -- %U"
# lista="http://radio.elte.hu:8000/eper97"

rudder="defaultmediaplayer" # default media player
dellayy="11" # opening delay for playback
lista="https://dancewave.online/dance.mp3" # stream URL
namme="dancewave" #filename suffix should be equal with this script's filename
deha="_$namme.mp3" #file extension

###DO_NO_EDIT_BELOW_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

cbb=$(dirname $0)
cvb="$cbb/$namme.txt"
frog=$(cat $cvb)

if [[ -f "$cvb" && "$frog" != "" ]];then

kill -15 $frog ; echo "stopped $frog" ; xmessage -title "Stopped" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "Stopped $frog !" -timeout 5 ; rm $cvb &

else

export novik=$(date +'%Y_%m_%d-%H-%M-%S')

export roadrunner="ffmpeg -y -i $lista $cbb/$novik$deha"

exec $roadrunner &
export loadrunner=$! && echo $loadrunner > $cvb
export traktor="$rudder $cbb/$novik$deha"

sleep 6

if ps -p $loadrunner > /dev/null
then

sleep $dellayy && exec $traktor &

else

rm $cvb
echo "nem fut"

xmessage -title "Hiba" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "Nem indult el a felvétel!" -timeout 5 


fi
fi





A szkript működéséről:

Minden egyes indításnál értsd futtató Click-nél, először megvizsgálja a beállított $namme változóval ellátott fájlnévvel egyező txt-t a szkript mappájában... eleve mindennel oda dolgozik. Jelen esetben ez a dancewave.txt lesz. Ha létezik, és a tartalma nem semmi, akkor a benne lévő tartalomra kiadásra kerül egy sor parancs a kill -15 -ös signal-lal az élen. Feltételezvén a fájlban az egyébként első induláskor értékként bele kerülő adatfolyam pid-jét. Ha ez meg van echo és xmessage tájékoztat minket a stop-ról. Következő indító Clicknél elindul a stream folyam és a pid ismét létre hozván a txt-t bele kerül. Ha mégse indulna el a várt 6 másodperc alatt a folyam, akkor pedig a szkript végi else ág jut érvényre, tájékoztat és törli a txt-t az is. Ha pedig minden rendben indul a txt a köv indtó Click-k ig megmarad a hozzá tartozó folyam pid számával.

Összesen 5 helyen kommentben leírva kellene ügyelni a szkript szerkesztésére erre van alatta, felette, mellette utalás is angolul. De elvileg 1x beállítjuk utána csak használni kell.
Ha pedig komolyabb szándékaink nem igénylik a lejátszás indítását így akkor a következő sort kommenteljük ki kettőskereszttel az elején:

Kód: Egész kijelölése

# sleep $dellayy && exec $traktor &
így csak felvételünk lesz.

A működés vízuálisan egyértelmű, ha van a shell szkript neve alapján javasolva beállítva fájlnév értsd $namme akkor a .sh fájlnévvel azonos txt amennyiben látszik, úgy fut a szkript által indított adatfolyam, ekkor indítsuk el az adekvát szkriptet újra, majd az leállítja és törli a txt-t. Ennek az egésznek az az értelme, hogy Stream URL-enként tudunk külön példányokat menteni más néven szerkesztve a stream url-hez és a .sh fájlnévhez a tartalmat s így tényleg csak Click n Go lesz a működés és nem függünk a Termináltól és a gtkdialog-tól. Ergo más Linuxokon is nagy valószínűséggel bevethető.

Avatar
KuLuSz
Hozzászólások: 534
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

No most készült el részben az egyik legújabb szkriptem, mellyel konzolon vagy terminálban be tudjuk állitani a wifinket . Jelezném hogy erősen teszt jellegü a dolog , lehetnek hibák... Én már teszteltem a saját wpa-psk titkositásu wifimmel, illetve nocsak tesztelte az ő rejtett wpa2-psk titkositásu hálózatával (köszönöm)... mind a két módon müködött a szkript . A szkript nem menti el sem a jelszavat sem a hálózat nevet, se semmit , csak 1x csatlakozik a netre amig fut a munkamenet ... majd a későbbiekben lehet irok hozzá "mentő akciót :D". A szkript azért készült mert szándékozok majd a jövőben össze rakni 1 net-installos rendszert , melyet a xemini ihletett a pkg csomagkezelővel karöltve ...
x nélkül igy néz ki
x nélkül igy néz ki
screenshot.jpg (432.24 KiB) Megtekintve 639 alkalommal
Mj. a csatolmányhoz : Távolitsuk el a .tgz kiterjesztést, adjunk jogosultságot neki,majd futtassuk mint 1 szkriptet (terminálban)
Csatolmányok
wifi.tgz
Távolitsuk el a .tgz kiterjesztést, adjunk jogosultságot neki,majd futtassuk mint 1 szkriptet (terminálban)
(4.44 KiB) Letöltve 15 alkalommal.
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

Avatar
KuLuSz
Hozzászólások: 534
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

Nocsak megkért arra hogy irjam bele a dhcp/statikus ip választási lehetőséget a szkriptbe, hátha valaki fix ip-vel akarna csatlakozni wifin. röviden ennyi a módositás ...
az új funkció :)
az új funkció :)
screenshot.jpg (47.88 KiB) Megtekintve 630 alkalommal

Mj. a csatolmányhoz : Távolitsuk el a .tgz kiterjesztést, adjunk jogosultságot neki,majd futtassuk mint 1 szkriptet (terminálban)
Csatolmányok
wifi-v3.tgz
Távolitsuk el a .tgz kiterjesztést, adjunk jogosultságot neki,majd futtassuk mint 1 szkriptet (terminálban)
(4.94 KiB) Letöltve 11 alkalommal.
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

nocsak
Hozzászólások: 262
Csatlakozott: 2014.09.29. 15:01

Re: scriptek

Hozzászólás Szerző: nocsak »

Próbálkozgatok, próbálkozgatok...

sr6.sh

Kód: Egész kijelölése

#!/bin/bash 
#This script REmade by nocsak 2019.07.08-2020.09.08.
#ffmpeg stream recorder and player v6


rudder=""
lista=""
###DO_NO_EDIT_ABOVE_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

#rudder="mpv --player-operation-mode=pseudo-gui -- %U"
rudder="defaultmediaplayer"

lista="$lista


<default>http://radio.elte.hu:8000/eper97</default>
      <item>http://radio.elte.hu:8000/eper97</item>
      <item>http://stream.radio88.hu:8000</item>
      <item></item>



"


###DO_NO_EDIT_BELOW_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

novik=$(date +'%Y_%m_%d-%H-%M-%S')


export CURD=$(dirname $0)

 
 export OUTPUT_CHARSET=UTF-8
 
 export MAIN_DIALOG="
 <window title=\"$(gettext 'Online Stream Recorder/Player - ffmpeg')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox>
    <frame Stream URL>
     <text>
      <label>Choose a stream from list below!</label>
     </text>
     <text>
      <label>Example:</label>
     </text>
     <comboboxtext>
      <variable>PATHPROG01</variable>
      ${lista}
     </comboboxtext>
     </frame>
     <frame Playback Volume>
     <hscale width-request=\"250\" range-min=\"1\" range-max=\"9\" range-step=\"1\">
		<default>4</default>
		<variable>PATHPROG08</variable>
     </hscale>
     </frame>
     <frame Filename to save>
      <text>
      <label>Filename:</label>
     </text>
     <hbox homogeneous=\"true\">
     <entry space-expand=\"false\" space-fill=\"false\" fs-title=\"Choose a directory:\" fs-action=\"folder\">
    <default>$CURD</default>
    <variable>DIReR</variable>
   </entry>
   <button>
   <label>Search</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:DIReR</action>
   </button>
   </hbox>
     <entry>
      <default>$novik.mp3</default>
      <variable>HTP</variable>
     </entry>
     </frame>
     <hbox homogeneous=\"true\">
      <button></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Kilépés')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOG --center`"
 eval "$RETSTRING"

if [[ "$pagg" = true ]]; then

echo "nothing"

else

exit 1

fi

if [ ! "$PATHPROG01" ] || [ "$PATHPROG01" = "0" ] || [ ! "$HTP" ] || [ "$HTP" = "0" ] || [ ! "$DIReR" ] || [ "$DIReR" = "0" ] || [ ! "$PATHPROG08" ] || [ "$PATHPROG08" = "0" ]; then 


xmessage -title "Something wrong" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "No value given!" -timeout 5 
else 


export roadrunner="ffmpeg -y -i $PATHPROG01 $DIReR/$HTP -filter:a volume=0.$PATHPROG08 -f alsa default"

exec $roadrunner &
export loadrunner=$!
export $HTP
export $DIReR
export traktor="$rudder $DIReR/$HTP"












sleep 6

if ps -p $loadrunner > /dev/null
then



ICONSETSGUI8=""







ICONSETSGUI8="$ICONSETSGUI8

<vbox>
<hbox>
<button>
<label>STOP: ffmpeg stream</label>
<action>exec kill -15 $loadrunner</action>
</button>
<button>
<label>PLAY_manually: ffmpeg output</label>
<action>exec $traktor &</action>
</button>
</hbox>
<hbox>
<button>
<label>DELETE: $HTP</label>
<action>rm -f $DIReR/$HTP &</action>
</button>
</hbox>
</vbox>

"


export MAIN_DIALOG="
<window title=\"$HTP\" icon-name=\"gtk-disconnect\" resizable=\"true\">
 <vbox>
 <frame Functions:>
  <text wrap=\"true\" width-chars=\"40\"><label>$(gettext 'Stream STOP, output PLAY ; DELETE')</label></text>
  </frame>
  
     <frame  Current Recording/Playing:>
 <text>
 <label>$PATHPROG01</label>
 </text>
     
  ${ICONSETSGUI8}
  
    <text>
      <label>-1-</label>
     </text>
    </frame>

  <hbox>
  
<button><input file stock=\"gtk-quit\"></input><label>$(gettext 'QUIT')</label></button>
  
   
  </hbox>
 </vbox>

</window>"

gtkdialog --program=MAIN_DIALOG --center


else




echo "not run"

xmessage -title "Something wrong" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "Recording didn't start!" -timeout 5 


fi
fi



sr6.jpg
sr6.jpg (128.58 KiB) Megtekintve 590 alkalommal





A módosítás annyi, hogy az ffmpeg felvétel egyből lejátszásra is kerül az ALSA default kimenetre. Hangerőt erre a playback-re tudunk előre megadni amit közben nem tudunk változtatni. az 5-ös a 0.5 értéknek tehát az eredeti felének felel meg. Alap a 4. Bővült törlés gombbal a leállító ablak. Az ffmpeg stream stoppolásával mind a felvétel mind a lejátszás leáll. Utólag a PLAY_manually gombbal tudjuk újra játszani a felvételt aminek hangereje eredeti állapotú, valamint törölni a DELETE: fájlnév gombbal ha esetleg mégse kéne. Ezen ablak nem bolondbiztos, így ha valaki kedvet kap törölni az épp futó stream outputot - így járt.

Jó szórakozást!

nocsak
Hozzászólások: 262
Csatlakozott: 2014.09.29. 15:01

Re: scriptek

Hozzászólás Szerző: nocsak »

Nos, hát a "hármaska" avagy a fofiplay is kapott egy kis átalakítást, ffplay és mplayer helyett opengl illetve X video kimenetet kapott ffmpeg módra. Csak videó streamekkel boldogul lévén, hogy opengl vagy Xvideo kiementre van beállítva. Egyelőre még csak magyarul tud.

fofi2play.sh

Kód: Egész kijelölése

#!/bin/bash 
#This script REmade by nocsak 2020.09.08.
 
 export OUTPUT_CHARSET=UTF-8
 
 export MAIN_DIALOG="
 <window title=\"$(gettext 'Online Video Stream Lejátszó')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox>
    <frame Stream URL>
     <text>
      <label>Add meg a lejátszani kívánt hálózati hely elérését!</label>
     </text>
     <text>
      <label>Például:</label>
     </text>
     <entry>
     

     <default>rtmp://video.fixhd.tv:1935/fix/hd.stream</default>
<variable>PATHPROG01</variable>
     </entry>
     </frame>
     <frame Felbontás (0 vagy érték vagy hagyd üresen)>
      <text>
      <label>Ide írd milyen széles legyen a videó:</label>
     </text>
     <entry>
      <default>600</default>
      <variable>HTP</variable>
     </entry>
     </frame>
     <frame Renderer (xv vagy opengl)>
      <text>
      <label>Videó renderer:</label>
     </text>
     <entry>
      <default>opengl</default>
      <variable>HTVP</variable>
     </entry>
     </frame>
     <hbox homogeneous=\"true\">
      <button ok></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Kilépés')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOG --center`"
 eval "$RETSTRING"

if [[ "$pagg" = true ]]; then

echo "nothing"

else

exit 1

fi


if [ ! "$HTP" ] || [ "$HTP" == "0" ]; then









if [ ! "$PATHPROG01" ] || [ ! "$HTVP" ] || [ "$HTVP" == "0" ]; then
    
    xmessage -title "Valami nem kerek" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "Nem adtál meg értéket!" -timeout 5
  
 
  else
  
  
  
  
  ffmpeg -i $PATHPROG01 -f $HTVP fofi2play -f alsa default &
  
fi


else



if [ ! "$PATHPROG01" ] || [ ! "$HTVP" ] || [ "$HTVP" == "0" ]; then
    
    xmessage -title "Valami nem kerek" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "Nem adtál meg értéket!" -timeout 5
  
 
  else
  
  
  
  
  
  ffmpeg -i $PATHPROG01 -vf scale=$HTP:-1 -f $HTVP fofi2play -f alsa default &
    
fi



fi






fofi2play.jpg
fofi2play.jpg (32.94 KiB) Megtekintve 568 alkalommal
fofi2play1.jpg
fofi2play1.jpg (32.43 KiB) Megtekintve 568 alkalommal

nocsak
Hozzászólások: 262
Csatlakozott: 2014.09.29. 15:01

Re: scriptek

Hozzászólás Szerző: nocsak »

Mára ennyi:

A mindent lejátszó ffmpeg lejátszó:

fofi3play.sh

Kód: Egész kijelölése

#!/bin/bash 
#This script REmade by nocsak 2020.09.08.
 
 export OUTPUT_CHARSET=UTF-8
 
 export MAIN_DIALOG="
 <window title=\"$(gettext 'ffmpeg Player')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox>
    <frame Stream URL>
     <text>
      <label>Type or open file or Stream URL path!</label>
     </text>
     <text>
      <label>Example:</label>
     </text>
     <entry>
     

     <default>rtmp://video.fixhd.tv:1935/fix/hd.stream</default>
<variable>PATHPROG01</variable>
     </entry>
     <button>
   <label>Search</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:PATHPROG01</action>
   </button>
   <frame Playback Volume>
     <hscale width-request=\"250\" range-min=\"1\" range-max=\"9\" range-step=\"1\">
		<default>4</default>
		<variable>PATHPROG08</variable>
     </hscale>
     </frame>
     </frame>
     <frame Resolution (0 or vaule or leave empty)>
      <text>
      <label>Video width:</label>
     </text>
     <entry>
      <default>600</default>
      <variable>HTP</variable>
     </entry>
     </frame>
     <frame IF video only without audio>
    <checkbox>
      <label>videoonly</label>
      <variable>HTVPD</variable>
    </checkbox>
  </frame>
     <frame Renderer (xv or opengl or audio)>
          <radiobutton active=\"true\">
      <label>opengl</label>
      <variable>HTVP1</variable>
    </radiobutton>

    <radiobutton>
      <label>xv</label>
      <variable>HTVP2</variable>
    </radiobutton>

    <radiobutton>
      <label>audio</label>
      <variable>HTVP3</variable>
    </radiobutton>
  </frame>
     
     <hbox homogeneous=\"true\">
      <button ok></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Kilépés')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOG --center`"
 eval "$RETSTRING"

if [[ "$pagg" = true ]]; then

echo "nothing"

else

exit 1

fi


if [ ! "$HTP" ] || [ "$HTP" == "0" ]; then









if [ ! "$PATHPROG01" ]; then
    
    xmessage -title "Something wrong" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "No value given!" -timeout 5
  
 
  else
  
  
  if [ "$HTVP3" == true ];then
  
  defaultterminal -e ffmpeg -i "$PATHPROG01" -filter:a volume=0.$PATHPROG08 -f alsa default
  
  else
  
  
  if [ "$HTVPD" == true ];then
  if [ "$HTVP1" == true ];then
    ffmpeg -re -i "$PATHPROG01" -f opengl fofi3play &
else

ffmpeg -re -i "$PATHPROG01" -f xv fofi3play &

fi

else
if [ "$HTVP1" == true ];then
ffmpeg -i "$PATHPROG01" -f opengl fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  else
  ffmpeg -i "$PATHPROG01" -f xv fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  fi
  fi
fi
fi

else



if [ ! "$PATHPROG01" ]; then
    
    xmessage -title "Something wrong" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "No value given!" -timeout 5
  
 
  else
  
  
  
  
  
    if [ "$HTVP3" == true ];then
  
  defaultterminal -e ffmpeg -i "$PATHPROG01" -filter:a volume=0.$PATHPROG08 -f alsa default
  
  else
  
  
  if [ "$HTVPD" == true ];then
  if [ "$HTVP1" == true ];then
    ffmpeg -re -i "$PATHPROG01" -vf scale=$HTP:-1 -f opengl fofi3play &
else

ffmpeg -re -i "$PATHPROG01" -vf scale=$HTP:-1 -f xv fofi3play &

fi

else
if [ "$HTVP1" == true ];then
ffmpeg -i "$PATHPROG01" -vf scale=$HTP:-1 -f opengl fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  else
  ffmpeg -i "$PATHPROG01" -vf scale=$HTP:-1 -f xv fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  fi
  fi
fi
  fi
  
  

fi




fofi3play.jpg
fofi3play.jpg (34.36 KiB) Megtekintve 549 alkalommal


Játszik csak audio Streamet, csak video fájlt és streamet, audiovideo streamet, csak audio fájlt, audiovideó fájlt. Ha csak zenét akarunk akkor audio bepöttyint, hangerő egyértelmű, video only csak video fájl vagy stream esetén. Ezt felülbírálja az audio. Alfa verzió, tesztre bocsájtva. Ez csak lejátszó. Seekelni nem lehet benne. Utólag és közben hangerőt sem lehet állítani... De van olyan stream amit csak ez vitt, még a vlc se.

nocsak
Hozzászólások: 262
Csatlakozott: 2014.09.29. 15:01

Re: scriptek

Hozzászólás Szerző: nocsak »

Final version - Utolsó verzió

Már így is elég kellemetlennek érzem a helyzetet ezekkel kapcsolatban, pedig csak fejlesztettem magam kicsit, no meg a lejátszókat, felvevőket. Ha mégis valaki lát benne fantáziát, netán nála is előfordul, hogy csak ffmpeggel nyílik meg valami, akkor azoknak ajánlom figyelmébe, ugyanis nincs új a nap alatt, sem a spanyol viaszt nem találtam fel - gyakoroltam a shell szkriptelést és megpróbáltam olyan szintre hozni, hogy azért legyen valami minimális értelme is.

Az első az ffmpeg player csinosítgatása volt, működésében megegyezik az előzővel, csak kicsit formásabb lett:

fofi3play.sh

Kód: Egész kijelölése

#!/bin/bash 
#This script REmade by nocsak 2020.09.10.
 
 export OUTPUT_CHARSET=UTF-8
 
 export MAIN_DIALOG="
 <window title=\"$(gettext 'ffmpeg Player')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox scrollable=\"true\" height=\"440\" width=\"400\">
    <frame Stream URL or File path>
     <entry>
<variable>PATHPROG01</variable>
     </entry>
     <button>
   <label>Search</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:PATHPROG01</action>
   </button>
   </frame>
   <frame Playback Volume>
     <hscale width-request=\"250\" range-min=\"1\" range-max=\"9\" range-step=\"1\">
		<default>4</default>
		<variable>PATHPROG08</variable>
     </hscale>
     
     </frame>
     <frame Resolution width (0 or vaule or leave empty)>
     <entry>
      <default>600</default>
      <variable>HTP</variable>
     </entry>
     </frame>
     <frame If video only without audio>
    <checkbox>
      <label>videoonly</label>
      <variable>HTVPD</variable>
    </checkbox>
  </frame>
     <frame Renderer (xv or opengl or audio)>
          <radiobutton active=\"true\">
      <label>opengl</label>
      <variable>HTVP1</variable>
    </radiobutton>

    <radiobutton>
      <label>xv</label>
      <variable>HTVP2</variable>
    </radiobutton>

    <radiobutton>
      <label>audio</label>
      <variable>HTVP3</variable>
    </radiobutton>
  </frame>
     
     <hbox homogeneous=\"true\">
      <button ok></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Kilépés')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOG --center`"
 eval "$RETSTRING"

if [[ "$pagg" = true ]]; then

echo "nothing"

else

exit 1

fi


if [ ! "$HTP" ] || [ "$HTP" == "0" ]; then









if [ ! "$PATHPROG01" ]; then
    
    xmessage -title "Something wrong" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "No value given!" -timeout 5
  
 
  else
  
  
  if [ "$HTVP3" == true ];then
  
  defaultterminal -e ffmpeg -i "$PATHPROG01" -filter:a volume=0.$PATHPROG08 -f alsa default
  
  else
  
  
  if [ "$HTVPD" == true ];then
  if [ "$HTVP1" == true ];then
    ffmpeg -re -i "$PATHPROG01" -f opengl fofi3play &
else

ffmpeg -re -i "$PATHPROG01" -f xv fofi3play &

fi

else
if [ "$HTVP1" == true ];then
ffmpeg -i "$PATHPROG01" -f opengl fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  else
  ffmpeg -i "$PATHPROG01" -f xv fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  fi
  fi
fi
fi

else



if [ ! "$PATHPROG01" ]; then
    
    xmessage -title "Something wrong" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "No value given!" -timeout 5
  
 
  else
  
  
  
  
  
    if [ "$HTVP3" == true ];then
  
  defaultterminal -e ffmpeg -i "$PATHPROG01" -filter:a volume=0.$PATHPROG08 -f alsa default
  
  else
  
  
  if [ "$HTVPD" == true ];then
  if [ "$HTVP1" == true ];then
    ffmpeg -re -i "$PATHPROG01" -vf scale=$HTP:-1 -f opengl fofi3play &
else

ffmpeg -re -i "$PATHPROG01" -vf scale=$HTP:-1 -f xv fofi3play &

fi

else
if [ "$HTVP1" == true ];then
ffmpeg -i "$PATHPROG01" -vf scale=$HTP:-1 -f opengl fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  else
  ffmpeg -i "$PATHPROG01" -vf scale=$HTP:-1 -f xv fofi3play -filter:a volume=0.$PATHPROG08 -f alsa default &
  fi
  fi
fi
  fi
  
  

fi

fofi3play_sh.jpg
fofi3play_sh.jpg (34.08 KiB) Megtekintve 502 alkalommal


A másik kettőnél a STOP ablakban a törlés mellé kiegészítésként Process visszajelzésünk is van, 3 mp-enként frissül az érték, ha a folyam leáll, eltűnik. Ez jó dolog, látjuk ha leállt a stream. Lejátszás csak a PLAY_manually gombbal a defaultmediaplayer -rel történik. Ez persze felülbírálható a szkript erre eső részében átírva. Ha leállítottuk a streamet és a playback-et, akkor törölni is tudjuk a rögzített fájlt, ha mégse kéne.

sr7.sh (listás verzió)

Kód: Egész kijelölése

#!/bin/bash 
#This script REmade by nocsak 2019.07.08-2020.09.10.
#ffmpeg stream recorder and player v7


rudder=""
lista=""
###DO_NO_EDIT_ABOVE_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

#rudder="mpv --player-operation-mode=pseudo-gui -- %U"
export rudder="defaultmediaplayer"

lista="$lista


<default>http://radio.elte.hu:8000/eper97</default>
      <item>http://radio.elte.hu:8000/eper97</item>
      <item></item>
      <item></item>
      <item></item>
      <item></item>
      <item></item>
      <item></item>




"


###DO_NO_EDIT_BELOW_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

novik=$(date +'%Y_%m_%d-%H-%M-%S')


export CURD=$(dirname $0)

 
 export OUTPUT_CHARSET=UTF-8
 
 export MAIN_DIALOG="
 <window title=\"$(gettext 'Online Stream Recorder v7 - ffmpeg')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox>
    <frame Stream URL list>
     <comboboxtext>
      <variable>PATHPROG01</variable>
      ${lista}
     </comboboxtext>
     </frame>
     <frame Filename to save>
     <hbox homogeneous=\"true\">
     <entry space-expand=\"false\" space-fill=\"false\" fs-title=\"Choose a directory:\" fs-action=\"folder\">
    <default>$CURD</default>
    <variable>DIReR</variable>
   </entry>
   <button>
   <label>Search</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:DIReR</action>
   </button>
   </hbox>
     <entry>
      <default>$novik.mp3</default>
      <variable>HTP</variable>
     </entry>
     </frame>
     <hbox homogeneous=\"true\">
      <button></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Kilépés')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOG --center`"
 eval "$RETSTRING"

if [[ "$pagg" = true ]]; then

echo "nothing"

else

exit 1

fi

if [ ! "$PATHPROG01" ] || [ "$PATHPROG01" = "0" ] || [ ! "$HTP" ] || [ "$HTP" = "0" ] || [ ! "$DIReR" ] || [ "$DIReR" = "0" ]; then 


xmessage -title "Valami nem kerek" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "Nem adtál meg értéket!" -timeout 5 
else 


ffmpeg -y -i "$PATHPROG01" "$DIReR/$HTP" &

export loadrunner=$!
export $HTP
export $DIReR













sleep 6

if ps -p $loadrunner > /dev/null
then



ICONSETSGUI8=""







ICONSETSGUI8="$ICONSETSGUI8

<vbox>
<hbox>
<button>
<label>STOP: ffmpeg stream</label>
<action>exec kill -15 $loadrunner</action>
</button>
<button>
<label>PLAY_manually: ffmpeg output</label>
<action>$rudder \"$DIReR/$HTP\" &</action>
</button>
</hbox>
<hbox>
<button>
<label>DELETE: $HTP</label>
<action>rm -f \"$DIReR/$HTP\" &</action>
</button>
</hbox>
<frame Process>
      <text>
       <label>nothing</label>
       <input>ps -p $loadrunner</input>
       <variable>nocsakdokk</variable>
     </text>
<timer milliseconds=\"true\" interval=\"3000\" visible=\"false\">
     
     <action>refresh:nocsakdokk</action>
     
     </timer>
</frame>
</vbox>

"


export MAIN_DIALOG="
<window title=\"$HTP\" icon-name=\"gtk-disconnect\" resizable=\"true\">
 <vbox>
 <frame Functions:>
  <text wrap=\"true\" width-chars=\"40\"><label>$(gettext 'Stream STOP, output PLAY , DELETE')</label></text>
  </frame>
  
     <frame  Current Recording:>
 <text>
 <label>$PATHPROG01</label>
 </text>
     
  ${ICONSETSGUI8}
  
    <text>
      <label>-1-</label>
     </text>
    </frame>

  <hbox>
  
<button><input file stock=\"gtk-quit\"></input><label>$(gettext 'QUIT')</label></button>
  
   
  </hbox>
 </vbox>

</window>"

gtkdialog --program=MAIN_DIALOG --center


else




echo "not run"

xmessage -title "Something wrong" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "Recording didn't start!" -timeout 5 


fi
fi

 

out.jpg
out.jpg (69.76 KiB) Megtekintve 502 alkalommal


sr8.sh (Beviteli mezős változat)

Kód: Egész kijelölése

#!/bin/bash 
#This script REmade by nocsak 2019.07.08-2020.09.10.
#ffmpeg stream recorder and player v8


rudder=""

###DO_NO_EDIT_ABOVE_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

#rudder="mpv --player-operation-mode=pseudo-gui -- %U"
export rudder="defaultmediaplayer"




###DO_NO_EDIT_BELOW_UNLESS_YOU_KNOW_WHAT_YOU_ARE_DOING!!!###

novik=$(date +'%Y_%m_%d-%H-%M-%S')


export CURD=$(dirname $0)

 
 export OUTPUT_CHARSET=UTF-8
 
 export MAIN_DIALOG="
 <window title=\"$(gettext 'Online Stream Recorder v8 - ffmpeg')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox>
    <frame Stream URL or Filepath to Transcode>
     <entry>
      <variable>PATHPROG01</variable>
     </entry>
          <button>
       <label>Search</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:PATHPROG01</action>
   </button>
     </frame>
     <frame Filename to save>
     <hbox homogeneous=\"true\">
     <entry space-expand=\"false\" space-fill=\"false\" fs-title=\"Choose a directory:\" fs-action=\"folder\">
    <default>$CURD</default>
    <variable>DIReR</variable>
   </entry>
   <button>
   <label>Search</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:DIReR</action>
   </button>
   </hbox>
     <entry>
      <default>$novik.mp3</default>
      <variable>HTP</variable>
     </entry>
     </frame>
     <hbox homogeneous=\"true\">
      <button></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Kilépés')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOG --center`"
 eval "$RETSTRING"

if [[ "$pagg" = true ]]; then

echo "nothing"

else

exit 1

fi

if [ ! "$PATHPROG01" ] || [ "$PATHPROG01" = "0" ] || [ ! "$HTP" ] || [ "$HTP" = "0" ] || [ ! "$DIReR" ] || [ "$DIReR" = "0" ]; then 


xmessage -title "Valami nem kerek" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "Nem adtál meg értéket!" -timeout 5 
else 


ffmpeg -y -i "$PATHPROG01" "$DIReR/$HTP" &

export loadrunner=$!
export $HTP
export $DIReR













sleep 6

if ps -p $loadrunner > /dev/null
then



ICONSETSGUI8=""







ICONSETSGUI8="$ICONSETSGUI8

<vbox>
<hbox>
<button>
<label>STOP: ffmpeg stream</label>
<action>exec kill -15 $loadrunner</action>
</button>
<button>
<label>PLAY_manually: ffmpeg output</label>
<action>$rudder \"$DIReR/$HTP\" &</action>
</button>
</hbox>
<hbox>
<button>
<label>DELETE: $HTP</label>
<action>rm -f \"$DIReR/$HTP\" &</action>
</button>
</hbox>
<frame Process>
      <text>
       <label>nothing</label>
       <input>ps -p $loadrunner</input>
       <variable>nocsakdokk</variable>
     </text>
<timer milliseconds=\"true\" interval=\"3000\" visible=\"false\">
     
     <action>refresh:nocsakdokk</action>
     
     </timer>
</frame>
</vbox>

"


export MAIN_DIALOG="
<window title=\"$HTP\" icon-name=\"gtk-disconnect\" resizable=\"true\">
 <vbox>
 <frame Functions:>
  <text wrap=\"true\" width-chars=\"40\"><label>$(gettext 'Stream STOP, output PLAY , DELETE')</label></text>
  </frame>
  
     <frame  Current Recording:>
 <text>
 <label>$PATHPROG01</label>
 </text>
     
  ${ICONSETSGUI8}
  
    <text>
      <label>-1-</label>
     </text>
    </frame>

  <hbox>
  
<button><input file stock=\"gtk-quit\"></input><label>$(gettext 'QUIT')</label></button>
  
   
  </hbox>
 </vbox>

</window>"

gtkdialog --program=MAIN_DIALOG --center


else




echo "not run"

xmessage -title "Something wrong" -buttons Ok:0,Cancel:1 -default Ok -nearmouse "Recording didn't start!" -timeout 5 


fi
fi

 

Screenshot(3).jpg
Screenshot(3).jpg (17.4 KiB) Megtekintve 484 alkalommal

Több változattal már nem jelentkezem csak max kérésre.
Ha netán mégis készülne bármi újabb azt ide helyezem opcionálisan:

https://skamilinux.hu/nocsak/puppychart ... shell.html


Szerkesztve!!

Transzkódolásra is alkalmas mostantól az sr8 szkript, betallózzuk a kódolandó fájlt, majd kiterjesztést módosítunk a kimenet függvényében és mehet.
Az így Process kijelzéssel látjuk mikor végzett a feladat. Mp3-ra olyan gyorsan kódolt, hogy a stop window meg se jelent, csak a szöveg hogy nem indult el a felvétel. De a kimenet meglett. Ja, és be illetve kimenetnek megadhatunk szóközös fájlneveket is.

Avatar
KuLuSz
Hozzászólások: 534
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

No tovább gondoltam a wifis szkriptet ... mostmár tud csatlakozni "elvileg" kábeles hálózaton is . még mindig csak teszt jelleggel van ez a dolog , addig amig mindenki nem mondja rá az áment, különböző titkositási paraméterekkel. Én és nocsak már teszteltük/debugoltuk. Az előző szkript pöttyet át lett szabva , egyedüli hiba nocsaknál bukkant fel amikoris hamar akar csatlakozni a netre kap 1 hibaüzit hogy az eszköz le van kapcsolva de újrapróbálkozásnál már neki is müködik , nálam ez a hiba eltünt mikor orvosoltam a gondot , nála fenn maradt . ezen kivül elméletileg hibátlan... jó töltögetést...

MJ: Távolitsuk el a .tgz kiterjesztést, adjunk jogosultságot, majd futtassuk mint 1 szkriptet.
screenshot.jpg
screenshot.jpg (49.22 KiB) Megtekintve 402 alkalommal
Csatolmányok
kns.tgz
Távolitsuk el a .tgz kiterjesztést, adjunk jogosultságot, majd futtassuk mint 1 szkriptet.
(4.59 KiB) Letöltve 30 alkalommal.
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

ticoo1
Hozzászólások: 554
Csatlakozott: 2014.10.21. 08:58

Re: scriptek

Hozzászólás Szerző: ticoo1 »

Köszönöm szépen!

"Ryzen-en" is teljesen jól működik, az USB-s WiFi-t is rendben kezeli. :D :D :D

Avatar
KuLuSz
Hozzászólások: 534
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

zsirály ... angol fórumon irták hogy kellene a statikus ip beállitáshoz ip cimet irnom,mer nemtudja szerencsétlen a router IP-jét mer 1 szállodában van ... nemtom érdemes-e megirni ugy hogy alapon kapcsolódik dhcp-vel majd újrakapcsolódik statikusan ha statikus kell .. mer akkor már tudok olvasni ruter ip-t
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

Válasz küldése

Vissza: “Programozás, alkalmazásfejlesztés”