2011-03-31 89 views
0

我想加入幾個mp3文件並將其作爲.mov文件與ffmpeg輸出。加入幾個mp3文件並輸出爲mov文件與ffmpeg

任何人都知道命令行來做到這一點?

感謝

+0

http://lyncd.com/2009/02/how-to-merge-mp3-files/ – Brad 2011-03-31 16:53:56

+1

這是幫助做到了不完全編程它,也許問http://audio.stackexchange.com/或http://superuser.com/ – Orbling 2011-03-31 16:57:01

回答

0

這是我用的http://www.sourcerally.net/Scripts/20-PHP-MP3-Class

<?php 
// This is the class to generate mp3 files based on the anti-spam words 
// Based on the PHP mp3 class at http://www.sourcerally.net/Scripts/20-PHP-MP3-Class 
// Output code based on the FPDF class at http://www.fpdf.org 
class Mp3Helper 
{ 
    function convert($fromFile, $toFile) 
    { 
     exec("ffmpeg -i $fromFile -ab 128k $toFile"); 
     unlink($fromFile); 
    } 

    function concatenate($tempFile, $phrases) 
    { 
     exec("mp3wrap " . $tempFile . " " . $phrases); 
    } 

    function fix($tempFile, $toFile) 
    { 
     exec("ffmpeg -y -i " . $tempFile . " -acodec copy " .$toFile); 
     unlink($tempFile); 
    } 
} 
?> 


<?php 
// This is the class to generate mp3 files based on the anti-spam words 
// Based on the PHP mp3 class at http://www.sourcerally.net/Scripts/20-PHP-MP3-Class 
// Output code based on the FPDF class at http://www.fpdf.org 
class Mp3 
{ 
    var $str; 
    var $time; 
    var $frames; 

    // Create a new mp3 
    function mp3($path="") 
    { 
     if($path!="") 
     { 
      $this->str = file_get_contents($path); 
     } 
    } 

    // Put an mp3 behind the first mp3 
    function mergeBehind($mp3) 
    { 
     $this->str .= $mp3->str; 
    } 

    // Calculate where's the end of the sound file 
    function getIdvEnd() 
    { 
     $strlen = strlen($this->str); 
     $str = substr($this->str,($strlen-128)); 
     $str1 = substr($str,0,3); 
     if(strtolower($str1) == strtolower('TAG')) 
     { 
      return $str; 
     } 
     else 
     { 
      return false; 
     } 
    } 

    // Calculate where's the beginning of the sound file 
    function getStart() 
    { 
     $strlen = strlen($this->str); 
     for($i=0;$i<$strlen;$i++) 
     { 
      $v = substr($this->str,$i,1); 
      $value = ord($v); 
      if($value == 255) 
      { 
       return $i; 
      } 
     } 
    } 

    // Remove the ID3 tags 
    function striptags() 
    { 
     //Remove start stuff... 
     $newStr = ''; 
     $s = $start = $this->getStart(); 
     if($s===false) 
     { 
      return false; 
     } 
     else 
     { 
      $this->str = substr($this->str,$start); 
     } 
     //Remove end tag stuff 
     $end = $this->getIdvEnd(); 
     if($end!==false) 
     { 
      $this->str = substr($this->str,0,(strlen($this->str)-129)); 
     } 
    } 

    // Display an error 
    function error($msg) 
    { 
     //Fatal error 
     die('<strong>audio file error: </strong>'.$msg); 
    } 

    // Send the new mp3 to the browser 
    function output($path) 
    { 
     //Output mp3 
     //Send to standard output 
     if(ob_get_contents()) 
     $this->error('Some data has already been output, can\'t send mp3 file'); 
     if(php_sapi_name()!='cli') 
     { 
      //We send to a browser 
      header('Content-Type: audio/mpeg3'); 
      if(headers_sent()) 
      $this->error('Some data has already been output to browser, can\'t send mp3 file'); 
      header('Content-Length: '.strlen($this->str)); 
      header('Content-Disposition: attachment; filename="'.$path.'"'); 
     } 
     echo $this->str; 
     return ''; 
    } 
} 
?> 
+0

我可以在視頻中放置圖像嗎? – 2011-03-31 19:16:10

+0

這不是一個視頻,它只是連接MP3,但與執行ffmepg作爲一個exec的例子,你可以給如何把它放在一起的想法,:) – jjchiw 2011-03-31 20:13:47

相關問題