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

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

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

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

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

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

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

解決方案:1:後臺獲取編碼格式給用戶,不容許上傳編碼

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

 

方案2代碼:.net

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

        視頻編碼格式轉換

          好比一個視頻的編碼是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();                }             }

相關文章
相關標籤/搜索