亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

在ASP.Net中實現flv視頻轉換的代碼

2024-07-10 13:22:30
字體:
來源:轉載
供稿:網友
實際上是利用.Net中的Process對象來實現的。
   string str=@"d:/test.avi  d:/test_allen.flv";
   RunFFMpeg(str);



   //運行FFMpeg的視頻解碼,
   public void RunFFMpeg(string strCmd)
   {
       //創建并啟動一個新進程
       Process p = new Process();
       //設置進程啟動信息屬性StartInfo,這是ProcessStartInfo類,包括了一些屬性和方法:
       p.StartInfo.FileName = "ffmpeg.exe";           //程序名
       p.StartInfo.Arguments = " -i " + strCmd;    //執行參數
       p.Start();
   }

   //運行Cmd.exe執行Dos 命令,并返回執行結果 
   public string RunCmd(string command)
   {
       //創建并啟動一個對進程
       Process p = new Process();

       //Process類有一個StartInfo屬性,這是ProcessStartInfo類,包括了一些屬性和方法,例如:
       p.StartInfo.FileName = "cmd.exe";           //程序名
       p.StartInfo.Arguments = " /c " + command;    //執行參數
       p.StartInfo.UseShellExecute = false;        //關閉Shell的使用
       p.StartInfo.RedirectStandardInput = true;   //重定向標準輸入
       p.StartInfo.RedirectStandardOutput = true;  //重定向標準輸出
       p.StartInfo.RedirectStandardError = true;   //重定向錯誤輸出
       p.StartInfo.CreateNoWindow = true;          //設置不顯示窗口

       p.Start(); 
       //p.StandardInput.WriteLine(command);       //也可以用這種方式輸入要執行的命令
       //p.StandardInput.WriteLine("exit");        //不過要記得加上Exit要不然下一行程式執行的時候會當機

       //必須創建可以自動轉換完成以后,結束進程的代碼
       return p.StandardOutput.ReadToEnd();        //從輸出流取得命令執行結果
   }



------------------------------------
另一種方法: 用MEncoder轉換視頻文件為Flv 

mencoder 轉換視頻注意事項


1、下載 mencoder.exe 和 mplayer.exe 
2、將mencoder.exe 所在文件夾,加入環境變量Path里面 ,如C:/mplayer
3、微軟鍵+R,輸入cmd,命令行打入如下語法
mencoder d:/test.avi -o d:/testflv.flv -of lavf  -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=100:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050

語法說明:
mencoder d:/test.avi -o d:/testflv.flv   //將D:/test.avi 輸出到 d:/testflv.flv, 參數 -o 代表輸出路徑
-of lavf    //參數 -of :輸出文件的格式,flv文件是屬于lavf格式
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames    //lavf格式的參數設置,對于轉換flv格式,最好加上這個長句。意思是不用bframes。

-oac mp3lame   //輸出音頻編碼器,這里用的mp3lame
-lameopts abr:br=56   //是專門針對mp3lame的參數設置,abr:br=56,是設置音頻比特率為56

-ovc lavc  //輸出視頻編碼器



//視頻編碼器的設置:
-lavcopts 

vcodec=flv:    //指定視頻編碼器為flv
vbitrate=500:  //指定視頻比特率為500 ,低品質為150kb/s,中等品質為400kb/s,高品質為700kb/s
mbd=2:         //宏模塊選擇算法,值為0~2默認為0,值越大轉換越緩慢,但在品質和文件大小方面有好處
mv0:           //編譯每個宏模塊并選擇最好的一個,當mbd=0時無效;
trell:         //會稍微增加品質,mbd>0時效果更明顯;
v4mv:          //量子化網格搜索,對每8×8block找到最優化編碼
cbp:           //只能和trell一期使用,評估失真的圖像塊編碼;
last_pred=3:   //與上一幀相比的移動數量預測,值為0~99,1~3比較合適,大于3時對品質的提高已經無關緊要,但卻會降低速度;
dia=4:         //移動搜索范圍,值為-99~6,對于快速轉換,-1是個不錯的值,如果不是很重視速度,可以考慮2~4;
cmp=6:         //值為1~2000,默認為0,設置用于全象素移動預算的比較函數
vb_strategy=1  //對動作很大的場景會有幫助,對有些視頻,設置vmax_b_frames會有損品質,加上vb_strategy=1會好點。

