[動画処理] Subtitle Workshop – 字幕データ作成支援ソフト

字幕データ作成に便利なソフトを探してみる。

Subtitle Workshopがよさげか。オープンソースの字幕データ作成支援ソフト。動画をプレビューしながら字幕の表示開始/終了位置を決めて字幕テキストを入力していき、60種類を超える字幕データ形式で保存できる。

Home – Subtitle Workshop
http://subworkshop.sourceforge.net/

[動画処理] 動画プレイヤーで字幕を表示する

日本語トークを含む動画に英語字幕を付けたい。だけど、できれば動画ファイルはいじりたくない。字幕を合成して再エンコードするのは手間なので。

動画プレイヤーの字幕表示機能

聞きかじったところでは動画プレイヤー自体に機能があるらしいので、著名なプレイヤーの公式サイトで情報収集。

How to enable/use subtitles – What can VLC do? – VideoLAN Wiki
https://wiki.videolan.org/What_can_vlc_do/#How_to_enable.2Fuse_subtitles

Subtitles – VideoLAN Wiki
https://wiki.videolan.org/Subtitle/

字幕ファイルの再生方法 | サポート > FAQ – GOM Player【ゴムプレーヤー】
http://www.gomplayer.jp/player/faq/view.html?intSeq=58

字幕ファイルの作成方法 | サポート > FAQ – GOM Player【ゴムプレーヤー】
http://www.gomplayer.jp/player/faq/view.html?intSeq=57

字幕データを外部ファイルとして用意すれば、動画プレイヤーが重ねて表示してくれるらしい。

SubRip 字幕ファイル形式

字幕データには様々な形式があるが、SubRipがもっともメジャーっぽい。

SubRip – Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/SubRip

字幕の表示開始/終了時刻とテキストを羅列しただけのシンプルなフォーマット。テキストファイルなのでエディタで作成できる。

YouTubeに実際に作成しているスクリーンキャストがあった。

How To Make & Load Subtitles (SRT) for Movies VLC Media Player – YouTube
https://www.youtube.com/watch?v=6YxWm1dkHKk

作業的にはかなりの手間だな。

試しにSubRip形式の字幕データを自作して試してみた。VLCプレイヤーとGOMプレイヤーの両方で字幕が表示できた。技術面ではクリアになったけど、字幕作成の手間をいかに軽減するかが課題だな。

[動画処理] Androidで再生できるMP4の要件

サイトに載せた動画がGalaxyで再生できないとの報告あり。スマホ対応を正式には謳っていないのだけど、このご時勢、ゆくゆくは正式にスマホ対応を謳っていかないとならない。そこでネットでAndroidで再生できるMP4の要件を探してみたのだけど、なかなか見つからない。

やっとそれらしいものが見つかったので覚え書きリンク。

Supported Media Formats | Android Developers
http://developer.android.com/intl/ja/guide/appendix/media-formats.html

あと、Galaxy向けのMP4について書いたサイトがあったので併せてリンク。

How to Play MP4 on Samsung Galaxy S4/S3/S2/Tab/Note/Ace? » TechiSky
http://www.techisky.com/how-to/how-to-play-mp4-on-samsung-galaxy-s4-s3-s2-tab-note-ace.html

[Vagrant] vagrant upがタイムアウトになるときの対処法

Vagrantbox.esからWindows Vista with IE7 (32bit)をゲットして立ち上げたらタイムアウトになった。Windows系のBoxだと、立ち上がりに時間が掛かるのだろう。

タイムアウトを延ばすには、Vagrantfileに以下の設定を追加する。

単位は秒で、デフォルトは300秒。

参考サイト

config.vm – Vagrantfile – Vagrant by HashiCorp
https://www.vagrantup.com/docs/vagrantfile/machine_settings.html

[HTML5] JWPlayer – 人気の動画プレイヤー

無料版あり。

The World’s Most Popular Video Player | JW Player
http://www.jwplayer.com/

Online Video Player Pricing & Features | JW Player
http://www.jwplayer.com/pricing/

Free $0/yr
NEW: No Watermark!
– 25GB Streaming/month 5GB Storage
– Customization & Branding 9 Pre-Built Skins Social Sharing Related Videos Overlay
– Video Engagement Analytics
– Player & Platform APIs
– Customer Support Online Documentation Community Forums

