@@ -398,8 +398,6 @@ public MediaDesc combineAudioAndVideo (MediaDesc videoIn, MediaDesc audioIn, Med
398
398
cmd .add (ffmpegBin );
399
399
cmd .add ("-y" );
400
400
401
- cmd .add ("-shortest" );
402
-
403
401
cmd .add ("-i" );
404
402
cmd .add (audioIn .path );
405
403
@@ -519,26 +517,17 @@ public MediaDesc convertToMP4Stream (MediaDesc mediaIn, String outPath, ShellCal
519
517
cmd .add ("-i" );
520
518
cmd .add (mediaPath );
521
519
522
- if (mediaIn .startTime != null )
523
- {
524
- cmd .add (FFMPEGArg .ARG_STARTTIME );
525
- cmd .add (mediaIn .startTime );
526
- }
520
+ cmd .add ("-f" );
521
+ cmd .add ("mpegts" );
527
522
528
- if (mediaIn .duration != null )
529
- {
530
- cmd .add (FFMPEGArg .ARG_DURATION );
531
- cmd .add (mediaIn .duration );
532
- }
533
-
534
523
cmd .add ("-c" );
535
524
cmd .add ("copy" );
536
-
537
- cmd .add (FFMPEGArg .ARG_VIDEOBITSTREAMFILTER );
538
- cmd .add ("h264_mp4toannexb" );
539
525
540
- cmd .add ("-f" );
541
- cmd .add ("mpegts" );
526
+ cmd .add ("-an" );
527
+
528
+ //cmd.add(FFMPEGArg.ARG_VIDEOBITSTREAMFILTER);
529
+ cmd .add ("-bsf:v" );
530
+ cmd .add ("h264_mp4toannexb" );
542
531
543
532
mediaOut .path = outPath ;
544
533
@@ -903,20 +892,62 @@ public void processComplete(int exitValue) {
903
892
}
904
893
905
894
895
+ public MediaDesc trim (MediaDesc mediaIn , String outPath , ShellCallback sc ) throws Exception
896
+ {
897
+ ArrayList <String > cmd = new ArrayList <String >();
898
+
899
+ MediaDesc mediaOut = mediaIn .clone ();
900
+
901
+ String mediaPath = mediaIn .path ;
902
+
903
+ cmd = new ArrayList <String >();
904
+
905
+ cmd .add (ffmpegBin );
906
+ cmd .add ("-y" );
907
+ cmd .add ("-i" );
908
+ cmd .add (mediaPath );
909
+
910
+ cmd .add ("-c" );
911
+ cmd .add ("copy" );
912
+
913
+ if (mediaIn .startTime != null )
914
+ {
915
+ cmd .add (FFMPEGArg .ARG_STARTTIME );
916
+ cmd .add (mediaIn .startTime );
917
+ }
918
+
919
+ if (mediaIn .duration != null )
920
+ {
921
+ cmd .add (FFMPEGArg .ARG_DURATION );
922
+ cmd .add (mediaIn .duration );
923
+ }
924
+
925
+ mediaOut .path = outPath ;
926
+
927
+ cmd .add (mediaOut .path );
928
+
929
+ execFFMPEG (cmd , sc );
930
+
931
+ return mediaOut ;
932
+ }
933
+
906
934
public void concatAndTrimFilesMP4Stream (ArrayList <MediaDesc > videos ,MediaDesc out , boolean mediaNeedsConversion , ShellCallback sc ) throws Exception
907
935
{
908
936
909
937
StringBuffer sbCat = new StringBuffer ();
910
938
911
-
912
939
ArrayList <String > alCleanupPaths = new ArrayList <String >();
913
940
914
941
int tmpIdx = 0 ;
915
942
916
943
for (MediaDesc vdesc : videos )
917
944
{
918
- File fileOut = new File (mFileTemp ,tmpIdx + ".ts" );
919
- MediaDesc mdOut = convertToMP4Stream (vdesc ,fileOut .getAbsolutePath (), sc );
945
+ MediaDesc mdOut = new MediaDesc ();
946
+ File fileOut = new File (mFileTemp ,tmpIdx + "-trim.mp4" );
947
+ mdOut = trim (vdesc ,fileOut .getAbsolutePath (), sc );
948
+
949
+ fileOut = new File (mFileTemp ,tmpIdx + ".ts" );
950
+ mdOut = convertToMP4Stream (mdOut ,fileOut .getAbsolutePath (), sc );
920
951
alCleanupPaths .add (mdOut .path );
921
952
922
953
if (sbCat .length ()>0 )
@@ -936,9 +967,10 @@ public void concatAndTrimFilesMP4Stream (ArrayList<MediaDesc> videos,MediaDesc o
936
967
937
968
cmd .add ("-c" );
938
969
cmd .add ("copy" );
939
-
940
- cmd .add ("-bsf:a" );
941
- cmd .add ("aac_adtstoasc" );
970
+
971
+ cmd .add ("-an" );
972
+ //cmd.add("-bsf:a");
973
+ //cmd.add("aac_adtstoasc");
942
974
943
975
cmd .add (out .path );
944
976
0 commit comments