Alex Beutel's Blog

Convert Quicktime Screencasts with FFmpeg

July 27th, 2010 · No Comments

I was trying to convert a Quicktime screencast (saved as .mov) to a format my professor could more readily use. For those who don’t know, FFmpeg is an amazing tool with a wide range of applications, including converting between video formats and ripping audio from a video. Anyway, this took me a little to get quite right (and maintain output quality) so I thought I’d post it here both for others and a place to save it for myself. Although it looks really simple in hindsight:

ffmpeg -i -f avi -vcodec mpeg4 -sameq -ac 2 -ab 128k screencast.avi

It is necessary to specify a video codec because AVI can be used with multiple codecs. To maintain video quality use -sameq. When converting screencasts, it may also be useful to crop out parts of the screen since Quicktime only does full screen capture. For this, you can use the -croptop, -cropbottom, -cropright, and -cropleft arguments. Last, make sure the arguments come before the output file; otherwise they are not applied.

Maybe I will later do a more full post of the different ways I use FFmpeg. But for now, that is all.

→ No CommentsTags: Miscellanious

Rankophilia and Rankophiliacs

January 27th, 2010 · 1 Comment

For my CPS 182S class, we have an assignment which is a competition among groups of students (and the professor) to have the highest ranking page on Google for the terms rankophilia and rankophiliac. ¬†As such, I have created a page at to be my group’s main page on Google. For now, there is not much interesting on there, and I am merely posting it here in an attempt to increase the PageRank. I am considering adding more interesting content and submitting it around online rather than just spamming. I will post updates (probably at least a few for links) as the contest goes on.

→ 1 CommentTags: Duke · Web Development

SQL Injection at Duke TechExpo 2009

October 12th, 2009 · No Comments

I gave my first public talk today at Duke’s TechExpo 2009. I along with my coworker Artem Kazantsev discussed the risks of SQL Injection. The presentation gives a good overview of the capabilities of SQL injection along with how to prevent such vulnerabilities. I also gave a demo of performing a SQL injection attack on a vulnerable site during the talk. For any web programmers who aren’t familiar with SQL injection, take a look at the code for the demo to see exactly how and why it is vulnerable, along with how to fix these vulnerabilities.

SQL Injection Presentation

SQL Injection Demo

Additionally, earlier in the year I worked with Duke’s ITSO to write up examples of good coding practices to protect against a variety of web application security issues. This referenced is linked on Duke ITSO’s site here:

→ No CommentsTags: Duke · PHP · Web Development

Drag and Drop off the Desktop in Duke Webfiles

October 5th, 2009 · No Comments

While on break, I’ve been playing around with Mozilla’s File API and integrating it with Duke Webfiles, which I work on for OIT. This is only a proof of concept since the spec has not been completed and I only implemented it in the icon view of Webfiles. Regardless, I think it is pretty cool and makes the application much easier to use. Here is a screencast to see it in action:

To do this I used examples from here for the new File API and here for the AJAX upload. Obviously this could be expanded upon by implementing it in all three file views in Webfiles and by showing progress bars for each file. Additionally, there are some small bugs with uploading large files. However, if you are a Duke student and want to give it a try, follow the instructions below. Please note, this is a alpha version of the software, and you may run into some bugs when using it.

Please, give it a try and let me know your thoughts. Thanks.

→ No CommentsTags: Duke · Javascript · Web Development

Hilbert Curve with the Canvas element

October 1st, 2009 · No Comments

For my discrete math course (CPS 102) this semester, I had to create a space-filling curve for one of my homework assignments. I decided to take this as an opportunity to play with HTML5’s canvas element since I’ve yet to had a legitimate use for it in any programming yet. I think it came out decently well (and it’s kind of fun to play with), so I thought I’d post it. Here is a link to it: Like I said, nothing huge but fun to program and cool to watch.

I am on fall break now, and will be spending the weekend at home. ¬†Hopefully I’ll do something cool while I’m home and will post if anything comes out good.

→ No CommentsTags: Miscellanious