Hi Luke, thanks for that! One problem is still consistent - when I reattach to that window, how can I deattach again? The while loop always kicks me back into the process - I can't end it with "q", neither can I deattach with "ctrl+a and d" or "ctrl+c".
Thanks, Tim 2015-03-16 8:05 GMT+01:00 Luke Davis <[email protected]>: > On Mon, 16 Mar 2015, Tim Beyer wrote: > > I am running Jon Severinsson's PPA on Ubuntu 14.04 in a screened process - >> it is a player that reads video files out of a folder, randomly. The whole >> process goes through a while loop. In the screen session the switchting >> between files works fine - but I can't detach with crtl+a and d or with q >> - >> it is starting the process again. When I try to detach afterwards with >> ctrl+c from screen, it waits a while and kicks me back into the ffmpeg >> process. If I just close the terminal, ffmpeg crashes when the next >> file-change comes. Same, when I try starting the screen already detached, >> or if I forward the process to dev/null and into a log. >> > > I'm not 100% sure what you want the end result to be, but I don't think > your script does what you think it does. > > you're creating a series of screen sessions named "VOD". Each one of > those sessions has a single window. You can't switch between them, because > they exist sequentially. > > It sounds like you want a single screen session, with each video in a > separate window so you can switch between them. > You're doing the while loop, so that after all of the files are opened and > you exit/detach the screen session, the whole thing starts over again in a > new screen session. > > If that is what you want, this will likely work: > > #!/bin/bash > while true > do > # Start the screen (w/one shell window) but instantly detach it > screen -dmS vod > for file in $(ls * | shuf -n 1) > do > # For each file, create a window in the running screen, > # named with the filename, and running the ffmpeg command > screen -S vod -X screen -h 0 -t "$file" ffmpeg -re -i > "$file" \ > -acodec copy -vcodec copy -f flv ServerAddress > done > # Delete the useless shell in the first screen window > screen -S vod -p 0 -X kill > # Attach to the screen for actual access of the running processes > screen -r vod > done > > If that wasn't what you wanted, then enjoy my useless code.:) > > Luke > > _______________________________________________ > ffmpeg-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/ffmpeg-user > _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