//mencoder的參數
-vf scale=512:-3   //-vf表示視頻格式scale是縮放,512:-3表示強制將寬度設置為512,高度寫為-3表示保持高寬比,也可以設置為-1或-2,
-ofps 12            /*輸出視頻的幀頻,一般,用于flash播放的視頻幀頻高了沒有意義,反而會增加視頻文件大小,但如果ofps設置的不合適,
                          比如源視頻幀頻不是ofps的整數倍,可能會導致轉換后的視頻、音頻不同步,
                          似乎可以將這一參數改為-noskip來解決這一問題;*/

-srate 22050      //音頻采樣率一般為22050或44100。



----------------------------------------------------------

Mencoder中文參考手冊地址 

 


----------------------------------------------------------

參數說明: 

-srate 32000 : //聲音采樣率,22050hz 
-af channels=2:2:1:0:1:1 //右聲道 
-af channels=2:2:0:0:0:1 //左聲道 
-stereo 0 //立體聲 
-oac mp3lame : //輸出音頻使用mp3編碼 
-lameopts mode=2:cbr:br=32 : //碼率br=32 kbit 
-ovc xvid -xvidencopts bitrate=200 : //以xvid方式編碼,碼率200kbps (經實驗,目前divx比xvid要快,在使用vhq功能時會稍稍影響速度) 

-vf scale=480:-3 -sws 9 : //變換至480像素寬,高度按比例縮放 

"C:/dance.avi" -o "C:/dance.XviD.avi" //源文件地址 -o到 輸出文件地址 

2> 2.txt : //編碼日志記錄地址 




--------------------參數選擇分析------------------------ 

18fps:這是以前通過多次測試得來的,一般電視劇和動畫片15fps就夠用了。如果場景變換不是很大,13fps就能保證播放流暢。降低fps值可以使壓縮速度更快,對于電影,特別是動作片,要保證流暢無馬賽克,就要提高fps,最大24就夠了 

選擇18fps足以應付大部分,性價比高 

音頻采樣率32KHz:從錄音設備的得來的靈感(以下質量說明為比喻,前面的參數時原有的) 

32KHz - 32Kbps - mono比電話音好些 
44KHz - 64Kbps - J-Stereo 收音機質量 
44KHz -128Kbps - J-Stereo 通行的MP3標準質量 
44KHz -192Kbps - Stereo接近CD質量 

經過多次試驗(以上是區間范圍,自己可以根據需要選擇) 
壓片最省空間 - 使用32KHz - 32Kbps - mono,可以保證內容; 
質量要求不高 - 可用32KHz - 128Kbps - mono 性價比比較高; 
空間大高質量 - 44KHz -192Kbps - Stereo對大SD卡用戶。 

視頻采樣率bitrate=150: 

80 - 最小空間占用率,質量最差 轉換速度稍快 (與最低音頻配合,大小可1min=1M) 
122 - 對底配置機器的小卡用戶性價比較高(換面變化快回有馬賽克) 
150 - 滿足底配置機器對畫質的基本要求(對非動作片比較完美) 
248 - 大卡用戶的經濟選擇 (質量較好) 
350 - 大卡高配置的機器 (經濟的體現機器優勢) 
更高- 用戶自己試吧 

總的來說,輸出文件的大小受視頻采樣率、音頻采樣率影響效果顯著,畫面尺寸、fps值也影響大小。怎樣設置參數要看你的個人實際需要與機器配置。 

另外,還有很多不知道的參數,請大家找找看。 

比如:pess2、pess3、動態FPS、屏幕截取、時間區間設置等 


------------------------------------------------------------------

關于音量調節: 

carlwang 寫道:個人習慣是不用耳機的,天熱帶著不舒服,所以聲音我一向偏大。 
我的經驗如果片源是DVDrip,一般在5以上,如果是rmvb一般2就夠了,再大就有爆音了。 

-oac mp3lame -lameopts mode=2:cbr:br=64:vol=2 大家來試試看吧 


------------------------------------------------------------------------



