修正 GeForce Experience 錄製的影片上傳 Youtube 後顏色變暗的問題

2021/03/01 更新:

將 GeForce Experience 更新至 v3.21 之後,已解決影片在 Youtube 上看起來較暗的問題,請參考:

之前的內容:

nVidia 的 GeForce Experience 有內建遊戲錄影的功能,只要按 Alt + F9 就會直接開始錄影,再按一次 Alt + F9 即可停止錄影並儲存影片。

GeForce Experience 錄製的影片在 Windows 下播放很正常,但是把影片上傳到 Youtube 之後畫面會變暗,導致一些細節看不清楚!

我有在這篇文章找到了原因,以及解決方法:

NVIDIA Shadowplay 錄製影片上傳後顏色偏暗的解決方法 - 知乎

文章裡有一些名詞我看不懂,不過大致上了解是因為 GeForce Experience 沒有把正確的影片編碼資訊寫入到影片檔的 Metadata 區段!

解決的方法就是使用 ffmpeg 來修正影片檔的編碼資訊,指令如下:

ffmpeg -i "source_file.mp4" -bsf:v h264_metadata=video_full_range_flag=1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -c:v copy -c:a copy "destination_file.mp4"

繼續閱讀

解決 Chrome 凍結背景分頁的問題

最近 Google Chrome 不知道是哪根筋不對,在某次的更新之後,竟然會自動凍結背景執行中的分頁,連「固定分頁」也逃不掉被凍結的命運! 我習慣開一個 Gmail 在背景分頁檢查新郵件也失效了!

每次切換分頁都要再載入一次網頁,實在是很惱人! 甚至將視窗切換到別的程式也可能會凍結 Chrome 的分頁!

網路上找到的解決方法不外乎是與「實驗性功能」中的這兩個選項有關:

  • Tab Freeze
  • Automatic tab discarding (啟用分頁捨棄功能)

但這兩個選項在新版的 Chrome 中都已經找不到了!

在我即將要含淚拋棄 Chrome 之前,終於在 Google 的支援論壇找到了有效的解決辦法!
繼續閱讀

[Kotlin]研究 Kotlin 的函式宣告、函式型別、匿名函式、Lambda 與高階函式

Kotlin 的「函式」是所謂的「一級函式」,支援「高階函式」的用法,也可宣告「匿名函式」及「巢狀函式」,這些都是近幾年所興起的程式語言特色。

(原本這篇文章只是要整理一下 Kotlin 的函式用法而已,沒想到愈寫愈多!!)

名詞定義

先確認是否了解什麼是表達式? 什麼是敘述式?

Expression (表達式、表示式、運算式)

  • 它是一種「值」
  • 會傳回結果
  • 單獨存在沒有意義
  • 可放在「等號」的右邊
  • 可做為函式的引數 (Argument)
  • 可做為函式的傳回值
  • 例如: 數值、字串、布林值、null、運算後的結果、比較後的結果、匿名函式...

Statement (陳述式、敘述式、語句)

  • 由會產生「動作」的程式關鍵字及語法所組成的程式碼
  • 不會傳回結果
  • 例如: 流程控制、迴圈、宣告、函式、類別...

其它名詞定義

  • Literal: 字面值,例如: 103.14truenull'A'"This is a book"...
  • Parameter: 參數,函式「宣告」時所輸入的值,例如: fun example(參數) { }
  • Argument: 引數,函式「執行」時所引用的值,例如: example(引數)
  • Identifier: 識別字,命名變數、函式、類別...時所使用的文字
  • Lambda: 一種匿名函式的寫法或概念

繼續閱讀