Archive for ‘iPodTouch’ Category
 Posted on 13:41, November 2nd, 2011 by Many Ayromlou
If you didn’t know, iCloud has a really neat feature that allows it to act just like dropbox. If you activate the “Document & Data” synching option in the iCloud pref panel, it allows you to sync any file using iCloud. This is contrary to what Apple is selling the service as being just for “Custom” Apps that have the iCloud feature (i.e.: keynote, numbers, etc.).
So here is how you take advantage of this. Once you’ve turned on the feature in the preferences panel, you open up Finder. Hold down the “option/alt” key and from the finder menus choose “Go/Library“. This should land you in your not so secret Library directory. You need to hold down the option key to see this, since OSX Lion hides the users Library directory by default. Now in the Finder window find the “Mobile Documents” folder (and if you like) drag it to the favourites list in Finder (in the left pane). Done. Now whatever file you save into “Mobile Documents” folder from any application will “sync” with all the other mac’s you’ve setup with this feature. You can treat it like your “free” 5GB dropbox account.
 Posted on 23:27, January 16th, 2011 by Many Ayromlou
Yep, just like the title says, hauppauge has announced the Broadway, a new “set-top” aimed at iPhone, iPad and iPod touch users. The hardware streams live OTA HDTV to an Apple handheld after first compressing the video using H.264. The resulting media can be delivered locally over Wi-Fi, or to a remote place using any Internet connection. Over-The-Air ATSC signals can be captured using a built-in ATSC tuner, while cable is supported through clear QAM. Pricing is a bit steep at $199 and the box is scheduled for February release.
 Posted on 13:36, March 5th, 2010 by Many Ayromlou
