Opensuse

讓 MP4 在 OpenSuse 的 Firefox 中播放

  • December 20, 2020

我不確定從什麼時候開始,但 MP4 影片不再可以在 Firefox 上播放。Web 控制台中有一條錯誤消息,指出不支持 HTTP-Content-Type “video/mp4”。

作業系統:OpenSuse Tumbleweed

Firefox 版本:83.0(64 位)

已安裝的軟體包(除其他外):

ffmpeg-4、gstreamer-plugins-libav、libavcodec56、libavcodec57、libavcodec58_91、libavdevice56、libavdevice57、libavdevice58_10、libavfilter5、libavfilter6、libavfilter7_85、libavformat56、libavformat57、libavformat58_45、libavutil54、libavutil55、libavutil56

about:config 可能很重要的設置:

media.ffmpeg.enabled = true

media.mp4.enabled = true

media.mediasource.mp4.enabled = true

不過,我正在使用 Konsole:

MediaSource.isTypeSupported("video/mp4")
錯誤的

還有什麼可能需要的嗎?主要是它可以工作,因為我的另一個盒子上的 Firefox 可以很好地執行嵌入式 MP4 影片。

診斷:

正如評論中所建議的,我已經下載了影片並在其上執行了 ffprobe:

輸入#0,mov,mp4,m4a,3gp,3g2,mj2,來自“EprnqfLXYAgJV-e.mp4”:
元數據:
主要品牌:mp42
次要版本:0
compatible_brands:mp41isom
持續時間:00:00:02.20,開始:0.000000,比特率:55 kb/s
流 #0:0(und):影片:h264 (avc1 / 0x31637661)、無、200x200、51 kb/s、10 fps、10 tbr、100 tbn、100 tbc(預設)
元數據:
handler_name:推特 v2
輸入流 0 的 id 為 27 的編解碼器不受支持

影片的 Accept 標頭也有點可疑,那裡沒有 mp4(我的狀態為 206):

Accept: video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5

OpenSuse 不支持開箱即用的受專利保護的編解碼器。

使用https://opensuse-community.org/>或<http://opensuse-guide.org/codecs.php

一些可能感興趣的更精確的資訊:

我安裝了 vlc-codecs 包及其依賴項,它工作正常。然後我再次解除安裝了 vlc-codecs 包,它在重新啟動後仍然有效。zypper 輸出給出了一些關於實際問題的提示。

該庫似乎有多種風格libavcodec58_91,一種在官方儲存庫中缺少一些專利編解碼器和一種所謂的libavcodec58_91(unrestricted)風格,只能從 Packman 獲得。vlc-codecs 不依賴於其他 libav 包,但可能還有更多。我不知道 zypper 如何區分這兩者。版本號略有不同,但不包含有關受限製或不受限制的提示。來自官方儲存庫的一個有版本號4.3.1-6.1,來自 Packman 的不受限制的一個有版本號4.3.1-9.3

tl;dr

libavcodec58_91僅在從 Packman 安裝時包含受專利限制的編解碼器。openSuse(和其他官方)儲存庫中的等效包不包含它們。

引用自:https://unix.stackexchange.com/questions/625383