
昨年購入した Raspberry Pi 4 に、Ubuntu 20.10 をインストールしました。 www.asarinomisosoup.com この上で、いまちょっとFFmpegをセルフビルドしています。 Raspberry Pi 4 にのっているハードウェアアクセラレータ(主にH.264エンコーダ)を使ってみたかったので。 で、最近お仕事でも使っているSRTも、どうせなので使えるようにします。 (FFmpegなどのツールに頼らない、MPEG2-TSなストリーミングサーバーをセルフ実装したりとか。) 都合よくまとめてくださっている、神みたいな方がいたので、後発はそれに相乗りでラクチンです。 qiita.com ほとんどさわっていないPiなので、開発に必要なライブラリもほとんど入っていません。 必要なものは、 docs.microsoft.com qiita.com を参考にして、インス
このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。 FFmpeg APIの使い方を解説してみます。FFmpegは、様々な動画の変換に対応したツールです。コマンドラインからバイナリを叩くのもいいですが、ライブラリAPIを使えば、もっと色々なことができるようになります。ただ、チュートリアル的なものがなかったり、あったとしても古いAPIで書かれていたりしていて、とっつきにくいところがあります。長年開発されてきたOSSなだけあって、APIとしては洗練されているので、分かってしまえば使い方は簡単です。 他の記事 FFmpeg APIの使い方(2): シークやAVFrameなど FFmpeg APIの使い方(3): エンコードしてみる FFmpeg APIの使い方(4): エンコード他 FFmpegは現時点で最新の3.3.3を使っていきます。開発環
メディアサーバーのcrtmpserverが稼働する環境をUbuntu上に構築し、メディア配信に関する知識を増強しようと考えた。 今回は以下を参考にPCのブラウザで動画再生ができる環境を構築して見た。 RTMPストリーミング — pdoc 0.1 documentation 処理フロー:MP4 → [ffmpeg] → FLV → [crtmpserver] → RTMP → [flowplayer] 【動作環境】 サーバー Ubuntu 14.04.3 (x64) クライアント Windows 10 Home (x64) Firefox 50.1.0 Shockwave Flash 24.0 r0 【パッケージインストール】 apt-get install でUbuntuに以下のパッケージをインストールする。 ( [ ] 内にインストールしたときのバージョンを記した。) crtmpserv
#!/bin/bash ffmpeg -re -stream_loop -1 -i 'src.mp4' -vf "drawtext=fontfile=./NotoSans-Bold.ttf: text='%{localtime\:%F%n%n%T}': fontcolor=black@0.8:fontsize=64: x=32: y=32" -vcodec libx264 -x264-params keyint=30 -acodec aac -f flv "${TARGET_RTMP_URL}" FFmpeg での配信コマンドについては以下の記事でも紹介してあります。 テスト用の自動配信環境を Docker と FFmpeg で構築してみる | CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ ざっくりオプションの説明をすると、 -re
Video cellauto ffplay -f lavfi -i cellauto=rule=110 Other interesting cellauto rule values: 9, 18, 22, 26, 30, 41, 45, 50, 54, 60, 62, 73, 75, 77, 82, 86, 89, 90, 97, 99, 101, 102, 105, 107, 109, 110 (default), 124, 126, 129, 131, 133, 135, 137, 145, 146, 149, 150, 151, 153, 154, 161, 167, 169, 181, 182, 183, 193, 195, 210, 218, 225. life ffplay -f lavfi -i life=s=300x200:mold=10:r=60:ratio=0.1:d
以前弊社でCentOSを使ってサーバーを構築するセミナーを実施した際に、サーバーとは何か? というお題から始まりましたが、サーバーというのはサービスを提供するものです、 またサービスを提供する方法として、既存でAという物を元にサービスを提供する機能を持たせる事ができます。 USBのウェブカメラは繋いだ本体自身でしか見る事ができませんが、 Linuxと組み合わせる事で、IPカメラに変身させることができます。 ここではffmpegというソフトウェアを用いてウェブカメラをIPカメラに変身させてみたいと思います。 ■ウェブ配信サーバー(ffserver)の設定 ここではCentOS6を用いて構築を行いますが、外部リポジトリを追加する方法で利用したいと思います。 CentOSはサーバー用途に特化しており、デスクトップ用途のソフトウェアが付属していません。 ソースからコンパイルする事もできますが、 外
ffmpegのhttpプロトコルでcookie送信する方法、ググってもドキュメント以外あんまり有益な情報見つけられなかったので、試行錯誤してうまくいった結果を残しておこうと思いました。 前提 この記事ではMacにhomebrewでインストールしたffmpeg version 2.7.2を使用しています。 ffmpegで使用できるプロトコル ffmpegはinputやoutputで様々なプロトコルを使うことができます。 ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) configuration: --prefix=/usr/local/Cellar/ff
PT2で録画したデータはATOMでなく、クラウド側でエンコードしたら速いよね。ATOMでエンコードすると、時間がかかりすぎるし、電気代大変なので。 サーバーでエンコードする。 cat test.ts | ssh enc_server1 "/usr/local/bin/ffmpeg -i pipe:0 out.mp4 "はい、楽チン。 これで転送待ち時間がゼロです。転送しながら到着した動画をエンコードするのです。 仕組みの解説。 標準入力をつかったエンコード cat test.mpeg | /usr/local/bin/ffmpeg -i pipe:0 out.mp4 これで、FFMPEGが、標準入力のパケットをそのままエンコードして、out.mp4に書き出します。 pipe0 :0 が標準入力 pipe1 :1 が標準出力 pipe2 :2 がエラ出力 pipe :- 指定なしは自動判別
ffmpeg で動画の中の特定の場所に飛びたい場合、次のようにすることが多い。 $ ffmpeg -ss seek1 -i input_file -ss seek2 ... seek1と seek2 はともに時刻を指定する。便宜上、-ss seek1 を前置 ss、-ss seek2 の部分を後置 ss と呼ぶ。どちらも指定時刻へシークするのだが違いがある。前置 ss は高速で不正確、後置 ss は低速で正確だ。次のコマンドを実行すると内部が透けて見える。入力ファイル名は仮に input.mp4 とする。 $ ffmpeg -ss 1 -i input.mp4 -vframes 1 -filter:v showinfo -f null - $ ffmpeg -i input.mp4 -ss 1 -vframes 1 -filter:v showinfo -f null - コマンドの意図は
ffmpegは、無料で使える動画および音声のエンコーダである。ここでは、ffmpegを使って、H.264、webm、wmvなどの各種動画に変換する方法を解説する。 ffmpegは、使い方はきわめて簡単である一方、様々なオプションを駆使すれば、より詳細な設定も可能である。 なお、DVDやBlu-rayのようにフォルダ構造をとるものの場合は、x264のバージョンは最新ではないものの、HandBrakeを使う方が簡単である。→HandBrakeの設定と使い方 目次 ffmpegの基本的な使い方 動画:ビデオコーデックの指定 動画:動画品質の設定 動画:H.265でエンコード 動画:H.264でエンコード 動画:AV1でエンコード 動画:VP9でエンコード 動画:wmvでエンコード 動画:複数の静止画から動画を作成する 動画:クロッピングしてエンコードする 動画:回転させてエンコードする 動画:w
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く