【Django】OpenCVとyieldを使い、ウェブカメラの映像をライブ配信する【imutils.video.VideoStreamer】
Djangoで、VideoStreamerで撮影した映像をライブ配信させる。 仕組みはyieldとマルチスレッド処理を使い、サーバー起動とライブ配信処理を並行して行っている。 撮影して画像を保存しAjaxのポーリングを繰り返すより、Django側がカメラの映像を配信し続ける本記事の方法が効率が良い。 必要なライブラリ asgiref==3.8.1 Django==5.0.6 imutils==0.5.4 numpy==1.26.4 opencv-contrib-python==4.9.0.80 sqlparse==0.5.0 typing_extensions==4.12.0 views.py 配信処理のビューとカメラの起動を行っている。 動体検知処理の部分はコメント ...Django Rest FrameworkのViewの書き方【APIViewと汎用APIView、ModelViewSetの違い】
Nginxにrtmp-moduleを加えてmake install。ffmpegでRTMP配信する映像をVLCで再生【ライブストリーミング再生】
RTMPモジュールありのNginx(最新版)をmakeでインストールする。 https://nginx.org/en/download.html 最新版のnginxをインストールする wget https://nginx.org/download/nginx-1.25.5.tar.gz tar -zxvf nginx-1.25.5.tar.gz cd nginx-1.25.5 DLして、解凍したnginxディレクトリの中で、rtmp-moduleをGitHubからクローン git clone https://github.com/arut/nginx-rtmp-module.git rtmp-moduleのパスを --add-module引数に含めてビルドする。 ./configure --add-module=./nginx-rtmp-module make sudo make install これでインストールは完了したが、プロセスはまだ起動していない状態。127.0.0. ...よく出るReactのエラー一覧
textarea要素には、valueプロパティを使って値を与える 普通のHTMLでは、textareaに最初から値を入れておきたい場合、子要素に直接文字を書くと良い。 しかし、Reactで同じことをやるとエラーになる。 <textarea className="form-control" name="comment" onChange={this.handleChange}>{this.state.activeItem.comment}</textarea> そこで、valueプロパティを使う。 <textarea className="form-control" name="comment" onChange={this.handleChange} value={this.state.activeItem.comment}></textarea> これで、 Use the `defaultValue` or `value` props instead of setting children on <textarea>. というエラーは解決される。 リスト内の要素を識別できるよう、keyプロパティを与える Each child in a list should have a unique ...【Django】任意の順番で並び替えて表示させる【Sortable.js + FetchAPI 】
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: Django JavaScript JavaScriptライブラリ FetchAPI
複数のPDFファイルを1つのPDFファイルにまとめる
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: Python tips Pythonライブラリ 作業効率化
書類(PDF)を1つにまとめる必要が出てきたので。 複数のPDFを1つにまとめるPythonコードを作ることにした。 前提 pip install PyPDF2==3.0.1 ソースコード PyPDF2 をインストールしておく。 PyPDF2 では PdfFileMerger は削除されたため、 PdfMerger を使う。 import glob import datetime from PyPDF2 import PdfMerger now = datetime.datetime.now() now_str = now.strftime("%Y-%m-%d_%H:%M:%S") # TIPS: 既存のPDFファイル名を指定した場合、上書きではなく、追記されるので注意。 def merge_pdfs(output_filename=f"{now_str}.pdf"): # すべてのPDFファイルを取得。 # ファイル名順に並び替える。 pdfs = sorted( glob.glob(f"./*.pdf") ) #print(pdfs) if not pdfs: print(& ...【HTML】inputタグで画像を複数枚指定する【multiple】
画像を複数枚指定できるようにする。 <form method="POST" enctype="multipart/form-data"> <!-- CSRF token --> <input name="content" type="file" multiple> <input type="submit" value="送信"> </form> このフォームで指定された画像は、下記のように同じname属性の値のフォームが複数存在する状態と同じ。 <form method="POST" enctype="multipart/form-data"> <!-- CSRF token --> <input name="content" type="file"> <input name="content" type="file"> <input name="content" type="file"> <input name="content" type="file"> <input name="content" type="file"> <!-- 略 --> <input type="submit" value="送信"> </form> そのため、例えばDjangoでは .getlist() を使って取り出す。 request.FILES.getlist("content") ...【Django】使用頻度の高いカテゴリをプルダウンメニューの上部に表示させる【.annotate(count=Count("topic")).order_by("-count")】
コードは『Djangoで1対多のリレーションを構築する【カテゴリ指定、コメントの返信などに】【ForeignKey】』の https://github.com/seiya0723/startup_bbs_foreignkey から引用。 モデルが class Category(models.Model): name = models.CharField(verbose_name="カテゴリ名",max_length=20) def __str__(self): return self.name class Topic(models.Model): category = models.ForeignKey(Category,verbose_name="カテゴリ" ...【jscolor】カラーピッカーを実装できるJavaScriptライブラリ【シンプル】
- 作成日時:
- 最終更新日時:
- Categories: フロントサイド
- Tags: JavaScript ウェブデザイン tips