轉換結束,會顯示 
Pos: 226.8s 297f (100%) 48fps Trem: 0min 5mb a-v:-0.009 [142:56] 
這里邊的內容,小括號里應該是轉換的進度,中括號里的內容很重要,142表示視頻比特率,56表示音頻比特率(比特率這個詞不知道用的對不對......) 

轉換結束,會顯示2行文字: 
Video stream: 142.564 kbit/s (17820 B/s) size: 4046677 bytes 227.080 secs 2700 frames 
Audio stream: 56.938 kbit/s (7117 B/s) size: 1616197 bytes 227.082 secs 
這2行信息我想大家都能明白,其中我一直關注的是那個142.564kbit/s, 

用過flash8自帶轉換工具的應該知道高級設置里有個選項是最大數據速率, 
當選中中等畫質的時候,是400kb/s,而低品質也是150kb/s,也就是說,用那句命令轉換的視頻,其畫質都不如品質的,那么,品質怎么樣呢? 


看一下命令: 
mencoder "D:/music.wmv" -o "D:/output.flv" -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=150:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050 

分析: 
-ovc > 大概是output video codec的縮寫,制定輸出視頻編碼,選用的lavc,什么意思?說是用了libavcodec的編碼器; 

-lavcopts > 是lavc的options選項設置 

要設置視頻編碼的參數了! 
codec=flv > 說的是用的flv編碼器,這個咱不理; 
vbitrate=150 > video bit rate!視頻數據速率!就是它了!原來我設的是150啊! 

改成vbitrate=1000,再試試看! 
結果,和前一次一模一樣...... 

冷靜下來,去往上看了一下官方文檔,這個參數是最大數據速率,最大嘛,你設多大都一樣啊,看來不是靠它來控制品質。 

結論,設置品質有2種途徑: 
1、設置-lavcopts,看這樣一句命令: 
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 

在-lavcopts里dia=4:cmp=6:vb_strategy=1這3條 
dia越大品質越高,如果需要快速編碼,設置為-1,設為4時已經很有利于品質了; 
cmp越大品質越高,默認值0,是最快速的,一般設到3,設為6已經只會細微提高品質了,但速度會慢 
vb_strategy,大概是1或者0,默認值可能為0,我這里設為1,會對編碼有幫助,這個參數我自己沒有過多推敲,可能并不影響品質...... 

2、加-sws選項,看下面的命令: 
-sws 3 
只是加一個3進去,轉換后的效果和前面一種方法大致相同,視頻數據速率都是422.5kb/s左右,解釋一下 
-sws就是用來設置品質的,默認值為2,那么,為什么不用這種簡單的方式呢?我個人認為,用前面一種方法有利于找到一個速度和品質的平衡點,畢竟變化的范圍比較大。 

