2013-03-28 110 views
0

使用ffmpeg我轉換FLV文件到一個MP4文件中。但MP4文件有0個字節。這是我用來轉換的命令是使用FFMPEG MP4文件FLV轉換爲MP4格式之後具有0字節

ffmpeg -i sample.flv -b 1104k -ab 122k sample.mp4 

這是我得到了上面的ffmpeg的命令的輸出:

ffmpeg version 0.8.5-4:0.8.5-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers 
    built on Jan 24 2013 18:01:36 with gcc 4.6.3 
*** THIS PROGRAM IS DEPRECATED *** 
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. 
[flv @ 0x64f7a0] Estimating duration from bitrate, this may be inaccurate 
Input #0, flv, from '/home/kirthiga/Desktop/videopine/test.flv': 
    Metadata: 
    creationdate : Thu Mar 28 12:46:29 
    Duration: 00:00:09.82, start: 0.000000, bitrate: N/A 
    Stream #0.0: Video: flv, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc 
    Stream #0.1: Audio: nellymoser, 22050 Hz, mono, s16 
[buffer @ 0x64f720] w:320 h:240 pixfmt:yuv420p 
encoder 'aac' is experimental and might produce bad results. 
Add '-strict experimental' if you want to use it. 

回答

2

首先,您使用的是過時的,名不副實和破碎的版本ffmpeg這實際上不是從FFmpeg的,而是從Libav,一個FFmpeg的派生。 Read this for more

的錯誤是,你的版本,出於某種原因,doesn't似乎與任何其他庫進行配置,這樣的話你就會有一個困難時期實際上適當的質量轉換爲有用的東西。

爲了讓您的命令工作,一個-strict experimental應該做的,但我的建議,而不是是,你要麼的FFmpeg的download a recent static build,或compile it yourself具有相關性,如libfdk_aaclibx264

你可以再做:

ffmpeg -i in.flv -crf 23 -c:v libx264 -c:a libfdk_aac -vbr 4 out.mp4 

變化18和28之間的CRF參數來控制質量。不足意味着更好,23是默認值。對於音頻,質量設置與VBR選項,用4從1到5(較高的裝置更好)提供大致128 kbit/s的立體聲,和值。

如果你真的必須使用恆定比特率,試試這個來代替:

ffmpeg -i in.flv -c:v libx264 -b:v 1104K -c:a libfdk_aac -b:a 122k out.mp4 

x264 encoding guideAAC encoding guide上FFmpeg的維基更多的選擇。