A brief story of a long way to find the trivial solution

andy.sh on 2008-12-16T15:05:35

A couple of days ago I faced the problem. I had to get meta information of video files which were located on the remote server. Tool for that is basic ffmpeg. The problem is that it is not allowed to 1) download the file and 2) install ffmpeg on the remote server. Well, both restrictions might be removed, thus they were rather ideological rather then technical.

It was possible to install different FLV::Info et. al. on the remote machine, but then I would have to install a bunch of modules for every video format I use.

Straightforward solution was to create some script to cut the beginning of each file, gzip them and put to the web space to be downloaded from target server. It was quite obvious that file in most of formats used for video in the internet contain their meta information in the first several kilobytes.

I also asked in a mailing list and was suggested with another solution: organize file system either over ssh or ftp. (Un)fortunately it did not start working easy.

Today I tried to make a trick and typed URI of the remote file in a command line:

$ ffmpeg -i http://my.remote.server/my/remote/video/file.flv

And that works! Easy and stupid.

I also checked access log of the web server, and it really showed that the file was not fully downloaded. Even HTTP response code is for partial data: 206.