Log in

View Full Version : switching profiles in h.264 videos


mpiper
18th July 2010, 04:12
I batch converted a large number of videos into h.264 mp4 format for my HTC EVO phone. Unfortunately, I didn't realize the profile was set to MAIN, instead of BASE, which the EVO requires.

ALL other options were set correctly, and at settings that I have already tested as compliant with the phone. But with the MAIN profile, the phone won't play them. I just get a black screen and can listen to the audio.

Is there a way to switch the profiles afterwards, like editing a header or something? I really don't want to spend the days it took doing this again.

Help? Anyone??

Mike

Thanks in advance for any advice or suggestions.

fields_g
18th July 2010, 18:05
When main profile was selected, it allowed main profile options to be used, specifically CABAC and B-frames. Are you sure those were not enabled? If they were disabled it seems that the phone is not even trying because of the main profile flag. I do not know how to change this (maybe someone else does). If CABAC or B-frames were enabled, well... most likely no one will be able to help you. You will need to re-encode.

Dark Shikari
18th July 2010, 20:14
When main profile was selected, it allowed main profile options to be used, specifically CABAC and B-frames. Are you sure those were not enabled? If they were disabled it seems that the phone is not even trying because of the main profile flag.x264 will not enable the "main profile flag" unless a main profile feature is actually used.

nurbs
18th July 2010, 21:34
What if you tell it to (--profile main; even if none of the features are used)?

LoRd_MuldeR
18th July 2010, 21:41
What if you tell it to (--profile main; even if none of the features are used)?

Not much will happen, as "--profile main" only makes sure that no "High" (or above) profile features are enabled ;)

int x264_param_apply_profile( x264_param_t *param, const char *profile )
{
[...]

else if( !strcasecmp( profile, "main" ) )
{
param->analyse.b_transform_8x8 = 0;
param->i_cqm_preset = X264_CQM_FLAT;
}
[...]
}