Fórum Root.cz
Ostatní => Odkladiště => Téma založeno: čuzmek 12. 10. 2018, 13:20:12
-
Zajímá mě takováhle věc:
mám například tyto shellové skripty
source-a.sh:
ffmpeg -f avfoundation -i 0:0 -framerate 30 -s 1280x720 -f nut -c:v copy -
source-b.sh
ffmpeg -f avfoundation -i 1 -f nut -c:v copy -
player-1.sh
ffplay -
effector-2.sh
ffmpeg -i -vf scale=iw/2:ih/2 -c rawvideo -f nut -
encoder-3.sh
ffmpeg -i - -c h264_qsv -look_ahead 1 -global_quality 30 - bla.mkv
čili jsem si rozsekal pipelinu
ffmpeg -f avfoundation -i 0:0 -framerate 30 -s 1280x720 -f nut -c:v copy - | ffmpeg -i -vf scale=iw/2:ih/2 -c rawvideo -f nut - | ffplay -
na 3 části, kde stačí psát ( po zexecutabitelnění chmod u+x *.sh) (názvy souborů jsou symbolické)
./input.sh | ./effect.sh | ./play.sh
Nicméně, bych chtěl například použít (vsunout) do effect.sh filtr (prostřednictvím argumentu -af adelay=1000\|1000 ), jak to udělat, abych mohl psát
./input.sh | ./effect.sh "adelay=1000|1000" | ./play.sh
Jak editovat sh soubor, aby přijímal argumenty a propluly do effect.sh?
bude to fungovat i když takhle používám řetězení přes | ? Hádám, že bude potřeba puoužít něco jako $*...
-
"řetězení přes |" je irelevantni, protoze ty parametr davas konkretnimu scriptu a ten si ho primo zpracuje
ano, "neco" jako $* nebo $@ ;-)
-
Nejsem si jist, ze jsem uplne pochopil zadani, takze odpovim nekolika skripty, se kterymi si zkus pohrat:
Hromada znaku minus ---- oddeluje kod od popisu.
nahrazeni1.sh
----------------------
sed "s/0/$1/g;s/1/$2/g"
----------------------
cat /proc/cpuinfo | ./nahrazeni1.sh nula jedna | cat
nahrazeni2.sh
----------------------
sed "s/0/$@/g"
----------------------
cat /proc/cpuinfo | ./nahrazeni2.sh prvniparametr druhyparametr tretiparametr | cat
-
Jen nástřel: named pipes ?
Nema cas to hledat
Zajímá mě takováhle věc:
mám například tyto shellové skripty
source-a.sh:
ffmpeg -f avfoundation -i 0:0 -framerate 30 -s 1280x720 -f nut -c:v copy -
source-b.sh
ffmpeg -f avfoundation -i 1 -f nut -c:v copy -
player-1.sh
ffplay -
effector-2.sh
ffmpeg -i -vf scale=iw/2:ih/2 -c rawvideo -f nut -
encoder-3.sh
ffmpeg -i - -c h264_qsv -look_ahead 1 -global_quality 30 - bla.mkv
čili jsem si rozsekal pipelinu
ffmpeg -f avfoundation -i 0:0 -framerate 30 -s 1280x720 -f nut -c:v copy - | ffmpeg -i -vf scale=iw/2:ih/2 -c rawvideo -f nut - | ffplay -
na 3 části, kde stačí psát ( po zexecutabitelnění chmod u+x *.sh) (názvy souborů jsou symbolické)
./input.sh | ./effect.sh | ./play.sh
Nicméně, bych chtěl například použít (vsunout) do effect.sh filtr (prostřednictvím argumentu -af adelay=1000\|1000 ), jak to udělat, abych mohl psát
./input.sh | ./effect.sh "adelay=1000|1000" | ./play.sh
Jak editovat sh soubor, aby přijímal argumenty a propluly do effect.sh?
bude to fungovat i když takhle používám řetězení přes | ? Hádám, že bude potřeba puoužít něco jako $*...
-
Jen nástřel: named pipes ?
Nemam cas to hledat
Zajímá mě takováhle věc:
mám například tyto shellové skripty
source-a.sh:
ffmpeg -f avfoundation -i 0:0 -framerate 30 -s 1280x720 -f nut -c:v copy -
source-b.sh
ffmpeg -f avfoundation -i 1 -f nut -c:v copy -
player-1.sh
ffplay -
effector-2.sh
ffmpeg -i -vf scale=iw/2:ih/2 -c rawvideo -f nut -
encoder-3.sh
ffmpeg -i - -c h264_qsv -look_ahead 1 -global_quality 30 - bla.mkv
čili jsem si rozsekal pipelinu
ffmpeg -f avfoundation -i 0:0 -framerate 30 -s 1280x720 -f nut -c:v copy - | ffmpeg -i -vf scale=iw/2:ih/2 -c rawvideo -f nut - | ffplay -
na 3 části, kde stačí psát ( po zexecutabitelnění chmod u+x *.sh) (názvy souborů jsou symbolické)
./input.sh | ./effect.sh | ./play.sh
Nicméně, bych chtěl například použít (vsunout) do effect.sh filtr (prostřednictvím argumentu -af adelay=1000\|1000 ), jak to udělat, abych mohl psát
./input.sh | ./effect.sh "adelay=1000|1000" | ./play.sh
Jak editovat sh soubor, aby přijímal argumenty a propluly do effect.sh?
bude to fungovat i když takhle používám řetězení přes | ? Hádám, že bude potřeba puoužít něco jako $*...
-
Jen nástřel: named pipes ?
Nemam cas to hledat
COPYPASTE
to už jsme četli, dokonce třikrát
-
effect.sh:
ffmpeg -i -vf scale=iw/2:ih/2 -c rawvideo "$@" -f nut -
./input.sh | ./effect.sh "adelay=1000|1000" | ./play.sh
-
2x protoze se to neda editovat. A neser
Jen nástřel: named pipes ?
Nemam cas to hledat
COPYPASTE
to už jsme četli, dokonce třikrát