nginx.confは簡単です。
sudo cat /usr/local/nginx/conf/nginx.conf
worker_processes 1;
error_log logs/error.log error;
events {
worker_connections 4096;
}
rtmp {
server {
listen 1935;
application live {
live on;
dash on;
dash_path /mnt/dash;
dash_fragment 15s;
}
}
}
http {
server {
listen 80;
location /dash {
root /mnt;
}
}
types {
text/html html;
application/dash+xml mpd;
}
}
Webカメラを127.0.0.1にプッシュしました。
output="rtmp://127.0.0.1:1935/live/sample"
ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -c:v libx264 -f flv $output
rtmpプロトコルを使用してインポートする:
ffplay rtmp://127.0.0.1:1935/live/sample
成功!
ダッシュプロトコルを使用してドラッグします。
ffplay http://127.0.0.1/dash/sample.mpd
エラーが発生しました:
http://127.0.0.1/dash/sample.mpd: Invalid data found when processing input
どうすれば修正できますか?
私のオペレーティングシステム:debian9。
ffplay -formats |& grep "DASH Muxer"
E dash DASH Muxer
答え1
DASH Demusingを有効にして再コンパイルする必要がありますffplay
。 DASHの逆多重化を有効にしたオペレーティングシステム用にすでに事前に作成されたパッケージがあるかもしれませんが、わからないので、使用しているOSを指定していないので、ffplay
DASHの逆多重化を有効にして実行する方法について説明します。関数を再利用するときは手動でビルドしてください。
ffmpegリポジトリを複製します。
git clone --depth 1 https://git.ffmpeg.org/ffmpeg.git ffmpeg
ffmpegディレクトリに切り替えます。
cd ffmpeg
必須パラメータを使用して./configureスクリプトを実行します。
./configure --prefix=$HOME/ffmpeg-install --enable-demuxer=dash --enable-libxml2
以下のためにffplayをビルドしてインストールします$HOME/ffmpeg-install
。
make -j$(nproc) install
私のコンピュータでは4分しかかかりませんでした。 ffmpegの新しいビルドでDASH Demushingがサポートされていることを確認してください。
$ ~/ffmpeg-install/bin/ffplay -formats |& grep "DASH Muxer"
DE dash DASH Muxer
在庫ffplayの代わりにこれを使用してください。
~/ffmpeg-install/bin/ffplay http://127.0.0.1/dash/sample.mpd
引用:この回答