On May 22, 2010 4:45 AM, Bazaar writes this:
> By changing literally ONE byte out of 1 giga byte file, I was able to transfer my movies to my iPad.
I just confirmed that this solution still works.
Hex "61 76 63 43" ("avcC" in ASCII) was near the bottom of the file.
The next byte after that was "01"
I ignored the next two bytes ("42 E0" = Baseline, "4D 40" = Main, "58 A0" = Extended, "64 00" = High, or similar).
"The next byte declares AVC Level ("1F" = Level 3.1, "29" = Level 4.1, "33" = Level 5.1)"
I changed this byte to "1F" in hex and saved.
The file transfered fine to a 2nd generation iPod Touch.
NOTE: The iTunes option (Advanced / Create iPod or iPhone Version) still works as well, but I found that (1) it did take some time, but only ~10 minutes on 3GHz Core 2 Duo, and (2) the resulting file was nearly 2x the size (~800Mb) of the iPod/iPhone version that Handbrake produced (~440Mb) using the iPod conversion settings.
Great script! Did you notice it was also recommended at http://www.iphonelife.com/blog/87/making-stock-videos-application-play-every-mp4 -files-possible ?
BTW, for Mac users, the free and excellent Subler can be an even faster solution. There's an entire tutorial dedicated to it at http://www.iphonelife.com/blog/87/watching-videos-taken-max-roundup-mkv-mp4m4v-v ideo-converters
I noticed that many of my movie files already had the correct profile setting as discussed here, even though they play fine on my iMac and AppleTV 2, not sync to my iPad.
What ended up fixing my problem is changing the audio track that is enabled by default. I was able to view and change the setting by using Subler.
The movies that would not work had the AC3 track but not the AAC track selected. When I reversed that so the AAC track was selected, the movies now sync to my iPad. Also when you get info from iTunes, they say "low complexity" the first line on the right side.
Note that you have to remove and re-add the movie to your iTunes library after applying the fix in Subler.
Thank you for your detailed response. I was attempted to sync the movie "Prometheus" to my iPhone 5 but got the same message. Cannot sync because it cannot be played on this iPhone. The movie is 2.01 GB and is M4V. I have followed your instructions regarding hex editing but found that the byte that needs to be edited is already "1F".
I remember reading somewhere that there is a file size limit for videos, similar to the 4 GB limit in the PS3. I understand the PS3 file size limit is the result of the FAT32 file system (unrelated, I know). But again, I remember reading somewhere that there is a file size limit for video being synced to the iPhone/iPad.
1) If the byte that needs to be edited to "1F" already is "1F", why is it still not working?
2) Is there a file size limit on video being synced to the iPhone or iPad?
So, here's what worked for me:
Itunes>click on movie>File>Create new version>create iphone or ipad version. And while it was "converting" it (essentially makes another version that can be played on the iPad) you can't do so with any other movies. Make sure you have enough room on your HD, because if you don't it won't be able to "convert" them. Also, (and I don't know if it was just my computer or not) it took FOREVER to do so.
Use a freeware program called "Subler". Google it and D/L it. Assuming you have a movie with 2 audio modes, AAC (stereo) and AC3 (DD 5.1), use Subler, open the M4V file in question, uncheck the AC3 audio file, re-save file. Re-open ITunes if it was already open and now you have an M4V file that is set for Stereo audio only. I use Apple TV to stream movies from my computer to my home theatre so when I'm ready to view it again on my home theatre, I can just re-open Subler and change the check box to AC3. I have verified this on several movies that would not trasfer to the iPad Gen 1 and now they al work fine. This is just another way to skin the same cat ;-)
I'm getting the "...was not copied to the iphone because it cannot be played on this iphone" for videos that I have encoded with Handbrake using the "iPhone and iPod touch" preset. I tried editing the video in a hex editor as suggested above, and found that the necessary byte is already 1F (like the case reported by Inked_xx).
I can import the video into iTunes, and it shows up under "Home Videos". The video plays in iTunes with no problem. However, when I try to copy it to my iPhone I get the "...was not copied" message. Is there a known way to encode a video so that it can be copied to an iPhone? Thanks!
These days, Governments and Companies treat people like stupid, maybe due to the fact that more and more stupid people are born every day. It is the stupidification of people, the new slavery, so they can get cheaper manpower in the future, and it starts on the Educational Systems worlwide.
The "1F" byte change did not work for me. However, by reducing the video framerate to 25 FPS (some of my videos had 90000!), I was able to sync and play all movies. I used "Any Video Converter".
I hope I helped somehow.