mp4格式的視頻,編碼方式mpeg4,轉化為h264


知識點:在使用vcastr3.swf播放器播放flv視頻,(同時在html5頁面,使用《video》標簽時),發現某些MP4格式的代碼不能播放

原因:vcastr3.swf和video,不支持mpeg4編碼格式的MP4視頻播放

參考:http://www.runoob.com/html/html5-video.html  (video標簽)

          https://www.cnblogs.com/frost-yen/p/5848781.html (ffmpeg常用命令)

          https://blog.csdn.net/daidaineteasy/article/details/53861429  (html使用vcastr3.swf播放器播放flv視頻)

          https://www.cnblogs.com/ghlin/articles/8202842.html  (linux下java使用ffmpeg將MP4視頻轉為H264編碼)

解決方案:1:后台獲取編碼格式給用戶,不允許上傳

                  2:利用ffmpeg工具,將mpeg4轉化h264格式的視頻文件

 

方案2代碼:

        配置ffmpeg環境變量以后,可使用命令直接轉換編碼方式

        視頻編碼格式轉換

          比如一個視頻的編碼是MPEG4,想用H264編碼,咋辦?
          ffmpeg -i input.mp4 -vcodec h264 output.mp4  //input.mp4是指要轉換視頻的地址;output.mp4是轉化后視頻的存放路徑
         相反也一樣
         ffmpeg -i input.mp4 -vcodec mpeg4 output.mp4

 
  java代碼實現視頻編碼格式轉換

          private void transfer(String infile,String outfile) {
           
                    String videoCommend = "ffmpeg -i " + infile + " -vcodec libx264 -r 29.97 -b 768k -ar 24000 -ab 64k -s 1280x720 "
                                    + outfile;

                   try {
                        Runtime rt = Runtime.getRuntime();
                       Process proc = rt.exec(videoCommend);
                       InputStream stderr = proc.getErrorStream();
                      InputStreamReader isr = new InputStreamReader(stderr);
                      BufferedReader br = new BufferedReader(isr);
                     String line = null;

                     while ( (line = br.readLine()) != null)
                           System.out.println(line);

                     int exitVal = proc.waitFor();
                       System.out.println("Process exitValue: " + exitVal);
                } catch (Throwable t) {
                         t.printStackTrace();
                }
             }

        

  

 

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM