diff --git a/FSStorage.py b/FSStorage.py
index 18a19e4..54d13ad 100644
--- a/FSStorage.py
+++ b/FSStorage.py
@@ -4,6 +4,7 @@
 __version__ = '$Change$'
 # $Id$
 
+ffmpeg_path = '/a/home/jmg/src/ffmpeg/ffmpeg'
 ffmpeg_path = '/usr/local/bin/ffmpeg'
 
 import FileDIDL
@@ -130,29 +131,39 @@ class DynamTransfer(protocol.ProcessProtocol):
 		path = self.path
 		request = self.request
 
+		mimetype = { 'xvid': 'video/x-msvideo',
+			'mpeg2': 'video/mpeg',
+			'mp4': 'video/mp4',
+		}
+
 		vcodec = mods[0]
-		if mods[0] not in ('xvid', 'mpeg2', ):
-			vcodec = 'xvid'
+		if mods[0] not in mimetype:
+			vcodec = 'mp4'
 
-		mimetype = { 'xvid': 'video/avi', 'mpeg2': 'video/mpeg', }
-		mimetype = { 'xvid': 'video/x-msvideo', 'mpeg2': 'video/mpeg', }
 		request.setHeader('content-type', mimetype[vcodec])
 		if request.method == 'HEAD':
 			return ''
 
-		audiomp3 = [ '-acodec', 'mp3', '-ab', '192', ]
-		audiomp2 = [ '-acodec', 'mp2', '-ab', '256', ]
+		audiomp3 = [ '-acodec', 'mp3', '-ab', '192k', '-ac', '2', ]
+		audiomp2 = [ '-acodec', 'mp2', '-ab', '256k', '-ac', '2', ]
+		audioac3 = [ '-acodec', 'ac3', '-ab', '640k', ]
+		audioaac = [ '-acodec', 'aac', '-ab', '640k', ]
 		optdict = {
 			'xvid':	[ '-vcodec', 'xvid',
 				  #'-mv4', '-gmc', '-g', '240',
 				  '-f', 'avi', ] + audiomp3,
 			'mpeg2': [ '-vcodec', 'mpeg2video', #'-g', '60',
-				   '-f', 'mpeg', ] + audiomp2,
+				   '-f', 'mpegts', ] + audioac3,
+			'mp4': [ '-vcodec', 'libx264', #'-g', '60',
+				   '-f', 'mpegts', ] + audioaac,
 			}
-		args = [ 'ffmpeg', '-i', path, '-b', '4000',
+		args = [ 'ffmpeg', '-i', path,
+		    '-sameq',
+		    '-threads', '4',
+		    #'-vb', '8000k',
 		    #'-sc_threshold', '500000', '-b_strategy', '1', '-max_b_frames', '6',
 			] + optdict[vcodec] + [ '-', ]
-		#log.msg(*[`i` for i in args])
+		log.msg(*[`i` for i in args])
 		self.proc = process.Process(reactor, ffmpeg_path, args,
 		    None, None, self)
 		self.proc.closeStdin()
diff --git a/README b/README
index a58b1eb..0c39ca2 100644
--- a/README
+++ b/README
@@ -79,6 +79,8 @@ Ideas for future improvements:
 	  drop them?  How do we detect them to prevent blocking other clients.
 	Add support to call Browse in a thread.  Convert Browse to be a
 	  deferredGenerator so we can 
+	Support transcoding to mp4 format, video will be h.264 and audio will
+	  be AAC.
 
 v0.x:
 	Ignore AppleDouble Resource Fork Files.  (Maybe we should ignore all