
首先,我只想多說一點關於我的標題,我並不是指升級不會添加數據(正如昇級時經常被問到的)這一事實 - 而是不同的東西。
例子
我有原始視頻 A1 (854x480)
我將 A1 編碼為 B1,忽略比例 - 因此保持相同的 854x480。
ffmpeg -i C:\A1.mkv -preset veryslow -crf 24 C:\B1.mkv
我在播放器中播放這個視頻,並通過放大播放器的窗口來放大它,視頻現在是1092x614,我保存了第88幀的屏幕截圖。
我現在將 A1 編碼為 C1,指定比例 1092x614(如我們的螢幕截圖)
ffmpeg -i C:\A1.mkv -preset veryslow -crf 24 -filter_complex scale=1092:614 C:\C1.mkv
我將第 88 幀的螢幕截圖保存在 C1 中,以其原始螢幕尺寸 - 1092x614
因為我對兩種編碼都使用原始原始文件,所以我假設兩個螢幕截圖看起來都一樣 - 但事實並非如此,與手動升級編碼 B1 相比,升級編碼 C1 的品質要差很多。
我認為當我用播放器手動升級並查看圖像時,ffmpeg 在編碼時會執行相同的操作- 因此它會看到我看到的相同圖像並基於該圖像構建編碼,但就好像ffmpeg 使用的渲染引擎是不同/不太好。
有辦法解決這個問題嗎?
我們可以透過不同的技術實現類似的目標嗎?例如編輯 Original Raw A1 的元資料並設定寬度:高度 - 使任何播放器以該尺寸打開視頻,在播放時不知不覺地放大它。
我的用例是我試圖模擬大多數主要視訊主機中識別的尺寸 - 任何低於閾值的視訊都不會由具有某些設定的主機進行編碼。
答案1
正如您所說,您的原始視頻是原始視頻,意味著它未壓縮,當使用播放器手動放大時,它仍然未壓縮但已插值。意味著它仍然處於最高品質。但 -crf 24 是高壓縮率,如果您希望您的視頻看起來像升級後的原始視頻,您可以嘗試 -crf 19 或更低。