2014-11-03 4 views
1

MP4Parser을 사용하여 기존 비디오에 3 초의 간단한 외설 비디오를 추가하려하지만 어떤 이유로 병합이 발생하면 비디오를 재생할 수 없습니다. 내 갤러리에서 비디오를 재생하려고 할 때 악명 높은 "죄송합니다.이 비디오를 재생할 수 없습니다."오류가 표시됩니다. 누구나 이와 비슷한 경험이 있습니까? HTC One을 실행 중입니다. 4.4 KitKat안드로이드 MP4Parser가 비디오를 재생할 수 없습니다.

다음은 MP4Parser 자체에서 AppendExample에서 가져온 하나의 .mp4 클립에 병합하는 방법입니다.

private void createFinalOutputVideo() { 

    CameraHelper helper = new CameraHelper(this); 
    File outFile = helper.getOutputMediaFile(CameraHelper.MEDIA_TYPE_VIDEO); 


    try { 


     Movie[] movies = new Movie[2]; 
     movies[0] = MovieCreator.build(mVideoPath); 
     movies[1] = MovieCreator.build(mOutroPath); 


     Log.d("ShareActivity", "Video 1 path " + mVideoPath); 
     Log.d("ShareActivity", "Video 2 path " + mOutroPath); 

     List<Track> videoTracks = new LinkedList<Track>(); 
     List<Track> audioTracks = new LinkedList<Track>(); 

     for (Movie m : movies) { 
      for (Track t : m.getTracks()) { 

       if (t.getHandler().equals("soun")) { 
        audioTracks.add(t); 
       } 


       if (t.getHandler().equals("vide")) { 
        videoTracks.add(t); 
       } 
      } 
     } 

     Movie result = new Movie(); 
     if (audioTracks.size() > 0) { 
      result.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()]))); 
     } 
     if (videoTracks.size() > 0) { 
      result.addTrack(new AppendTrack(videoTracks.toArray(new Track[videoTracks.size()]))); 
     } 


     Container out = new DefaultMp4Builder().build(result); 

     FileChannel fc = new RandomAccessFile(String.format(outFile.getPath()), "rw").getChannel(); 


     out.writeContainer(fc); 
     fc.close(); 

     Toast.makeText(this, "Merge successful! Output path is " + outFile.getAbsolutePath(), Toast.LENGTH_SHORT).show(); 

    } catch (IOException e) { 
     e.printStackTrace(); 
     Toast.makeText(this, "Error merging videos!", Toast.LENGTH_SHORT).show(); 
    } 


} 

누구나 MP4Parser에이 문제가 있습니까? 세바스찬이 여기에서 차임을 할 수 있다면 좋을 것입니다.

답변

0

저는 내부적으로 mp4parser를 사용하는 비디오 크기를 조정하기 위해 https://github.com/hoolrory/AndroidVideoSamples을 사용했습니다. 샘플에는 비디오의 크기를 조정할 수있는 방법이 있지만 소리가 들리지는 않습니다. 그래서 비디오에 트랙을 추가하는 믹스를 추가했습니다. 그런데 비디오가 끝날 때 "이 비디오를 재생할 수 없습니다"라는 메시지와 함께 오류가 발생합니다.

희망이 있으면 도움이됩니다.

관련 문제