flvファイルなのに、flv.jsプレーヤで再生できない

flvコーデックって、、、同じflv拡張子でもコーデックが違うなんて知りませんでした。

webプレーヤのJavaSctiptを必死に探しflv.jsプレーヤーでflv映像を再生できるようにしました。

ところが、、、、。

flv拡張子が再生できていたので、再生できないflvファイルが出てきて、なんじゃこりゃ!という事に。

そこで、コーデックを確認したところ、

flv01.jpg

再生できるFLVファイルのコーデック
H.264 MPEG4-AVC ⇒ OBSでFLV形式で保存したもの

flv02.jpg

再生できないFLVファイルのコーデック
Flash Video(FLV1)

flvファイルにはコーデックが色々あり、FLV1 というのはh.263と定義されているもの。flv.jsプレーヤーで再生できるのは、h.264コーデックのものらしい。

はぁ。なんてこった。しかたないので、もう一度エンコードし直しです。

これなら再生できるというffmpegのエンコード設定です。

エンコード方法

/usr/sbin/ffmpeg -i hi.flv -c:a aac -strict -2 -b:a 64k -c:v libx264 -x264opts bitrate=512 -s 640x360 -preset veryfast -f flv low.flv

これすると、メタ情報が消えてしまうので、

/usr/sbin/yamdi -i low.flv -o low2.flv

として、メタ情報付きにし、シーク可能な状態にしました。

奥が深い?複雑すぎ?ちょっと面倒です。

関連コンテンツ