めも。Macです。
brewでffmpegをインストール
依存パッケージエンコーダーいろいろと入ります。
$ brew install ffmpeg
できたらffmpegコマンドで抜く(正確には映像コーデックのみをコピー)
ffmpeg -i input.mp4 -vcodec copy -an output.mp4
いろいろmp4コンテナいじれて面白そう。
めも。Macです。
依存パッケージエンコーダーいろいろと入ります。
$ brew install ffmpeg
できたらffmpegコマンドで抜く(正確には映像コーデックのみをコピー)
ffmpeg -i input.mp4 -vcodec copy -an output.mp4
いろいろmp4コンテナいじれて面白そう。
基本音声が入っているとできない、古い機種はできない、最近はわりとできるようになってきている。
微妙に悩ましい状況、動画GIFや独自mp4やボタンを置いて再生とかいろいろ検討する。
(本質的なところを掘り下げたい、、昔のIE5とか6とかwindows2000とか思い出す不毛)
ES6の抜粋
ポイントは、onReady で再生準備できたところで、いったん、
this.player.mute();
とミュートしてから再生しているとこ。(音声はYoutubeにかかわらずスマホは全般自動はだめ)
class Hoge {
player;
isPlay=false;
constructor() {
window.onYouTubeIframeAPIReady = $.proxy(this.loadYoutubeApi,this);
let scriptEl = document.createElement('script');
let headEl = document.querySelector('head');
scriptEl.src = "https://www.youtube.com/iframe_api";
headEl.appendChild(scriptEl);
}
loadYoutubeApi(){
this.player = new YT.Player('bgndVideo', {
videoId: 'YOUR_LIKE_VIDEO_ID',
width: '1920',
height: '1024',
playerVars: {
playsinline: 1,
showControls: 1,
modestbranding:1,
showinfo:0,
controls:0,
rel:0
},
events: {
'onReady': $.proxy(this.onReadyYoutube,this)
}
});
}
onReadyYoutube(e){
this.player = e.target;
this.player.mute();
this.playVideo();
$('#bgndVideo').addClass('ready');
}
playVideo(){
this.player.seekTo(1);
this.player.playVideo();
this.isPlay = true;
setTimeout($.proxy(this.playVideo),19*1000);
}
全体はこんな感じ、これは実は短い動画をループ再生していて、
最後まで再生するとチラッっと黒くなってピカピカちらつくので、最後に到達する前にループしています。(背景のまぁいめーじなので、大丈夫)
アニメーションをつくっていたら、最後の方でちょこっとチラついたり、zIndexがおかしくなってみえなくなったりすることが有りました。
結果からいうと、以下で解決。
@keyframes animename
from
transform: translate3d(0,20%,0)
to
transform : none; × これを、→ translate3d(0,0,0) に修正
具体的ところでは、要素の書く順番で、普通はBが上に来る。
animeA,animeB{
position: absolute;
}
~~
<div id="animeA"></div>
<div id="animeB"></div>
けどアニメーションの途中などで以下のスタイルの状態になると、瞬間的にAが上に重なる。
animeA{
transform: translate3d(0, 0,0);
}
animeB{
transform: none;
}
~~
これは、translate3dを使った場合に CPUでなくGPUレンダリングが利用され、その描画レイヤーが通常のCPUレンダリングの上に来てしまうらしい。
高速化と確実性の両立がベストだけど高パフォーマンスをだすためにいろいろ頑張っているそのすきまなのかもしれなない。
ES6の私用でクラスプロパティーがつかえない、TyepScript,Coffeとかは使える。
Class properties transformプラグインをインストールする。
$ npm install --save-dev babel-plugin-transform-class-properties
Class properties transform
https://babeljs.io/docs/plugins/transform-class-properties/
gulpfile.jsでbabelするときにオプションで渡す。
gulp.task('babel', function() {
browserify({
entries: ['src/js/app.js']
})
.transform(babelify, {
presets: ["es2015"],
plugins: ["transform-class-properties"] // ★ココ , presetsとおなじく渡せばいいだけ
})
.bundle()
.on("error", function (err) {
console.log("Error : " + err.message);
this.emit("end");
})
.pipe(source('app.js'))
.pipe(gulp.dest('app/js/'));
});
タイトルの通り比較しようとしてfullPage.jsからみた。
https://alvarotrigo.com/fullPage/
DocumentやDemoや有料のExtensionを見ていくと。
ほとんどなんでもできそうで比較せずにこちら採用で.orz.
情報を探してましたが散乱していて大変だったのでまとめてみました。(ツッコミなど歓迎)
いきなりですが結果Youtubeのiframeplayer apiが結局よかった。
この方法がお手軽でよいかも。以下のJSのライブラリが簡単。
mp4を直接使う方法などいろいろ見ていたのですが、結局 videoタグ/APIでできることは、YoutubeAPIでもできそうで、ソースを見ると、モバイルブラウザの判定eteもしっかり実装されているので、結局のところこちらを使うことにしました。
Modernize Your Site: Building a YouTube Video Background
https://designmodo.com/demo/videobackground/
以下、Webで使える動画形式などの条件
条件 | 方式など | メモ |
---|---|---|
ファイルフォーマット(コンテナ) | MPEG4 | (拡張子が.mp4) |
動画の圧縮形式 | H.264 | 昔はFirefoxがNGだったけど今はOK |
H.264のProfile | high profile ( or main profile) | 細かく検証できて無くサイトを調べているとhighprofileでも再生できている箇所が多かった orz.. |
H.264のレベル | 3.1 | (4でも行けそうだけど。ちょっと検証不足。) |
音声 | 無し | これはモバイルでほとんど自動再生ができないため自動再生の場合は無し |
私は、黒羽製作所さまの“真空波動研Lite” を利用させていただきました。
生産物 黒羽製作所
http://kurohane.net/seisanbutu.html
H.264 Wikipedia
https://ja.wikipedia.org/wiki/H.264
動画コーデックの種類と違い(H.264・VP9・MPEG・Xvid・DivX・WMV等)【比較】
http://aviutl.info/ko-dekku-tigai/
HTML5 の audio 要素と video 要素でサポートされているメディアフォーマット
https://developer.mozilla.org/ja/docs/Web/HTML/Supported_media_formats
Android/iOS同時対応動画をエンコードする心得
http://qiita.com/yuya_presto/items/9fed29296dbdc7fd1d5d
Supported Media Formats | Android Developers
https://developer.android.com/guide/topics/media/media-formats.html
番外(動画GIFをという話) 【Web制作】スマホのブラウザでも動画を自動再生する方法
http://www.groovoost.com/blog/web/play-video-sp
Androidで再生できる動画フォーマットを調べてみた Zenfone3編
https://www.timbreofprogram.info/blog/archives/1192
はたして iPhone は iOS 10 なら動画を自動再生できるのか
http://qiita.com/haribote/items/ef7ec97ca059eeb6d9ae
iOS10 Mobile Safariにおけるビデオの自動再生
http://qiita.com/hayakix/items/4c841ea76eab70a66e91
AndroidとiOS両方に対応するならmp4を使う
http://qiita.com/yuya_presto/items/9fed29296dbdc7fd1d5d
Can I use… Support tables for HTML5, CSS3, etc
https://caniuse.com/#search=h264
iPhone Safariで動画をインライン再生する方法
http://qiita.com/hadakadenkyu/items/75162099d0bf7cdcfdc7
スマホでの動画インライン自動再生まわりについて調べたことまとめ
http://kimagureneet.hatenablog.com/entry/2016/10/23/020054
Modernize Your Site: Building a YouTube Video Background
https://designmodo.com/demo/videobackground/
デンソー ブランドサイト
https://brand.denso.com/ja/
Javascriptでクリックイベントだとスマホで反応がおもいので、タッチイベントと、クリックイベント両方を実装する方法。
touchstartイベント後にstopPropagation()でイベントフローをストップします。
var showSmartPhoneMenu = function (e) {
e.preventDefault();
var $target = $(e.currentTarget);
$target.toggleClass('on');
e.stopPropagation();
};
$('#menuBtn').on('touchstart',showSmartPhoneMenu );
$('#menuBtn').on('click',showSmartPhoneMenu);
emmet(旧zen-coding)のbemフィルターと言うものがあるらしい。
linuxのコマンドふうに パイプでつなぐみたい。
.media-box>.-img | bem
PhpStormで使ってみようと、環境設定パネルをみると。ありました。
早速チェックを入れて使ってみます。
っと、パイプでつなぎ忘れたのですが、こちらは、パイプで繋がなくても自動でBEM認識みたいです。
こっちのほうが何かと便利そうですね。
最近はWeb界隈はIllustratorを使うことが多いのかな、ずーっとPhotoshopを使うことがなかったのですが(なにかFlashが流行ってた頃がWebでは最盛期だったようなきもする。)
久しぶりに再開っ! Photoshop、元は写真業の会社にいたこともあり、デジタルの画像処理ソフトで一番触っていかもなのですが、フロントエンドエンジニアとして最近はもっぱらイラレでした。
最近のイラレはアセットパネルへドラッグしてどんどん物を移動して一括でバリエーションも含めて書き出せてとても便利、昔つかっていたスライスには戻れない感じでかなりスムーズに作業ができるようになってきています。
Photoshopはアセットの書出しパネルがなかったので、旧来のスライス切ってからかきだす方法ではつらいなとおもって情報あさっていると画像アセットの生成といのあがあるようなので、使ってみたら便利でした。
まずは書き出すレイヤーを統合するところから(このあたりはレイヤーに基づくスライスを作るのとほとんど一緒、Photoshopの書出しの肝かなとも思う。
「書き出すパーツを1レイヤーにまとめる。」
ってことをします。ここは、選択ツールで範囲指定でさっとかこって、Cmd + Alt + E (winだと Ctrl + Alt + E )で元のレイヤーを残して統合(残しておくのが味噌)。
そして
そのレイヤーにファイル名をつけます。(png,jpgなど)
そのままファイルメニューにひっそりとある、生成から「画像アセット」を選ぶ。
すると psdファイルのとなりにアセットディレクトリができて、そのなかにレイヤーにつけたファイル名で書き出せます。(これはショートカットはもちろん割り当てたほうが早いです。)
あとレイヤーをいじっててもう一つ便利なのが、右クリックからpngでクイック書出しというものとか、書出し形式ってのもありました。(この辺はもう少し使い込んでみないとなんとも。
ですが、今のところ最速なのは画像アセットの生成っぽいのでしばらく使ってみたいと思います。
Powered by WordPress & Theme by Anders Norén