@@ -2318,24 +2318,23 @@ String generateEffectClip(MediaItem lMediaItem, ClipSettings lclipSettings,
23182318 editSettings .audioBitrate = Bitrate .BR_64_KBPS ;
23192319 editSettings .audioSamplingFreq = AudioSamplingFrequency .FREQ_32000 ;
23202320
2321- editSettings .videoBitrate = Bitrate .BR_5_MBPS ;
2322- //editSettings.videoFormat = VideoFormat.MPEG4;
23232321 editSettings .videoFormat = VideoFormat .H264 ;
23242322 editSettings .videoFrameRate = VideoFrameRate .FR_30_FPS ;
23252323 editSettings .videoFrameSize = findVideoResolution (mVideoEditor .getAspectRatio (),
23262324 m .getHeight ());
2325+ editSettings .videoBitrate = findVideoBitrate (editSettings .videoFrameSize );
23272326 } else {
23282327 MediaImageItem m = (MediaImageItem )lMediaItem ;
23292328 editSettings .audioBitrate = Bitrate .BR_64_KBPS ;
23302329 editSettings .audioChannels = 2 ;
23312330 editSettings .audioFormat = AudioFormat .AAC ;
23322331 editSettings .audioSamplingFreq = AudioSamplingFrequency .FREQ_32000 ;
23332332
2334- editSettings .videoBitrate = Bitrate .BR_5_MBPS ;
23352333 editSettings .videoFormat = VideoFormat .H264 ;
23362334 editSettings .videoFrameRate = VideoFrameRate .FR_30_FPS ;
23372335 editSettings .videoFrameSize = findVideoResolution (mVideoEditor .getAspectRatio (),
23382336 m .getScaledHeight ());
2337+ editSettings .videoBitrate = findVideoBitrate (editSettings .videoFrameSize );
23392338 }
23402339
23412340 editSettings .outputFile = EffectClipPath ;
@@ -2395,11 +2394,12 @@ String generateKenBurnsClip(EditSettings e, MediaImageItem m) {
23952394 e .audioFormat = AudioFormat .AAC ;
23962395 e .audioSamplingFreq = AudioSamplingFrequency .FREQ_32000 ;
23972396
2398- e .videoBitrate = Bitrate .BR_5_MBPS ;
23992397 e .videoFormat = VideoFormat .H264 ;
24002398 e .videoFrameRate = VideoFrameRate .FR_30_FPS ;
24012399 e .videoFrameSize = findVideoResolution (mVideoEditor .getAspectRatio (),
24022400 m .getScaledHeight ());
2401+ e .videoBitrate = findVideoBitrate (e .videoFrameSize );
2402+
24032403 mProcessingState = PROCESSING_KENBURNS ;
24042404 mProcessingObject = m ;
24052405 err = generateClip (e );
@@ -2490,10 +2490,10 @@ String generateTransitionClip(EditSettings e, String uniqueId,
24902490 e .audioFormat = AudioFormat .AAC ;
24912491 e .audioSamplingFreq = AudioSamplingFrequency .FREQ_32000 ;
24922492
2493- e .videoBitrate = Bitrate .BR_5_MBPS ;
24942493 e .videoFormat = VideoFormat .H264 ;
24952494 e .videoFrameRate = VideoFrameRate .FR_30_FPS ;
24962495 e .videoFrameSize = getTransitionResolution (m1 , m2 );
2496+ e .videoBitrate = findVideoBitrate (e .videoFrameSize );
24972497
24982498 if (new File (outputFilename ).exists ()) {
24992499 new File (outputFilename ).delete ();
@@ -3567,6 +3567,34 @@ else if (height == MediaProperties.HEIGHT_288)
35673567 return retValue ;
35683568 }
35693569
3570+ /**
3571+ * Calculate a reasonable bitrate for generating intermediate clips.
3572+ */
3573+ private int findVideoBitrate (int videoFrameSize ) {
3574+ switch (videoFrameSize ) {
3575+ case VideoFrameSize .SQCIF :
3576+ case VideoFrameSize .QQVGA :
3577+ case VideoFrameSize .QCIF :
3578+ return Bitrate .BR_128_KBPS ;
3579+ case VideoFrameSize .QVGA :
3580+ case VideoFrameSize .CIF :
3581+ return Bitrate .BR_384_KBPS ;
3582+ case VideoFrameSize .VGA :
3583+ case VideoFrameSize .WVGA :
3584+ case VideoFrameSize .NTSC :
3585+ case VideoFrameSize .nHD :
3586+ case VideoFrameSize .WVGA16x9 :
3587+ return Bitrate .BR_2_MBPS ;
3588+ case VideoFrameSize .V720p :
3589+ case VideoFrameSize .W720p :
3590+ case VideoFrameSize .S720p :
3591+ return Bitrate .BR_5_MBPS ;
3592+ case VideoFrameSize .V1080p :
3593+ default :
3594+ return Bitrate .BR_8_MBPS ;
3595+ }
3596+ }
3597+
35703598 /**
35713599 * This method is responsible for exporting a movie
35723600 *
@@ -3643,7 +3671,6 @@ void export(String filePath, String projectDir, int height, int bitrate,
36433671 case MediaProperties .BITRATE_2M :
36443672 outBitrate = Bitrate .BR_2_MBPS ;
36453673 break ;
3646-
36473674 case MediaProperties .BITRATE_5M :
36483675 outBitrate = Bitrate .BR_5_MBPS ;
36493676 break ;
0 commit comments