激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

        Linux系統(tǒng)中提取DVD音頻的方法介紹

        發(fā)布時間:  2012/8/26 17:48:07
        1. 音頻編碼:
          
          mencoder -ovc frameno -o frameno.avi  
           -oac mp3lame -lameopts abr:br=96 -alang en VTS_01_1.VOB 
         
         

          稍微解釋一下參數(shù)的意思:一般字母o開頭的參數(shù)就是指output的意思了, a就是audio, v是video, c是codec, br是bit-rate(br有幾種:vbr, abr, cbr。v,a和c意思分別是variable,average和constant。) alang是指audio language。en是英文,中文是zh。有時可能會有兩個聲道,都是中文(zh),一個普通話,一個廣東話。這時就不能用alang這個參數(shù)了,要用-aid。還有,就是這里用了LAME的mp3編碼。

          總之,這行命令中需要改的就是"en"和文件名了。"96"也可改成128,但最終的文件可能會比較大。frameno和frameno.avi不要改。

          2. 視頻編碼:(1st pass)

          
          mencoder -oac copy -o /dev/null -ovc lavc -lavcopts   
          vcodec=mpeg4:vbitrate=576:vhq:vpass=1 -vf 
         scale=640:480,crop=640:344:0:66,lavcdeint VTS_01_1.VOB
          

          這里用了libavcodec來做mpeg4的編碼。最重要的就是-vf了,vf意思是video filter。所有的filters要用逗號隔開。我用了scale,crop和lavcdeint三個filters。scale就是把DVD原本的

          720x576變成640x480。crop就是把已經(jīng)scaled成640x480的圖像繼續(xù)切成640x344。0:66是告訴mencoder從什么地方開始切,從左上角開始算,橫者數(shù)0,豎者數(shù)66。注意切出來的圖像最好是8的整數(shù),如上面的344。lavcdeint就是de-interlace,不知道中文怎么譯。如果你弄出來圖像上能看到明顯的橫紋,就要加上這個選項。

          3. 視頻編碼:(2nd pass)

          
          mencoder -oac copy -o mymovie_1.avi -ovc 
         lavc -lavcopts vcodec=mpeg4:vbitrate=576:vhq:vpass=2  
          -vf scale=640:480,crop=640:344:0:66,lavcdeint VTS_01_1.VOB 
         
         

          在first pass里我們已經(jīng)看到,輸出是到/dev/null的,也就是丟掉不要了。輸出的只有divx2pass.log這么一個文件。到了這個second pass,就要在-o后面放上真正的文件名了。還有就是把vpass改成2。我用的vbitrate=576是為了控制2小時10分鐘片子壓到小于700MB。我記得音頻部分做完時會有一個建議的vbitrate,可以參考。

          好了,已經(jīng)把第一個vob變成avi了。然后刪掉divx2pass.log和frameno.avi,重復上面的步驟,把所有的vob都變成avi。

          4. 把所有的avi文件用下面的命令處理一下

           
          mencoder -idx mymovie_1.avi -ovc copy  
           -oac copy -o mymovie_1_out.avi
         

          5. 合并所有的avi成一個文件

          

          cat mymoive_1_out.avi mymoive_2_out. 
        avi ... mymoive_8_out.avi > mymovie.avi 
          mencoder -noidx -ovc copy -oac copy 
         -o mymovie_final.avi mymove.avi
          

          OK! 搞定!dvd我們一般把它rip成avi格式。用的編碼一半是xvid.mpeg4,lavcopts,質(zhì)量較好的編碼一半選用3pass編碼方式,得到的文件大小一般也是700M左右。就是說要編碼三次。(可惜不能用rmvb,它就比avi小多了,質(zhì)量也很好)。

          第一次是音頻編碼,可以順便剝離字幕,第二次是第一次視頻編碼,主要為了得到一個編碼表,第三次就是按照第二次得到的碼表再次編碼,順便把第一次得到的音頻合成進去。

          簡單的就如下:

          PHP代碼:

          
          3-pass編碼的例子:dvd-rip 
          rm frameno.avi -- 移去這個文件,它可能來自以前的3-pass編碼(它會干擾當前編碼) 
          mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 
          mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi 
          mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi 
        
        幾個解釋補充:

          1:音頻加字幕:

          PHP代碼:

          mencoder dvd://1 -vobsubout subtitles -vobsuboutindex  
            0 -sid 2 -o frameno.avi -ovc frameno

          注意 :這里的frameno.avi就是你得到的音頻。我這里沒有進行編碼,就是說直接把dvd的音頻流給剝離出來(其實就是ac3編碼)。如果如果你想用lame編碼成mp3那么參考Fortraner的介紹。

          -vobsuboutindex 0 -sid 2 這個參數(shù)就是為了從dvd文件里把字幕給剝離出來。前面的0就是說我們選的字幕(就是sid 2)做為我們最后得得到字幕文件的index 編號為0的字幕。(字幕包括以.idx和.sub結(jié)尾的一對文件。)

          sid 2 表示我們選的dvd字幕中的sid編號(language id)為2字幕。為什么選2呢?因為你用mplayer -vobsubid 2播放dvd時正好出來的是中文。如果你用-vobsubid 1得到的是中文那么你就用1。關(guān)于字幕提取。詳見mplayer的官方文檔(有中文的)。

          舉個一次性在進行3-pass編碼的同時從DVD復制兩份字幕的例子:

          PHP代碼:

          rm subtitles.idx subtitles.sub //這里是為了防止原先存在的字幕的干擾。 
          mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 
           0 -sid 2 -o frameno.avi -ovc frameno 
          mencoder dvd://1 -oac copy -ovc divx4 -pass 1 
          mencoder dvd://1 -oac copy -ovc divx4 -pass 2 
             -vobsubout subtitles -vobsuboutindex 1 -sid 5

          

          2:視頻編碼

          視頻編碼的參數(shù)設(shè)置 Fortraner已經(jīng)說的很詳細了。我對參數(shù)的設(shè)置就不知其所以然了。問題是如何用參數(shù)才能使編碼質(zhì)量達到比較高的水平。這里是有很多東西可以研究的。但我拼命看man,文檔,實驗了好多方法,感覺也和上面給出的簡單的例子的編碼質(zhì)量差不多。-_- ! 大家試試Fortraner兄的參數(shù)?纯从袥]有大的改觀。

          3:還是講講怎么從dvd copy吧

          a:上面的例子是用來 dvd://? 的參數(shù)。這表示直接用dvd光驅(qū)。?表示的是我們從那個軌道開始編碼。一般dvd有好幾個軌道。第一個往往是片頭和什么節(jié)目預告之類的。所以我一般直接從2開始。3也是。一般沒什么用了。具體你可以看看光盤里的info文件。有幾個。

          b:那么像Fortraner兄說的沒有光驅(qū)或已經(jīng)把vod文件拷貝出來的怎么辦?

          其實我們可以一次性的搞定:

          先建立一個目錄比如:DVD。然后把那些dvd光盤里的文件都扔到這個目錄。注意,不要忘了把那些info文件也扔進去。那時dvd的軌道信息。有用。然后我們就把這個DVD目錄當成dvd光驅(qū)。PHP代碼:

          mencode dvd://2 -dvd-device DVD/ (這里指定你的DVD的路徑)

          

          c:那么我要是不用上面的辦法呢?就是說我就選幾個vod文件。我能一次性給搞定呢?行。

          請看例子,PHP代碼:

          cat 1.vod 2.vod | mencoder -noidx -ovc copy -oac copy -o output.avi -

          

          注意不要忘了加“-”。在linux系統(tǒng)好像直接可以用mencode *.vob.我想不行的話你就用cat吧。cat好強啊。最后我們可以用一個腳本來自動完成所有的步驟:

          我的730M的3pass編碼的腳本,PHP代碼:

        #!/bin/sh 
        rm -rf frameno.avi 
        mencoder dvd:// -vobsubout subtitles  
        -vobsuboutindex 0 -sid 0 -ovc frameno -o  
        frameno.avi -oac mp3lame -lameopts vbr=3:abr=80 
        mencoder dvd:// -ovc lavc -lavcopts  
        vcodec=mpeg4:vqh:vpass=1 -oac copy -o aa.avi 
        mencoder dvd:// -ovc lavc -lavcopts 
         vcodec=mpeg4:vqh:vpass=2 -oac copy -o aa.avi 
         

          不知道哪里還沒有明白。大家主要還是看doc文檔和man吧。很詳細的。


        本文出自:億恩科技【mszdt.com】

        服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經(jīng)營性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經(jīng)營性ICP/ISP證:贛B2-20080012
      9. 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
      10. 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
      11. 專注服務(wù)器托管17年
        掃掃關(guān)注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務(wù)熱線