個人見解:
如此視頻格式的轉換,最好使用客戶端轉換,轉換好了再傳到服務端,因此需要做客戶端的一個視頻上傳小軟件
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品在线国产| 欧美激情一区二区三区成人| 欧美一级大片在线免费观看| 亚洲国产精品久久久久秋霞蜜臀| 日韩在线视频线视频免费网站| 欧美成人免费大片| 日韩欧美亚洲范冰冰与中字| 国产精品久久久久久久app| 久久久免费电影| 日本午夜精品理论片a级appf发布| 亚洲jizzjizz日本少妇| 亚洲天堂网站在线观看视频| 伊人久久大香线蕉av一区二区| 欧美黑人极品猛少妇色xxxxx| 国产亚洲视频中文字幕视频| 国产精品第100页| 亚洲精品电影在线观看| 精品国产拍在线观看| 久久6免费高清热精品| 久久精品久久久久| 久久视频国产精品免费视频在线| 久久久久久久久久久人体| 久久久91精品国产一区不卡| 国产成人黄色av| 浅井舞香一区二区| 欧美精品久久久久久久久久| 久久免费成人精品视频| 亚洲天堂开心观看| 在线成人免费网站| 青青草国产精品一区二区| 日韩女在线观看| 亚洲欧美一区二区三区情侣bbw| 在线视频欧美日韩精品| 欧美激情aaaa| 亚洲国产婷婷香蕉久久久久久| 色综合亚洲精品激情狠狠| 欧美国产在线视频| 日韩欧美成人区| 性欧美激情精品| 久久久久久午夜| 精品美女国产在线| 亚洲精品国产美女| 久久亚洲成人精品| 亚洲欧美国产另类| 97在线免费视频| 亚洲精品国产综合久久| 国产精品欧美在线| 精品二区三区线观看| 国产免费一区二区三区香蕉精| 日本高清视频精品| 亚洲精品按摩视频| 国产精品中文久久久久久久| 久久久亚洲国产天美传媒修理工| 最近中文字幕日韩精品| 91在线观看免费高清| 欧美性开放视频| 久久久久久久97| 成人中文字幕+乱码+中文字幕| 久久久免费精品视频| 欧美久久精品一级黑人c片| 国产精品一区二区三区成人| 亚洲伊人久久大香线蕉av| 欧美大尺度在线观看| 黑人巨大精品欧美一区二区三区| 国产成人在线精品| **欧美日韩vr在线| 国产精品视频专区| 国产精品网红福利| 国产精品欧美久久久| 一本色道久久88精品综合| 亚洲性线免费观看视频成熟| 亚洲a级在线播放观看| 精品调教chinesegay| 97国产精品视频人人做人人爱| 亚洲欧美另类人妖| 96精品久久久久中文字幕| 亚洲欧美激情在线视频| 国产精品a久久久久久| 91精品中国老女人| 黄色一区二区在线观看| 88国产精品欧美一区二区三区| 国产视频丨精品|在线观看| 欧美视频裸体精品| 亚洲国产高清福利视频| 欧美日韩aaaa| 欧美精品情趣视频| 国产欧美一区二区三区视频| 国产日韩欧美综合| 国产精品91久久久久久| 欧美激情视频网| 久久亚洲精品视频| 韩国国内大量揄拍精品视频| 中文字幕不卡在线视频极品| 欧美黄色免费网站| 美女少妇精品视频| 久久久久亚洲精品| 青青久久av北条麻妃黑人| 欧美午夜丰满在线18影院| www.国产一区| 日韩美女福利视频| 欧美人与性动交a欧美精品| 中文字幕亚洲欧美在线| yw.139尤物在线精品视频| 国产精品美女999| 国产日产久久高清欧美一区| 亚洲一区二区中文字幕| 日韩在线视频网站| 亚洲欧美激情四射在线日| 欧美精品激情在线观看| 欧美成人国产va精品日本一级| 久久久国产精彩视频美女艺术照福利| 国产精品一香蕉国产线看观看| 欧美在线一区二区三区四| 亚洲综合中文字幕在线观看| 国产suv精品一区二区| 在线亚洲欧美视频| 国产精品在线看| 亚洲国产精品va在看黑人| 97视频在线观看亚洲| 91亚洲精华国产精华| 欧美成人一二三| 欧美激情在线狂野欧美精品| 国内偷自视频区视频综合| 日韩精品在线第一页| 国产女精品视频网站免费| 国产日韩在线看| 久久视频这里只有精品| 欧亚精品在线观看| 宅男66日本亚洲欧美视频| 亚洲国产精品va在线看黑人动漫| 亚洲人成网7777777国产| 亚洲欧美另类国产| 日韩中文字幕在线视频播放| 国产精品成人国产乱一区| 日韩精品免费一线在线观看| 日本久久久久久久| 亚洲成成品网站| 亚洲美女在线视频| 欧美性猛交xxxx偷拍洗澡| 亚洲最大的成人网| 欧美亚洲视频在线观看| 国产亚洲精品一区二555| 欧美极品少妇全裸体| 91精品久久久久久| 正在播放国产一区| 午夜精品久久久久久99热| 欧美日韩另类在线| 欧美日韩亚洲一区二区| 这里只有精品丝袜| 亚洲国产精品成人va在线观看| 怡红院精品视频| 亚洲黄页视频免费观看| 国产精品老女人精品视频| 国产精品久久久久久网站| 欧美日韩裸体免费视频| 色综合伊人色综合网站| 国产午夜精品免费一区二区三区| 日韩有码片在线观看| 国产亚洲精品一区二区| 国产精品精品视频| 国产精品久久国产精品99gif| 欧美日韩美女在线观看| 久久亚洲私人国产精品va| 国产成人精品优优av|