從wiki,我讀了什麼是ffmpeg,avcodec,x264?
FFmpeg的是產生庫和程序 處理多媒體數據的自由軟件項目。 FFmpeg最顯着的部分是 libavcodec,一個其他幾個 項目使用的音頻/視頻編解碼器庫,libavformat,一個音頻/視頻容器多路複用器和多路解碼庫, 和轉碼多媒體文件的ffmpeg命令行程序。
那麼ffmpeg是avcodec的包裝?我經常聽到人們使用ffmpeg將視頻編碼爲x264。所以ffmpeg也是x264的包裝?
它們是如何相關的?
從wiki,我讀了什麼是ffmpeg,avcodec,x264?
FFmpeg的是產生庫和程序 處理多媒體數據的自由軟件項目。 FFmpeg最顯着的部分是 libavcodec,一個其他幾個 項目使用的音頻/視頻編解碼器庫,libavformat,一個音頻/視頻容器多路複用器和多路解碼庫, 和轉碼多媒體文件的ffmpeg命令行程序。
那麼ffmpeg是avcodec的包裝?我經常聽到人們使用ffmpeg將視頻編碼爲x264。所以ffmpeg也是x264的包裝?
它們是如何相關的?
首先,要澄清一些術語:
ffmpeg
是一個他們提供的工具(例如其他ffplay
和qt-faststart
)。avconv
二進制文件。它們都是獨立開發的,但FFmpeg通常會合並來自Libav的提交,而不是相反。 (有些人可能會說Libav患有NIH)。有些發行版決定發佈Libav而不是FFmpeg程序,尤其是Ubuntu,這在導致Libav命令仍被命名爲ffmpeg
的過渡期內引起了一些混淆。現在Ubuntu再次使用「真實」ffmpeg
。ffmpeg
工具就像您所說的那樣是一些用於處理多媒體內容的庫的命令行包裝器。這些包括:
雖然FFmpeg的開發人員通常會提供自己的編碼器和解碼器,可以啓用在libavcodec的包裝第三方庫,爲了「粘合」在一起的FFmpeg,並說,x264,這是最流行的^ h .264編碼器。這通常是在「重新發明輪子」毫無意義的時候完成的,如果決定編寫一個新的H.264編碼器,其目標是比x264更好,那麼情況就是這樣。在其他情況下,由於授權原因(如libfaac),某些庫可能不會隨ffmpeg
版本一起發貨 - 在這種情況下,ffmpeg
提供本機AAC編碼器。
普通的外部編碼器包括:
對於所有這些你可以找到libavcodec下的包裝,例如對於libx264,the file libx264.c
提供了將視頻從FFmpeg內部格式推送到x264編碼器的必要代碼,然後將其傳遞給libavformat以將其寫入文件。實際的編碼是通過libx264完成的。
如前所述,其他編碼器(如the one for MPEG-4)是FFmpeg原生的,並且完全不依賴外部庫。
最後,there are several programs使用FFmpeg工具和庫,可以通過提供ffmpeg
可執行文件,或者通過挑選部分libavcodec和libavformat庫。這是每個許可證允許的,並使FFmpeg成爲當今最受歡迎的多媒體工具集合。
是h263編解碼器的一部分ffmpeg? – onmyway133
FFmpeg的H.263編解碼器是原生的,是的。 – slhck
也許提到原生AAC enc現在是穩定的。 – Mulvya