colinkeenan / silentcast

Create silent mkv screencast and animated gif.
GNU General Public License v3.0
512 stars 22 forks source link

Cannot redirect stderr/stdout to file? #10

Closed joefiorini closed 7 years ago

joefiorini commented 9 years ago

I'm having issues getting silentcast to work on my Arch installation running Awesome wm. I was going to open an issue with the output I'm getting, but redirecting stderr doesn't seem to output errors to a file. When I run: silentcast 2>&1 > silentcast.txt and then cat silentcast.txt I don't see the error output I saw when running the program. Worth noting that the error output is going to the terminal, so obviously the redirection isn't working.

colinkeenan commented 9 years ago

The reason redirect is not working is because Silentcast uses ffmpeg and from my testing just now, it is ffmpeg that is not allowing redirect. If you don't use 2>&1, you'll have something in silentcast.txt, but just not the error, which you are apparently getting from ffmpeg. I will investigate how to redirect ffmpeg error output to a file.

colinkeenan commented 9 years ago

From here, it looks like ffmpeg does sometimes allow redirect, but I think it doesn't when capturing the screen because it needs to let you know to press 'q' to stop it. From another answer on that link, you can use -report to generate a verbose report of what happens though. In order to use that, you would need to either edit genffcom, or the file it generates silentcast/ffcom. You can edit slientcast/ffcom while the "Get Ready .... Click OK when ready to start recording....." popup dialogue is displayed. I think that is the best way to do this. You can then grep the log for errors if you want. It will generate a file like silentcast/ffmpeg-20150123-083319.log.

colinkeenan commented 9 years ago

Instead of editing silentcast/ffcom, you could also do as I did and, from within the silentcast directory where ffcom was generated, cat ffcom, highlight and middle-click the ffmpeg command without the &... stuff at the end, and put -report at the end.