vlc官網文章《VLC Modules Loading》

Documentation:VLC Modules Loading

VLC modules loading //VLC模塊的加載
Contents //目錄
1 How does VLC load modules? //VLC如何加載模塊
1.1 Introduction about Modules //模塊介紹
1.2 How does the loading of modules happen //加載模塊的過程
1.3 Advanced info about modules loading //加載模塊的高級信息
1.3.1 Score of 0 //Score 0
1.3.2 all, none and other special tweaks //所有、沒有其他特殊的調整
1.3.3 examples //實例
1.4 How to list Modules //怎麼列出模塊
2 Major Capabilities of Modules //模塊的主要功能

1、How does VLC load modules?//VLC如何加載模塊

1.1 Introduction about Modules//模塊介紹
    VLC has a core and a lot of modules (between 200 and 400 depending on the build).
    VLC具有一個核心和許多模塊(介於200和400取決於創建者)。

    VLC cannot do much without modules, since modules are providing most of the functionalities we expect.
     See the "Major Capabilites" sections.
     VLC沒有模塊就不能做許多事,因爲模塊提供了我們期望的大多數功能。參見“Major Capabilites”章節。

    A VLC module has 2 major properties:
    一個VLC模塊有2個主要的特性:

    the capability, VLC_MODULE_CAPABILITY, that describes the category of the module
    類別,VLC_MODULE_CAPABILITY描述了這個模塊的類別。
    the score, VLC_MODULE_SCORE, that holds the priority of the module
    優先級,VLC_MODULE_SCORE它保留模塊的優先級。

1.2 How does the loading of modules happen//加載模塊的過程

    The first time you load VLC, it will scan the default plugins directories that 
    should contain VLC modules and generate a cache (named the plugins cache) so that the modules 
    can be loaded quickly the next time VLC launches. Modules can be organized into directories 
    (up to 5 layers deep) beneath the plugins directory.
    你第一次加載的VLC,它會掃描默認的插件目錄,加載包含的VLC模塊和生成緩存(稱爲插件緩存),
    當VLC再次調用時,便於模塊的下一次快速加載。模塊可以在插件目錄下組織目錄(多達5層)。

    Recent versions of VLC require that the modules follow a specific naming convention or they 
    will not be loaded. Modules must be named in the following format: libmodule_name_plugin.
    ext where module_name should be the name of your module in lower case, and ext is the
     system's shared library extension. For example, the http access module is named 
     libaccess_http_plugin.dll on a Windows machine.
     VLC最新版本要求模塊遵循特定的命名約定否則他們將不會加載。模塊必須按以下格式命名:
     libmodule_name_plugin.ext,其中的module_name應該用小寫字母命名你的模塊名,ext是系統的共享庫擴展名,
    例如,在Windows上,HTTP模塊命名爲libaccess_http_plugin.dll


    When VLC needs a module, it tries to open the module with the highest score that has 
    the required capability and accepts the request.
    當VLC需要一個模塊,它試圖用最高等級的擁有所需的能力並接受請求的核心打開這個模塊。

    Let's do an example.//讓我們做個例子。
    When VLC needs a "decoder" ("decoder" is one category/capability), it opens all "decoder" modules, 
    until one matches.
    It opens them in decreasing score order (biggest score first, smaller ones at the end), and runs
     the Open() function of the modules. When one module returns OK, VLC uses this module.
    當VLC需要一個“解碼器”(“解碼器”是一種類/能力),它打開了所有“解碼器”模塊,直到找到匹配的。
    它在次級核心層打開他們(最大核心第一,小在最後),並運行模塊的open()函數。當一個模塊返回OK,
    VLC使用此模塊。

1.3 Advanced info about modules loading//加載模塊的高級信息

    1.3.1   Score of 0
        If a module has a score of 0, it needs to be explicitly requested by the user or vlc 
        (like forcing --codec, --vout or module_need("foo")) to be loaded.
        如果一個模塊有0級,需要由用戶或VLC的明確要求
        (比如,編解碼器,- VOUT或module_need(“foo”))被加載。

    1.3.2 all, none and other special tweaks//所有、沒有其他特殊的調整
        The "all" mode means all modules will be tested in decreasing order of score.
        “all”模式意味着所有模塊都將以分數遞減的順序進行測試。

        The "none" mode means no modules will be tested.
        “all”模式意味着沒有模塊被測試
        Any module can be requested by using its direct shortname. This is useful for 0-scored modules.
        任何模塊都可以通過其直接名加載。這0-scored模塊是有用的。

    1.3.3examples//例子
        Modules requests can be chained, as the examples show
        如示例所示,模塊請求可以被鏈接:

        --codec avcodec,all
        try the avcodec module than all modules as a "decoder"
        從所有的“decoder”模塊中嘗試查找avcodec模塊 。

        --demux avformat,none
         try the avformat module and no other module
         嘗試avformat模塊並且沒有其他模塊

        By default, modules requests are in the "all" mode, and "all" can be omitted.
        默認情況下,模塊請求處於“全部”模式,“全部”可以省略。

1.4 How to list Modules

    Using Console//使用終端
    vlc --list//命令
    Using the Qt GUI使用圖形界面
    Menu -> Tools -> Plugins and extensions

2.Major Capabilities of Modules//模塊的主要功能

audio filter
An audio filter, like an equalizer
音頻濾波器
音頻濾波器,如均衡器

audio mixer
An audio channel mixer, like a downmixer
音頻混合器
一個音頻通道混合器,像下混頻器

audio output
An audio output, like Windows DirectX audio output
音頻輸出
音頻輸出,如Windows DirectX音頻輸出

decoder
A codec decoder, like theora
解碼器
一個編解碼器解碼,就像Theora

demux
A demuxer, to open a file format, like mkv
解複用器(用於分離視頻和音頻數據)
一個介面,打開一個文件格式,如MKV

encoder
A codec encoder, like x264
編碼器
一編碼器,如x264

interface
An interface, like the Qt interface
接口
一個接口,像qt接口

meta reader
A meta reader, to read metadata
元讀者
元閱讀器,讀取元數據

packetizer
A packetizer
打包器
一個打包器

playlist export
A module to write playlist, like .m3u
播放列表導出
一個模塊寫的播放列表m3u

services_discovery
A module to get extra content from your computer or the network, like Upnp, DLNA
services_discovery
一個模塊,從您的計算機或網絡,得到額外的內容,如UPnP、DLNA

sout access
An access for the streaming
流的接口,主要是解析網絡包

sout mux
A muxer when streaming and encoding
sout mux
一個複用器當流和編碼

stream_filter
A stream filter
stream_filter
流過濾器

text renderer
A way to display subtitles and other text on top of the video
文本渲染
一種在視頻頂部顯示字幕和其他文本的方法。

video filter
A video filter, like contrast adjusting
視頻濾波器
一種像對比度調節的視頻濾波器

visualization2
A visualizer, to create videos from the music
visualization2
可視化工具,從音樂製作視頻

vout display
A video output, to display videos like Direct3D or Xv
輸出顯示
視頻輸出,顯示錄像

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章