Bit of a mystery here. My second post to this fab website and I think I made need a guru to answer this question.
I have an original ITunes film which I can change to an MP4 just by changing its extension. The MP4 works well in Quicktime etc and all other media players like WM12, VLC etc. Clever Huh?
This is the bit where I get confused. If I then use 'XMedia recode' and shrink the file, oh tried Handbrake and loads of others too- the file no longer plays in Quicktime only.
BUT, if I change the extension back to M4V, the film works fine in Quicktime. Change it back to MP4 and it doesn't work!
I have looked at Mediainfo after conversion, the original file and the new file are exactly the same (other than the new file being a little smaller).
So to save me going bonkers, what is or isn't happening?
Greg
+ Reply to Thread
Results 1 to 21 of 21
-
Last edited by Greg2041; 22nd Apr 2013 at 16:29. Reason: Duplicate
-
And here's that file...
Media Info shows:
Format : MPEG-4
CodecID : M4V
FileSize/String : 39.1 MiB
Duration/String : 2mn 34s
OverallBitRate/String : 2 124 Kbps
Movie : Mini Adventures of Winnie the Pooh: Pooh's Game
Performer : Rick Reinert
Genre : Kids & Family
Recorded_Date : UTC 2011-10-07 07:00:00
Encoded_Date : UTC 2012-01-19 22:32:10
Tagged_Date : UTC 2012-01-19 22:32:11
Copyright : © 1983 Disney
Cover : Yes
cnID : 496699620
atID : 496699621
geID : 4410
sfID : 143441
desc : Pooh, Rabbit, Piglet and Roo are gathered on the old wooden bridge to race sticks in the river below. The first stick to pass under the bridge will be the winner. Soon the race is on, and Piglet is sure his long, grayish stick is leading the pack — until
stik : 9
purd : 2013-04-02 21:13:58
xid : buenavista:vendor_id:NKQA4466WDSHE
flvr : 4:640x480LC-128
iTunEXTC : mpaa|G|100|
ldes : Pooh, Rabbit, Piglet and Roo are gathered on the old wooden bridge to race sticks in the river below. The first stick to pass under the bridge will be the winner. Soon the race is on, and Piglet is sure his long, grayish stick is leading the pack — until that "stick" turns out to be Eeyore!
iTunMOVI : <?xml version="1.0" encoding="UTF-8"?> / <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> / <plist version="1.0"> / <dict> / <key>asset-info</key> / <dict> / <key>file-size</key> / <integer>40950133</integer> / <key>flavor</key> / <string>4:640x480LC-128</string> / <key>screen-format</key> / <string>widescreen</string> / <key>soundtrack</key> / <string>DD,DS</string> / </dict> / <key>cast</key> / <array> / <dict> / <key>adamId</key> / <integer>6841988</integer> / <key>name</key> / <string>Jim Cummings</string> / </dict> / <dict> / <key>adamId</key> / <integer>59580566</integer> / <key>name</key> / <string>John Cleese</string> / </dict> / <dict> / <key>adamId</key> / <integer>188907444</integer> / <key>name</key> / <string>Tom Kenny</string> / </dict> / <dict> / <key>adamId</key> / <integer>427283577</integer> / <key>name</key> / <string>Bud Luckey</string> / </dict> / <dict> / <key>adamId</key> / <integer>496320158</integer> / <key>name</key> / <string>Wyatt Hall</string> / </dict> / <dict> / <key>adamId</key> / <integer>467998058</integer> / <key>name</key> / <string>Travis Oates</string> / </dict> / </array> / <key>codirectors</key> / <array/> / <key>copy-warning</key> / <string>FBI ANTI-PIRACY WARNING: UNAUTHORIZED COPYING IS PUNISHABLE UNDER FEDERAL LAW.</string> / <key>directors</key> / <array> / <dict> / <key>adamId</key> / <integer>496699621</integer> / <key>name</key> / <string>Rick Reinert</string> / </dict> / </array> / <key>producers</key> / <array/> / <key>screenwriters</key> / <array> / <dict> / <key>adamId</key> / <integer>2037174</integer> / <key>name</key> / <string>A. A. Milne</string> / </dict> / </array> / <key>studio</key> / <string>Disney Junior</string> / </dict> / </plist>
Video
ID/String : 1
Format : AVC
Format/Info : Advanced Video Codec
Format_Profile : Baseline@L3.0
Format_Settings_CABAC/String : No
Format_Settings_RefFrames/String : 1 frame
CodecID : avc1
CodecID/Info : Advanced Video Coding
Duration/String : 2mn 34s
BitRate/String : 1 556 Kbps
Width/String : 640 pixels
Height/String : 478 pixels
DisplayAspectRatio/String : 16:9
FrameRate_Mode/String : Constant
FrameRate/String : 23.976 fps
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
ScanType/String : Progressive
Bits-(Pixel*Frame) : 0.212
StreamSize/String : 28.6 MiB (73%)
Language/String : English
Encoded_Date : UTC 2012-01-19 22:32:10
Tagged_Date : UTC 2012-01-19 22:32:11
Color primaries : BT.601 NTSC
Transfer characteristics : BT.709
Matrix coefficients : BT.601 -
-
Quicktime needs the M4V extension to handle AC3 audio.
By the way, you can't change the container simply by renaming a file. Containers have to do with the way the data is organized within the file, not just the extension. Most media players look beyond the file extension and look into the structure of the file. They identify the container that way. So renaming an AVI file to MKV doesn't make it an MKV file. But when you go to play the file the player will look in the file and see it's really AVI and handle it as AVI.Last edited by jagabo; 22nd Apr 2013 at 18:43.
-
I know what you mean but if I change the M4V extension to MP4 with no re-coding, the file plays well with AC3 audio, even in QT as a MP4
As soon Yamb or any form of re-coding is used, the file won't work unless he AC3 is removed and then all is well.
Any more thoughts appreciated....
I'm going to try Mp4 Box to see if that makes any difference and just recode the video only. -
Well, that didn't work!
I found this though....
· Iknow the cause and the solution for this problem. The cause is a wrongAudioType code in the MP4 container. The correct should be 64, but someencoders put this code as 103. To change this I use mp4UI (http://mp4ui.sourceforge.net/).The steps are:
1. open mp4ui
2. Go to the options tab
3. Disable Add hint tracks, make ISMA compliant, optimize on close and enableAdvanced functions/information
4. go to the general tab and open your mp4 file
5. right click on the audio track(s) and choose set properties in the advancesubmenu
6. in the preset list choose AudioType, change the value to 64 and click OK
7. Click on close and try to open your file with quicktime. It should work. Ithas worked for me with about a hundred files...
Good Luck!
I did exactly as above but it doesn't recognise 64 in the relevant box. That does sort of make sense though as its say "The property doesn't exist". -
There might be a clue in this. In the original M4V there is a tiny picture (scene photo/thumbnail) and when I just change the extension to MP4 it remains.
Once converted via an encoder the MP4 picture vanishes.
Any ideas? -
Here is the converted file. Is there anything obvious that shows why it can't be played in Quicktime?
General
Complete name : C:\Users\Gregory\Documents\Movies - Disney\Mini Adventures of Winnie the Pooh__1.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 37.4 MiB
Duration : 2mn 34s
Overall bit rate : 2 034 Kbps
Movie name : Mini Adventures of Winnie the Pooh: Pooh's Game
Performer : Rick Reinert
Genre : Kids & Family
Recorded date : UTC 2011-10-07 07:00:00
Encoded date : UTC 2013-04-23 05:27:29
Tagged date : UTC 2013-04-23 05:27:29
Writing application : Lavf55.1.100
Copyright : © 1983 Disney
Comment : Pooh, Rabbit, Piglet and Roo are gathered on the old wooden bridge to race sticks in the river below. The first stick to pass under the bridge will be the winner. Soon the race is on, and Piglet is sure his long, grayish stick is leading the pack — until
ldes : Pooh, Rabbit, Piglet and Roo are gathered on the old wooden bridge to race sticks in the river below. The first stick to pass under the bridge will be the winner. Soon the race is on, and Piglet is sure his long, grayish stick is leading the pack — until that "stick" turns out to be Eeyore!
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 2mn 34s
Bit rate : 1 519 Kbps
Width : 852 pixels
Height : 478 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.156
Stream size : 27.9 MiB (75%)
Writing library : x264 core 130 r2273
Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x1:0x131 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=230 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / vbv_maxrate=24000 / vbv_bufsize=24000 / crf_max=0.0 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
Language : English
Encoded date : UTC 2013-04-23 05:27:29
Tagged date : UTC 2013-04-23 05:27:29
Audio #1
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2mn 34s
Bit rate mode : Constant
Bit rate : 124 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Delay relative to video : 42ms
Stream size : 2.27 MiB (6%)
Language : English
Encoded date : UTC 2013-04-23 05:27:29
Tagged date : UTC 2013-04-23 05:27:29
Audio #2
ID : 3
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : ac-3
Duration : 2mn 34s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Delay relative to video : 42ms
Stream size : 7.06 MiB (19%)
Language : English
Encoded date : UTC 2013-04-23 05:27:29
Tagged date : UTC 2013-04-23 05:27:29 -
The problem is probably something stupid like Quicktime expects certain atoms to be in certain locations or a certain order when parsing a file with the extension .MP4. You'll probably have to use a hex editor and parse the structure of the file yourself to determine what the problem is. Ie, find one file that works and one that doesn't then step through the container structure looking for differences.
-
That sounds way too difficult for me. I was hoping that there would be a simple fix or a magic program that sorts it. I will keep playing. It's just an interest thing - I must get out more often!
-
This might help:
http://www.adobe.com/devnet/video/articles/mp4_movie_atom.html
Software packages such as MP4creator or AtomicParsley enable you to analyze the location of the moov atom in your encoded files -
Strange. Changed it from AC3 to AAC and it works. But the original Mp4 does support AC3 so it must be something to do with that.
Silly question maybe but was is a moov atom? -
Once again, AC3 in a file with the extension .MP4 can be problematic. Why even worry about this? Just use M4V and avoid Apple's poor parsing. Or get rid of Quicktime altogether and use a player with its own MP4/M4V/MOV parsing.
-
I have to much time on my hands that's the problem. Just thought I would get it to work but I think I will bin it!
-
That's half the fun of it. Some people like to play video games and others like to play with audio, video and graphics. Other want something that they can load all their files in and walk away and come back later and everything is done for them.
I've been searching for a couple of years for a way to do aac passthrough with Virtualdub's external encoder but it seems to be impossible, even though ffmpeg, the external encoder used by Virtualdub will do aac passthrough on it's own with no problem. I assume that since Virtualdub does not handle aac on it's own but needs help from a plugin, the audio gets decompressed and can no longer be passed through but needs to be re-encodedI'll probably still try to solve the problem because that's half the fun of it and satisfiying if you are able to figure something out that people with a lot more knowledge than yourself could not
Similar Threads
-
m4v to MP4 ??
By The.King in forum Video ConversionReplies: 15Last Post: 5th May 2015, 12:48 -
How do I write tags into MP4/M4V files in c++?
By ASilverblade in forum ProgrammingReplies: 7Last Post: 9th Jan 2013, 11:17 -
M4V to MP4 Container help
By Cornholio77 in forum Video ConversionReplies: 5Last Post: 1st Jan 2012, 03:28 -
VirtualDub doesn't decode H264/AVC (MP4/M4V)
By klischee in forum Video ConversionReplies: 4Last Post: 3rd Mar 2010, 08:58 -
MP4 vs M4V vs MKV vs AVI
By shapper in forum Newbie / General discussionsReplies: 6Last Post: 30th Mar 2009, 17:44