アカウント名:
パスワード:
やってることは超単純です.- データを画像のピクセルに変換(白黒モードとRGBモードがあって,白黒モードは1byteを1画素(ピクセル)に,RGBモードは3bytesを1画素に変換します)- youtubeの不可逆圧縮対策.画像サイズを縦横2倍.データサイズが4倍になりますが,縦横2倍にするだけで回避できるそうです.この2つだけ.
この程度ならわざわざプログラム書かなくても,ffmpeg あたりを使えばワンライナーで実現できそうです.
つまりファイルを動画にするエンコードするときは
$ cat 元ファイル | ffmpeg -f rawvideo -pix_fmt rgb -video_size 640x480 -r 30 -i /dev/stdin
単純に元データのバイト列をそのまま動画にしたらブロックノイズとかによるデータ化けで実用にならないと思うのだけど各ピクセル(サブピクセル)16階調ぐらいにする必要があるような
ソースのGitHubを見に行くと白黒(バイナリ)モードは1ピクセルが0か1を表すと書いてあった。つまり1ピクセル1バイトではなく1ビットだ。そりゃそうだろうな。実際貼られているサンプル動画もどう見ても256階調じゃないし。元コメのannoymouse cowardがアホなだけ。RGBモードは不可逆圧縮対策を行わないモードなので1ピクセル3バイトで正しい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy
仕組みは単純 (スコア:3)
やってることは超単純です.
- データを画像のピクセルに変換(白黒モードとRGBモードがあって,白黒モードは1byteを1画素(ピクセル)に,RGBモードは3bytesを1画素に変換します)
- youtubeの不可逆圧縮対策.画像サイズを縦横2倍.データサイズが4倍になりますが,縦横2倍にするだけで回避できるそうです.
この2つだけ.
この程度ならわざわざプログラム書かなくても,ffmpeg あたりを使えばワンライナーで実現できそうです.
つまりファイルを動画にするエンコードするときは
$ cat 元ファイル | ffmpeg -f rawvideo -pix_fmt rgb -video_size 640x480 -r 30 -i /dev/stdin
Re: (スコア:0)
単純に元データのバイト列をそのまま動画にしたらブロックノイズとかによるデータ化けで実用にならないと思うのだけど
各ピクセル(サブピクセル)16階調ぐらいにする必要があるような
Re:仕組みは単純 (スコア:1)
ソースのGitHubを見に行くと白黒(バイナリ)モードは1ピクセルが0か1を表すと書いてあった。つまり1ピクセル1バイトではなく1ビットだ。そりゃそうだろうな。実際貼られているサンプル動画もどう見ても256階調じゃないし。元コメのannoymouse cowardがアホなだけ。RGBモードは不可逆圧縮対策を行わないモードなので1ピクセル3バイトで正しい。