I remove the "menu" track and QT playback is still NG.
Thanks for the feedback. Probability of helping matters was of such a low order that I did test this myself and so merely mentioned it in passing. However, my normal recommendation is to remove/leave out all extraneous data tracks (menus, alternate languages, subtitles, etc.) if they have no potential for use or are not compatible with your final target device playback.
I have trouble altering the encoder profile/level and keep working on it.
Ability to to control encoding will depend on the specific work flow used.
1) If the original data streams are merely repackaged for local use in a different file form, then encoding is controlled by the service providing that data streams. In this case, the only way to alter the encoding is to transcode the content yourself as I did with the original sample file you posted.
2) In other cases the data may be encoded by the device/software package itself. This process may or may not allow specific manual alterations. You seem to indicate yours does not.
3) In still other cases where the data is transcoded by the work flow, the encoding may be controlled contextually. For instance, the work flow may have a data throughput limitation and be programmed to lower the Profile/Level settings inversely with the increase in encoding dimensions. (I.e., I noticed that the Main Profile @ Level 4.0 QT10_OK file you posted was also the only file encoded in the 1080p mode with a fixed frame rate while all other sample files were encoded as 720p files with variable frame rates. Therefore, if your work flow has an option that controls the resolution of your output, this same option may also control the Profile/Level settings automatically in order to maintain a constant data throughput under the varying work load.)
Could you please indicate which field of 20130410.MP4 that states "Container profile=High@3.1"
and what's the corresponding field in TS ?
Depending on what you really want here, I may or may not be able to help you. Inspection of your files was done using a dedicated media inspection utility—not a utility having the ability to read and modify the embedded data. In comparing the MP4 file, I noted the following:
As you can see in the highlighted text above, the MP4 file contains an added "Muxing mode" file descriptor between the "Internet media type" and the "Codec ID" entries which tells the player that the file contains High Profile @ Level 3.1 encoded video data despite the fact the the file was actually encoded with High Profile @ Level 5.0 data. On the other hand, after you remuxed the same data to the TS file container as seen below, this file descriptor is once again missing and the 720p file becomes non-playable:
In other words, at this point I am merely examining the various characteristics of the files you have provided and compaparring playability to form a hypothesis which might explain why one file is playable and another is not. Since it was your MP4 work flow that added this descriptor to the file, I cannot specifically say what "field" or setting you used to accomplish this.
In the off chance that you might also like to examine these characteristics, I have copied the date for your sample files to separate RTF text files and posted the ZIP file package to the following URL:
YulinHuang.zip
NOTE: Files posted to my personal server are only available for a limited period and will normally be removed within 90 days.