In this guide I’ll show you how to stream live HDV/DV video to your iphone using a linux box (Ubuntu 9.10) with firewire input running vlc/ffmpeg and a Imac with OSX 10.6.2 running mediastreamsegmenter and apache2.
Start out with the iPhone streaming media overview. Without understanding this document you’ll have a hard time getting things working.
First things first, you need to have a working Ubuntu 9.10 machine. I’m using a small footprint 2.4Ghz Core2Duo machine with PCI firewire 400 card in it. For video input I’m using a Canon HV30 set to HDV mode (1080i/60) connected via firewire.
Next you need to follow the instructions on this page (steps 0-5) to get a working ffmpeg with x264 and aac encoding. Without this working you’re not going anywhere….sorry. If you’re trying this on a different Ubuntu installation follow the other links to get a working ffmpeg setup.
Then install vlc using “sudo apt-get install vlc“. I used vlc as my encoder frontend as I understand it better than ffmpeg. You can use just straight ffmpeg as well if you can figure out how to get it to encode the live HDV stream over firewire.
You’ll also need dvgrab utility. Install it using “sudo apt-get install dvgrab“.
Now we want to make sure the internal firewire module is working so type this command and see if you get a vlc window with the camera output in it (make sure you turn the camera ON and hook it up first).
sudo dvgrab -f hdv -noavc -nostop -|vlc -
You have to use sudo under ubuntu to get proper access to the firewire device. The above command runs dvgrab with hdv format and makes sure that 1394 AV/Device control is turned off (this way you can be in Camera mode and get a live feed). The nostop switch prevents dvgrab from sending stop commands to the camera everytime you stop it via Ctrl-C, which I though was a good thing. The last dash forces dvgrab to output to stdout, which we’ll then pipe into vlc (the dash for vlc tells it to use stdin as input).
Next we need to create a media stream out of our linux box and ship it over UDP to the Imac. The vlc command below gets the job done. Remember you’re sudo’ing and need to provide the password after you enter the command.
sudo dvgrab -f hdv -noavc -nostop -|vlc - --sout '#transcode{vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,bframes=0,ref=1,nocabac},acodec=mp4a,ab=64,scale=0.25,deinterlace,width=320,height=240}:duplicate{dst=std{access=udp,mux=ts,dst=192.168.1.97:1234}}'
The IP address toward the end of the command is the IP of the Imac machine receiving the stream. Port 1234 is arbitrary. The stream is comprised of h.264 video @ 256K and AAC audio @ 64K. Those elementary streams are then packaged in mpeg2 transport stream before being shipped to the Imac. This is the standard way of doing HTML5 video (from what I understand).
So now we can go over to the mac and see if we receive the video stream. For that just run VLC for OSX and open UDP network port on port 1234 (udp://). If things are working nicely you should see a 320×240 video from you HDV camera on the Imac.
Now that we have the video on the mac, we need to use the “mediastreamsegmenter” command line tool to create HTML5 video stream out of it. mediastreamsegmenter listens on a UDP port for incoming transport stream chops it (by default) into 10 sec. “mini” transport stream files and writes these mini files to wherever you tell it. This location is important since it needs to be accessible to your webserver. Remember, at the end of the chain (day), the webserver is doing all the heavy lifting of delivering the mini transport stream files to your iphone. mediastreamsegmenter also produces a file of type .m3u8
which is basically a live updated playlist.
Something you might not know is that apple ships standard OSX with apache builtin. All you have to do is use the following command to get it started.
apachectl start
Now point your browser on the mac to localhost and see if it loads a page. Now that apache is working we need to modify it so it knows how to deal with .ts and .m3u8 files. This involves adding a couple of lines to /etc/apache2/httpd.conf
AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts
and /etc/apache2/mime.types
.m3u8 application/x-mpegURL
.ts video/MP2T
Next we need to restart apache
apachectl restart
By default OSX apache is setup to load it’s documents from /Library/WebServer/Documents, so I created a directory called “stream” to contain the media stuff (.ts files and .m3u8 file) and put the following into the index.html file in /Library/WebServer/Documents.
<html>
<head>
<title>Video Test</title>
<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
</head>
<body style="background-color:#FFFFFF; ">
<center>
<video width='320' height='240' src="prog_index.m3u8" controls autoplay> </video>
</center>
</body>
</html>
Now that we’ve got all the prep done on the mac, we issue the following command from terminal window to get the mediastreamsegmenter going (details can be found by using man mediastreamsegmenter).
mediastreamsegmenter -b http://192.168.1.97/stream -f /Library/WebServer/Documents/stream 192.168.1.64:1234
Here -b specifies the base of the URL that will be encoded into the .m3u8 file (this is the IP address of your Imac, stream is the folder in /Library/WebServer/Documents/ where the mini .ts files and the .m3u8 file are). The -f switch specifies the output directory for the mini .ts files and the .m3u8 file. and the last IP address:port is from your Linux box.
Now you should be able to open up your browser on your iphone/ipod touch and punch in http://192.168.1.97 (assuming the Imac is reachable from your phone) and see the streaming video (You might have to turn on “Plugins” feature under settings/safari on your device. Mine was turned off and drove me crazy until I figured it out). If Plugins is turned off, the index.html page will load, but no video.
Hopefully there is enough meat here to get you guys started……btw. I hear the following command (or variations of) can be used on linux side (instead of vlc). I haven’t tried it and can’t confirm if it works.
ffmpeg -i <in file> -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 320×240 -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4×4+partp8×8+partb8×8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 <output file>
Some excellent information can be found on Carson McDonald’s blog:
 Posted on 19:53, February 11th, 2010 by Many Ayromlou
One of the original reasons I bought my first ipod (first gen 5 Gig) was that I could hook it up to my mac and use it as a firewire drive. I could literally run around with this in my pocket and boot OSX off the ipod. Well that came to an end with the intro of iPhone/iTouch. Apple took the “disk mode” out. Well that was then, go grab a FREE copy of iPhone explorer and all that USB stick functionality can be your again. Oh, and did I say there is no need for Jail Break either
Features:
- 100% Free iPhone browser for Mac and Windows
- 100% Drag-and-drop interface for easily copying files to and from your iPhone
- Create, delete and rename files and folders on your iPhone or iPod Touch
- Works with all iPhones and iPod Touches including the iPhone 3G and iPod Touch 2G
- Allows you to use your iPhone as a flash drive / pen drive or put your iPhone into disk mode
- Tiny download size
- (Optional) If you jailbreak your iPhone you can access the real root of your iPhone and recover your address book, SMS, e-mails and more.
 Posted on 23:42, November 11th, 2009 by Many Ayromlou
 Posted on 23:38, November 11th, 2009 by Many Ayromlou
 Posted on 15:36, June 12th, 2009 by Many Ayromlou
YES…FREE…..brought to you by the very nice people at Stanford University. Just follow this link into the ITunes University (you need ITunes app installed) and start learning something today…..It’s free.
 Posted on 15:40, March 7th, 2009 by Many Ayromlou
If you’re using Ubuntu and have recently upgraded your IpodTouch or Iphone to 2.x firmware, you might be interested in this detailed tutorial. It basically outlines how you can setup syncing under Ubuntu with your 2.x device. The guide assumes that you have jailbroken your ipod/iphone . There is also a nice section for older 1.x devices.
 Posted on 12:46, November 11th, 2008 by Many Ayromlou
I came across sharepod the other day while looking for a Ipod offload tool for OSX. My Ipod was full with music I wanted to keep, but I was leaving on a long trip so I wanted to have some movies and tv-shows with me aswell. To make a long story short, as much as like to stick to OSX when it comes to daily computing, after using sharepod I’m wishing for a similar app for OSX . Sharepod is a free application that runs under windows and lets you do just about anything with your ipod content. Here is a quick feature list:
- Add & remove music and videos from your iPod
- Add, remove and edit playlists
- Add & remove album art
- Copy music, videos and playlists from your iPod to PC
- Import music/videos into your iTunes library, including playlists and ratings
- Tag editing
- Drag n’ drop to and from Explorer
- Simple, clean interface
- Quick to load and use with no unnessary complicated features
So if you need a do-it-all tool for your ipod, you should check out Sharepod.
N.B. Nathan commented that there indeed is a OSX util, like Sharepod, called Senuti (itunes backwards….neat). I just downloaded and tried it and yep…..I like it. The more the better I guess
 Posted on 12:04, September 25th, 2008 by Many Ayromlou
So I found out the hard way that the new ipod’s (with video out) can actually play 640×480 video and also figured out how to get iTunes to accept the encoded files (so that I could sync them with the device)…….here is the run down:
- “TV-Out” mode - 1.5Mbit/s 640×480 H.264 videos
- BIT_RATE <= 1500 kbps
- 640×480
- Up to 30 fps
- “Low-Complexity” H.264 Baseline Profile
- 1 reference frame
- Up to H.264 level 3
- 640 pixels maximum frame width
- Sample Aspect Ratio (SAR) must be 1:1
- UUID atom must exist containing the following hex data: 6B 68 40 F2 5F 24 4F C5 BA 39 A5 1B CF 03 23 F3….This allows you to add the video into iTunes. You need AtomicParsley for this which can be checked out from their subversion repository . See below for usage.
- For 1-pass encoding use:
ffmpeg -i INPUT -acodec libfaac -ab 128k -s WIDTHxHEIGHT -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me umh -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 10M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect WIDTH:HEIGHT OUTPUT.mp4AtomicParsley OUTPUT.mp4 --DeepScan --iPod-uuid 1200 --overWrite
- For 2-pass encoding use:
ffmpeg -i INPUT -an -pass 1 -s WIDTHxHEIGHT -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions 0 -me epzs -subq 1 -trellis 0 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 10M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect WIDTH:HEIGHT OUTPUT.mp4 ffmpeg -i INPUT -acodec libfaac -ab 128k -pass 2 -s WIDTHxHEIGHT -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me umh -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 10M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect WIDTH:HEIGHT OUTPUT.mp4AtomicParsley OUTPUT.mp4 --DeepScan --iPod-uuid 1200 --overWrite
- “Standard” mode - 768kbit/s 320×240 H.264 videos
- BIT_RATE <= 768 kbps
- 320×240
- Up to 30 fps
- H.264 Baseline Profile up to level 1.3
- For 1-pass encoding use:
ffmpeg -i INPUT -acodec libfaac -ab 128k -s WIDTHxHEIGHT -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me umh -subq 5 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 768k -bufsize 2M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -title SOME_TITLE OUTPUT.mp4
- For 2-pass encoding use:
ffmpeg -i INPUT -an -pass 1 -s WIDTHxHEIGHT -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions 0 -me epzs -subq 1 -trellis 0 -refs 1 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 768k -bufsize 2M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -title SOME_TITLE OUTPUT.mp4 ffmpeg -i INPUT -acodec libfaac -ab 128k -pass 2 -s WIDTHxHEIGHT -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me umh -subq 5 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 768k -bufsize 2M -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -title SOME_TITLE OUTPUT.mp4
 Posted on 16:55, November 11th, 2007 by Many Ayromlou
So now that I have a basic OSC receiver for aka.iPhone’s XY controller, I’ve been going through Apple’s Demo Compositions – under /Developer/Examples/Quartz Composer/Compositions — and adding my portion of the OSC receiver to them. Here is the latest one, akaRemote-Caterpillar, which is a adaptation of “Caterpillar.qtz” under /Developer/Examples/Quartz Composer/Compositions/Interactive. Again I need to remind you to read the first Article to get started and that these QC compositions are for Leopard/QC3.0 only and require a jailbroken Ipod Touch or iPhone.
 Posted on 15:05, November 11th, 2007 by Many Ayromlou

I assume you know what aka.iPhone is and what it does. If you don’t please see this article over at Create Digital Motion. I’ve got aka.iPhone 2.1 installed on my ipod touch and while I enjoyed playing around with the accompanying MAX/MSP patch — via the free runtime — I wanted to see if I could get it working with Quartz Composer.
Well here are my two ( akaRemote, akaRemote-Particle) attempts at QC compositions that work really well with the XY controller of aka.iPhone. The XY Controller surface is the only thing I’ve been able to get working with QC, since Masayuki Akamatsu (the author of aka.iPhone) tends to use the same basic “ /event” OSC message with a custom number of arguments. The limitations is actually in QC in that you can only have one OSC receiver on a UDP port at a time. Further a OSC receiver can not receive the same message with different arguments (int, float, float array). The author does mention that his protocol might change without notice, so hopefully he’ll read this post and change the messages to cascading/two level OSC messages to signify which button’s are activated and also to get more diversity in the base message string (ie: /event/Pad/buttonB1 message of type boolean which would signify a toggle button on the Pad screen being fired). I don’t pretend to be an OSC god, but I think it makes the protocol more readable/adaptable, which might not be the authors intent.
I decided that for my own use the XY controller was the most useful to reverse engineer (and also the easiest). The OSC command is “/event a b c“, where “a” is the trigger, “b” is the x-coordinate and “c” is the y-coordinate. X and Y coordinates are between (0,0) at the bottom left of the ipod touch screen and (1,1) at the top right.
Now here is how you get it all going:
- Get Masayuki Akamatsu’s aka.iPhone loaded into your ipod touch and/or iphone (I’m not going to tell you how to do this…..lets just say that if you have jailbroken your device you can just sftp his application to /Application on your device).
- Download akaRemote and akaRemote-Particle files and unzip them somewhere on your mac (I’m assuming you have OSX 10.5 and Quartz Composer 3.0, as they are required).
- Start with akaRemote by double clicking on its icon to load it into Quartz Composer, goto Preferences/Viewer and click the + to add a new Preset for the viewer. Call it 1:1 (or something) and give it width and height of 1 and make sure aspect ratio is selected.
- Now go to the bottom left side of the viewer and select 1:1 from the pull down. This guarantees that the coordinate system translation I use (0 to 1 from device is translated to -1 to 1 on the screen) works. Now resize the window to whatever size you want (not too small).
- The QC OSC listener is configured for aka.Iphone’s default port (5600) so you don’t have to change anything. Load up akaRemote application on your device and change the Host Address to the IP address of the machine running QC.
- Now if you switch to the XY tab on the device you should be able to see a dot move around the screen when you touch the surface (the video cube in the middle also rotates).
- Optionally if you like to see a nicer example I’ve put together akaRemote-Particle, a Particle system viz using one of Apples demos (“table particle.qtz“) as a base.
- The idea here is the same, except that your touch on the XY surface produces particle systems in the viewer (make sure you have the 1:1 thing set at the bottom left of the viewer screen).


|
|