8種機械鍵盤軸體對比
本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?
有些視頻編碼太屌,播放起來對CPU消耗巨大,而在電視上或者電視盒子上看視頻,編碼就需要合適,樓主用的FireTV Stick,用起KODI確實吃力,放些編碼太強的視頻是不行的,所以就想到了先在電腦上轉碼,其實轉碼最專業的莫過于ffmpeg,但是因為是命令行工具,一開始偷懶不想用,于是試了Handbrake,也是開源,不過也只是把ffmpeg包轉一下而已,轉一個105分鐘的視頻為mp4竟然用了一個多小時,而且樓主的電腦配置還是挺不錯,i5-6600K 16G DDR4 3200MHZ GTX970 +500G ssd. 這樣依然用了一個多小時,真是在逗我。主要原因還是CPU利用率太低了,于是想到既然是視頻相關,為什么不能用GPU呢,畢竟論能力GPU還是比CPU強大,于是發現確實有這種東西,卻是很新的技術,最后還是逃不過ffmpeg.
平臺
GPU轉碼,自然要分是誰的GPU,包括NVDIA的NVENC,之前叫CUDA.
AMD的VEC
Intel的QSV
不過ffmpeg貌似只支持NVENC和QSV,AMD的還沒有支持。博主的是GTX970便NVENC為例。
前提驅動版本要求,Linux: >=367.35,Windows: >=368.69. 還是非常新的。
ffmpeg支持,編譯時不要--disable-nvenc
編譯ffmpeg
ffmpeg官網是不提供編譯好的windows版的,而是由zeranoe編譯的,博主未試。大家可以試試。也可以用cygwin,不過樓主還是自己編譯了。
畢竟是開源的東西,在windows編譯比較麻煩,就在linux上cross compile,已經有人做了一鍵編譯腳本,在github上。直接放在linux運行就行了,編譯需要硬盤空間10G.
轉換
編譯完成后拷貝到windows,并放到自己的PATH,可以在CMD或者PowerShell運行。具體的參數嘛,可是有些麻煩,因為你先要了解視頻編碼的各種知識,具體看官方的手冊。
mp4編碼必是主流,也是好用,這是我用的參數,自行調整1ffmpeg -i input_video -c:v h264_nvenc -profile:v high -level 4.1 -preset fast -b:v 7M -pix_fmt yuv420p output.mp4
上面的參數適合1080P視頻,效果頗是不錯,還可以用-r限制fps,比如-r 24。-c:v h264_nvenc是用NVENC進行編碼,-pix_fmt yuv420p 對第十代(GTX10xx)之前都是必須的,和顏色編碼相關,因為ffmpeg默認使用yuv444p,然而這只在第十代之后支持,所以不限定就會報錯。
轉換105分鐘視頻只用了大概18分鐘,相比之前的一個多小時真是太快了。
添加字幕
如果想在轉換過程中添加字幕,若輸出格式為mp4,可以添加-f ass(or srt) -i subtitle_file -c:s mov_text,若輸出格式為mkv,可以添加-i subtitle_file -c:s copy,如果想給一個視頻只加字幕(mp4),可以使用:1ffmpeg -i input_video -f ass(or srt) -i subtitle_file -c:v copy -c:a copy -c:s mov_text output.mp4