execでffmpegを使ってやっているのですが、
ニコニコ動画のエンコードみたいに順番にエンコードとかできませんか?
常駐はなしの場合でお願いします。
参考にできるURLがある場合、それを教えてください。
具体的なやり方を教えてくれても構いません。
「順番にエンコード」とはどのような意味でしょうか?
作成されているシステムがWebアプリかどうかも定かではありませんが、Webアプリであり、入力ファイルがアップロードされ、アップロードされたものからエンコードしていくということでしょうか?
Webアプリであれば、レスポンスを返さなければいけませんので、単純にPHPからffmpegを起動してしまうと、多重にffmpegが起動させてしまう、あるいは、排他制御をするとレスポンスがしばらく返せなくなるという問題があります。
簡単なのは常駐や、cronなどで定期的にエンコードを処理することですが、これがダメとなると、直接ffmpegを起動するのではなく、ffmpegを制御するアプリケーションを介することが必要となります。
具体的には、
というような役割になります。
管理プログラムの多重起動時の処理は、待機させて自分でエンコード処理をしてもよいですが、プロセスがたまってしまう可能性もあるので、多重起動時は要求だけを登録して、エンコード自体はすでに起動している管理プログラムに任せるのがよいかと思います。
厳密にはいろいろ同期を取るひつようないろいろあると思いますが、方針としてはこんな感じではないかなと思います。
ただ、個人的には可能であるならば、常駐させた方が簡単ではないかなと思います。
レンタルサーバではプロセスの起動時間に制限なんかあったりするので、そういった事情であれば別ですが、その場合は上記方法でもうまく機能しません。
何かの参考になれば。
はい。
下の書籍は買おうかと思っています。
上は
execでやろうかと。
できれば、そのライブラリでのサンプルがあるといいのですが・・・
正確にはnicomimiのような物を自分で作るというもので、LANで動かそうかと思っています。なのでダウンロードですね。
できればプロセスの確認方法があると便利です。
それを教えてくれると・・・。
(ダウンロードとはPHPでファイルを落として、それを変換するということです)