2020年7月28日 星期二

在 Ubuntu 上安裝 Scratch 3.0

主要參考來源

lyshie 這篇文章,重點在下面這 2 個檔案:
  • create-deb.sh
  • config-deb.json
作者已經寫好,到頁面右上角 Download ZIP 抓下來,解壓縮後這 2 個檔案放入 /tmp

產生 DEB 安裝包

$ ls /tmp
create-deb.sh config-deb.json # 確認檔案在不在
$ sh /tmp/create-deb.sh # 執行完畢, .deb自動產生在 /tmp 中,而且是最新版

幾個要注意的地方

$ sudo apt install npm # 安裝完 npm
$ sudo npm install -g npm # 要更新到最新版
$ npm init # 產生 package.json,安裝 electron 時問題才比較少
$ npm install electron --save-dev





2020年6月27日 星期六

如何將 Google 雲端硬碟或 Google 相片當作網頁圖床


1.選取 Google 雲端硬碟或 Google 相片中圖片


2.


3.


4.<img alt="" src="https://drive.google.com/uc?export=view&id=紅框代碼" height="25" width="31">

2020年5月24日 星期日

shutter 螢幕擷取程式

Ubuntu 20.04

sudo add-apt-repository ppa:linuxuprising/shutter
sudo apt-get update
sudo apt install shutter

2020年5月16日 星期六

Grub Customizer ---- 管理 Grub 開機選單設定的圖形化界面軟體

安裝:

  • sudo add-apt-repository ppa:danielrichter2007/grub-customizer
  • sudo apt-get update
  • sudo apt-get install grub-customizer 

移除:

  • sudo apt-get remove --autoremove grub-customizer

Ubuntu 20.04

已納入軟體庫,不必再加入 PPA。

2020年5月15日 星期五

Grub 2.0 引導多重系統開機

Ubuntu 20.04 LTS

Grub 2.0

Windows 10x64 LTS VHDX

請參閱:實作 Windows 原生開機虛擬硬碟 (Boot to VHD)

insmod part_msdos
insmod ntldr
insmod ntfs
set root='hd0,msdos3'
ntldr /bootmgr
boot

Clonezilla Live

請參閱:將Clonezilla Live放在硬碟中

 set root=(hd0,8)
linux /live-hd/vmlinuz boot=live union=overlay live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="" ocs_live_batch="no" locales="" vga=788 ip=frommedia nosplash live-media-path=/live-hd bootfrom=/dev/sda8 toram=filesystem.squashfs
initrd /live-hd/initrd.img

Rescutux

 請參閱:Rescutux/ isolinux/ live.cfg

set root=(hd0,9)
linux /live/vmlinuz1 boot=live config quiet splash locales=en_US.UTF-8 selinux=1 security=selinux enforcing=0 liveid=/LIVEID/6E1D3930/EB45BF1A/6B6C9A04/A4B9DD8D
initrd /live/initrd1.img

2020年4月29日 星期三

FFmpeg 分割合併影片

直接分割 (不重新編碼):

ffmpeg -ss 開始時間碼 -i 輸入檔 -to 結束時間碼 -c copy 輸出檔
ffmpeg -ss 00:02:03.311 -i input.mp4 -to 00:02:36.914 -c copy output.mp4

ffmpeg 並不會自動把時間點改到最近的 IDR 影格,所以指定的時間點若不是 IDR 則會發生播放問題,要避免此問題必須重新編碼影片。

分割並重新編碼:

ffmpeg -ss 開始時間碼 -i 輸入檔 -to 結束時間碼 -c:v libx264 -refs:v 4 -bf:v 5 -crf:v 18 -c:a libfdk_aac -vbr:a 4 輸出檔

分割並重新編碼 (無損輸出):

ffmpeg -ss 開始時間碼 -i 輸入檔 -to 結束時間碼 -c:v libx264 -refs:v 4 -bf:v 5 -qp:v 0 -c:a libfdk_aac -vbr:a 4 輸出檔

無損的檔案大小是 CRF 18 的數倍,但視覺上的差異並不大。

無損合併:

用 ffmpeg 合併影片比較麻煩,這邊以 mp4box 為例

mp4box -new 輸出檔 -add 輸入檔1 -add 輸入檔2

實例:

如果你要將一影片 Sample.mkv 分割為兩片段:
cut1: 00:02:03.311 - 00:02:36.914
cut2: 00:03:25.240 - 00:03:56.512
然後合併它們

你可以這麼做:

ffmpeg -ss 00:02:03.311 -i Sample.mkv -to 00:02:36.914 -c:v libx264 -refs:v 4 -bf:v 5 -crf:v 18 -c:a libfdk_aac -vbr:a 4 cut1.mp4

ffmpeg -ss 00:03:25.240 -i Sample.mkv -to 00:03:56.512 -c:v libx264 -refs:v 4 -bf:v 5 -crf:v 18 -c:a libfdk_aac -vbr:a 4 cut2.mp4

mp4box -new output.mp4 -add cut1.mp4 -add cut2.mp4

背景知識:

影片是由連續數個影格(frames)所組成
但為了節省資料量,並不是每一張影格都是完整的畫面
在播放時,那些影格必須要參考其他影格才能解碼出完整的畫面

而 IDR frame 也就是 keyframe
它是一張完整的影格 (I-frame),不需要參考其他影格就能解碼出完整的畫面
而其他影格 (例如 P-frames) 不會越過它去參考其它影格

所以你如果直接分割 (不重新編碼視訊)
你必須取 IDR 影格做為分割點
否則,分割片段的開頭或結尾的某些影格可能會找不到參考影格
導致播放問題 (破圖)

但問題是 IDR 影格的時間點不一定是你想要的
如果你想取準確地分割時間與避免播放問題
你只能重新轉換視訊來輸出新的 GOP

如果你需要重新轉換視訊
目前壓縮率最高且已普及的視訊編碼格式為 H.264 又名 AVC
H.264 可以達到無損,不過檔案太大,所以一般都是用有損
如果你編碼設定得當可以達到極低損失與不會太大的檔案

在 x264 編碼器上
通常只要用 CRF 18 即可達到很低損失
如果你要無損視訊輸出你必須使用 QP 0

引用自:https://www.mobile01.com/topicdetail.php?f=510&t=4246163

Winff--MP4 MV 轉出 MP3 聲音

  1. 安裝軟體 Winff
    sudo apt-get install winff
  2. 安裝編碼 ffmpeg 和 libavcodec-extra-52
    sudo apt-get install ffmpeg libavcodec-extra-52
  3. 用 Winff 轉檔