水底

ScalaとかC#とかネットワークとか

MP4をストリームで扱う場合の落とし穴

MP4コンテナの仕様上, ストリームとして読み込ませるとうまく扱えない. cat video.mp4 | ffmpeg -i pipe:0 ... といった形で扱うと Error while decoding stream #0:1: Invalid data found when processing input として怒られてしまう. 素直に別コンテナを使うか, ファイルとして扱う (ffmpeg -i video.mp4 ...) 必要があるようだ. -analyzeduration-probesize も試したが, ストリームの場合は意味がない模様. ちなみに出力の際 (ffmpeg ... pipe:1) はそのままストリーミング再生しても問題ないようだった.

chinachu弄ってたらめちゃ嵌った.

stackoverflow.com

Chinachu γ, Mirakurun and Encoder on Docker

タイトル通り. 過去にも似たようなことをやったり, 公式実装が公開されたり と, これらを使ってきたが, やはりどうにも使い勝手が悪い部分が多かったので作り直した (宿命).

github.com

基本的には公式実装をベースとしているが, 破壊的な変更や機能追加が多いため別リポジトリとした. 細かい内容はリポジトリを見て頂きたいが, 主な特徴だけ挙げる.

  • アプリケーション群は完全にDocker管理下でビルド済みイメージも公開済み[1][2] で docker-compose up するだけ. 設定ファイルは別途永続化されるので, 止めたい時は気軽に docker-compose down 可能
  • Mirakurun, Chinachuだけでなく自動エンコード機能もデフォルト内蔵で個別設定も可能, もちろんChinachuのストリーミング再生機能もそのまま利用可能
  • 最低限レベルの初期設定
  • 出来る限りセキュアな構成 (一部調整中 非特権コンテナ化実装済)

録画ファイルは自動的にエンコード済みのものと置き換えられるので, 例えば エンコードしたファイルをスマートフォンなどに保存したい。 · Issue #202 · Chinachu/Chinachu · GitHub とかも自動的に解決される.

🏆 快適な録画環境で優勝 🏆

#ScalaMatsuri に参加してきました

タイトル通りです. 2年連続. 関西から. 以下ほぼ一言コメント.

続きを読む

IllustratorやPhotoshop(CS6)をHiDPI対応させる

タイトル通り. 前々から高解像度ディスプレイで利用する時にIllustratorPhotoshopのメニューが非常に小さくなって困っていました. CCからは公式でHiDPI対応していますが, CS6は対応されずどうしようもないと思っていたんですが…

(※ Creators Update後に利用できる別アプローチを追加しました)

続きを読む

Scala糖衣構文の罠

ScalaMatsuriで糖衣構文について話そうとしてその導入部分に使う予定だったものを昔に書きなぐっていたので(CFP落ち). あくまで特異な一例です

糖衣構文の罠

1つScala界の一部で有名な(?)期待を裏切るサンプルを紹介する

続きを読む

python3でvimでpowerlineで

python3環境でvimで以下のようなエラーが出てpowerlineがうまく動かないことがあった(fedora). ちなみに別環境(ubuntu)だと同じ設定でもちゃんと動いたりしてた.

Traceback (most recent call last):
  File "<string>", line 9, in <module>
ImportError: No module named powerline.vim
An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
possible solutions.
Unable to import powerline, is it installed?
Press ENTER or type command to continue

TL;DR

vimrcにpowerlineがpython3を使うように明示する

.vimrc

let g:powerline_pycmd="python3"
続きを読む

.vimrcでのcolorschemeでハマった

TL;DR

set t_Coしたタイミングでcolorschemeの設定がリロードされる模様

何が起きたのか

colorschemedefaultを設定しつつCursorColumnの色を変えたかったためvimrcを設定したが反映されなかった. 大体以下のような感じ.

.vimrc

colorscheme default

...

highlight CursorColumn ctermbg=black

CursorColumnblackを指定するものの, defaultの色になってしまう. 手動で:highlight CursorColumn ctermbg=blackすると色は変わるのでターミナルは原因ではなさそうだ.

続きを読む