2011-03-22 551 views
2

當轉換一個。FLV文件。MP4我用這個命令:FFMPEG黑屏,聲音工作正常

的ffmpeg -i y.mp4.flv -ar 22050 y.mp4

聲音是好的,但我沒有圖像(不在網絡播放器&不下載到PC時) 。當我從.mp4抓取「preview.jpg」文件的一些屏幕時,FFmpeg工作正常。 所以我錯過了某種編解碼器? (我第一次轉換視頻,而商業軟件...)

此外,我想問一下,如果是檢測則文件類型更有效的方式:

$video = file_get_contents("www.remotefile.com/1.mp4"); 
if (strpos($video, "flv") !== 0){// FLV, fLV etc 
    file_put_contents($path."1.flv", $video); 
    //further processing 
} 

編輯:IM使用Debian Lenny作爲操作系統

+0

你解決了嗎? – 2012-04-04 06:29:35

回答

1

您的黑屏問題只能通過查看ffmpeg命令的輸出來解決。如果它無法檢測到編解碼器,它會這樣說。如果您使用Debian的ffmpeg,很可能會錯過某些格式的支持。

Stream #0.1: Video: unknown // or something like that 

(您的網址錯了,它需要一個http://前綴)。通過讀出HTTP response headerContent-Type可以最好地實現檢測視頻類型。但是,使用HTTP庫而不是file_get_contents會更容易。

如果你想依靠文件擴展名,然後用這個簡單:

if (strrchr($url, ".") == ".flv") { 

或者switch語句。

+0

謝謝,它輸出:Stream#0.0:Video:h264,yuv420p,360x240 [PAR 1:1 DAR 3:2],464 kb/s,29.97 tbr,1k tbn,59.94 tbc flv和mp4文件總是包含在文件的某處像mp4,flv,FLV等,我已經做了一些if語句檢查。 感謝http標題鏈接,我會研究一下。 – user671886 2011-03-22 22:24:58

+0

這裏完整的ffmpeg轉儲:http://pastebin.com/2ZwacfcN – user671886 2011-03-22 22:30:17

+0

這看起來沒問題。我看不出有什麼問題。也許你應該試試另一個版本;您的二進制/發行版中可能仍然存在一個錯誤。但也嘗試編碼爲一個更簡單的格式(例如mpeg)進行測試 – mario 2011-03-22 22:35:41