所以我试图设置自适应流媒体,我认为80-90%的问题已经完成。现在我摄取我的源视频,将其转码为5个分辨率,每个分辨率有3个比特率(低,中,高),然后我将所有这些视频分成5个第二个块,这样用户总能获得最佳观看效果。现在我处于需要生成/创建MPD清单文件的位置,我很难搞清楚如何。几乎每个人都说使用MP4Box,但他们的许可证对我的项目来说限制太多。
在分割视频时,是否有使用FFMPEG生成MPD文件?或者可能会生成一个HLS,然后我可以将其转换为MPD清单?任何信息都很棒,这是我目前的FFMPEG命令(工作)
-note $变量是bash脚本的输入,用于设置输入文件,比特率和比例。
/usr/bin/ffmpeg -re -i $1 -an -c:v libx264 -b:v $7 -b:a 196k -strict -2 -movflags faststart -pix_fmt yuv420p -vf "scale='$4:trunc(ow/a/2)*2'" -flags -global_header -map 0 -f segment -segment_time 5 -segment_list test.m3u8 -segment_format mpegts $2%05d.mp4
答案 0 :(得分:0)
ffmpeg \
-f webm_dash_manifest -live 1 \
-i /var/www/webm_live/glass_360.hdr \
-f webm_dash_manifest -live 1 \
-i /var/www/webm_live/glass_171.hdr \
-c copy \
-map 0 -map 1 \
-f webm_dash_manifest -live 1 \
-adaptation_sets "id=0,streams=0 id=1,streams=1" \
-chunk_start_index 1 \
-chunk_duration_ms 2000 \
-time_shift_buffer_depth 7200 \
-minimum_update_period 7200 \
/var/www/webm_live/glass_live_manifest.mpd

答案 1 :(得分:0)
从the official docs(不完全是您需要的脚本,但您知道了)中尝试一下:
ffmpeg -re -i <input> -map 0 -map 0 -c:a libfdk_aac -c:v libx264 \
-b:v:0 800k -b:v:1 300k -s:v:1 320x170 -profile:v:1 baseline \
-profile:v:0 main -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 \
-b_strategy 0 -ar:a:1 22050 -use_timeline 1 -use_template 1 \
-window_size 5 -adaptation_sets "id=0,streams=v id=1,streams=a" \
-f dash /path/to/out.mpd