Jul 27

Today I got a notice that the 3G movies in the Passie voor Horeca app no longer worked. When on a 3G connection, the movie would not play and exit immediately back to the list of movies.

It turns out that the AMR audio format (libamr) that ffmpeg uses by default for all .3gp based movies, is no longer supported. In order to fix this, you need to re-encode movies with a supported audio encoder like AAC, this is done by adding the -acodec libfaac option to the ffmpeg commandline.

Example commandline to get a working .3gp file for use over 3G and/or GPRS:
ffmpeg -i inputfile.flv -vcodec mpeg4 -acodec libfaac -r 10 -ac 1 -ar 8000 -b 52050 -ab 11950 -aspect 16:9 outputfile.3gp

I had to downscale the video bitrate a bit (-b option, decreased it with 4000) and up the audio bitrate (-ab option, added 4000) to get a decent audio track in the resulting .3gp file compared to the AMR format.

Jul 21

Yesterday, Passie voor Horeca 1.1 and Passie voor Horeca Lite 1.2 got accepted as update by apple. Two weeks ago, KookJij 1.4 also got accepted which in all cases fixed several bugs when running with iOS4.

With the KookJij app the main issue was a buggy imageloader class which loads thumbnails in a threaded way when scrolling through lists. This same class was used in the Passie voor Horeca apps. They all resulted in UIImages being loaded very slowly.
In the end I decided to rewrite the class from scratch.

Another issue with the Passie voor Horeca apps, was the major change in the MPMoviePlayerController, in iOS4 this class has been deprecated and was replaced by the MPMoviePlayerViewController class in iOS4. Hence some detection on the running OS version on iPhones is now in place, < 3.2 gets the old videoplayer, 3.2 (iPad) and higher gets the video player.

preload preload preload