[Laravel] 日付入力にjQuery UIのDatepickerを使う

よく使いそうなので覚え書き。

参考サイト

A Date picker
https://laracasts.com/discuss/channels/general-discussion/a-date-picker

[Laravel] PHP7ベースのHomesteadにphpMyAdminをインストールする

まずはapt-getでインストールを試みたけど失敗。

理由は明確。最新のHomesteadはPHP7ベースだけど、UbuntuのデフォルトリポジトリにあるphpMyAdminはPHP5ベースなので、PHPのバージョンが違うというわけ。

仕方ないので、phpMyAdminをGitHubからクローニングする。

http://phpmyadmin.app/

参考サイト

phpmyadmin with PHP7
https://laracasts.com/discuss/channels/general-discussion/phpmyadmin-with-php7

[Laravel] 5.2でIlluminate/HtmlServiceProviderはサポート外

Laravel 5.2にIlluminate/HtmlServiceProviderをインストールして使おうとするとエラーが出る。

原因はApplicationクラスのメソッド名変更。bindShare()が5.2ではsingleton()に変わっているらしい。故に、以下のページで言及されているけど、$app->bindShare()の呼び出しを$app->singleton()に変更すれば動くみたい。

Call to undefined method Illuminate\Foundation\Application::bindShared()
https://laracasts.com/discuss/channels/laravel/call-to-undefined-method-illuminatefoundationapplicationbindshared

だけど、配布されているレポジトリをカスタマイズして使うのは避けたい。調べたら、5.2対応のHtmlServiceProviderが配布されていた。

Laravel Collective
https://laravelcollective.com/docs/5.2/html

5.2ではこれを使うべし。

[Composer] 基本的な使い方

composer.json

  • composer.jsonが必要
  • composer.jsonはプロジェクトの依存関係を記述する
  • composer.jsonにはその他のメタデータを含めることもできる

依存関係のインストール

  • 依存関係のインストール後にはcomposer.lockが生成される
  • composer.lockにはインストールされたバージョンのリストが記される
  • install実行時にcomposer.lockが存在するときは、リストされているバージョンをダウンロードする
  • composer.lockを配布することで、チーム内で依存関係を揃えることができる

依存関係の更新

  • 最新の依存関係がインストールされる
  • composer.lockも併せて更新される

Packagist – Composerリポジトリ

Packagist
https://packagist.org/

オートローディング

  • オートロード指定されたライブラリに関しては、vender/autoload.phpが作成される
  • vender/autoload.phpをインクルードすることでオートロードされる
  • オートローダーはPSR-4準拠
    PSR-4: Autoloader – PHP-FIG
    http://www.php-fig.org/psr/psr-4/
  • PSR-0にも対応、またComposer独自のオートローダーもある
  • composer.jsonにautofieldが追加されたら、vender/autoload.phpを生成しなおす必要あり
  • vender/autoload.phpの再生成

参考サイト

Command-line interface / Commands – Composer
https://getcomposer.org/doc/03-cli.md

[Composer] 基本とインストール

セットアップにComposerを使うPHPプロジェクトが増えてきたので、Composerの基本を押さえておく。

公式サイト

Composer
https://getcomposer.org/

イントロダクション

Introduction – Composer
https://getcomposer.org/doc/00-intro.md

  • ComposerはPHPの依存関係を管理するためのツール
  • Composerは、yumやaptといったパッケージマネージャとは違い、プロジェクト単位での管理を行う
  • Composerはプロジェクト内のvendorディレクトリに依存モジュールをインストールする
  • Composerは、globalコマンドを使うことによって、グローバルなプロジェクトもサポートする
  • ComposerはNodeのnpmやRubyのbundlerに強くインスパイアされている

想定:

  • 幾つものライブラリに依存するプロジェクトがある
  • これらのライブラリの幾つかは、さらに他のライブラリに依存している

Composerの役割:

  • あなたが依存するライブラリを定義することを可能にする
  • どのパッケージのどのバージョンがインストール可能でインストールの必要があるかを判断してインストールする

Composerの要件:

  • PHP 5.3.2以降
  • インストーラPHP設定チェックを行ってくれる
  • マルチプラットフォーム Windows、Linux、OSX

インストール

基本的な使い方

Basic usage – Composer
https://getcomposer.org/doc/01-basic-usage.md