Apple HLS с ffmpeg и mediastreamsegmenter и vlc

Я пытаюсь потоковое использование потока ffmpeg из окна Windows. Вот команда, которую я запускаю на окне Windows

ffmpeg -f dshow -i audio=”Wave In 2 32130101 (Orban Optim” -acodec libmp3lame -ab 64k -f mpegts udp://172.30.16.181:2222?pkt_size=188?buffer_size=128000

Эта часть работает, и я могу слушать ее на своем Mac через VLC, и я транслирую ее из VLC на порт 20103

но когда я использую mediasegmenter mediastreamsegmenter -s 3 -f /Users/vickkrish/ 127.0.0.1:2222

Это то, что происходит 6 марта 2014 года 04:11:02.926: аудио-pid установлен на 44 марта 6 2014 года 04:11:03.165: аудио-pid изменен на 44 марта 2014 года 04: 11: 03.328: аудио-pid изменен на 44 марта 6 2014 года 04:11:03.583: смена аудио-pid на 44 6 марта 2014 г. 04:11:03.745: смена аудио-pid на 44 6 марта 2014 г. 04:11:03.989: смена аудио-pid на 44 марта 2014 г. 04:11:04.151: смена аудио-видео до 44 марта 2014 г. 04: 11: 04.316: изменение аудиоподключения на 44 марта 6 2014 г. 04:11:04.492: изменение аудиоподзвания на 44 марта 6 2014 г. 04:11:04.740: изменение аудиоподключения на 44 марта 2014 г. 04:11:04.887: смена аудио-pid на 44 6 марта 2014 г. 04:11:05.175: смена аудио-pid на 44 марта 6 2014 г. 04:11:05.338: смена аудио-pid на 44 марта 2014 г. 04:11:05.582: смена аудио-pid на 44

и.ts файлы не создаются.

2 ответа

Попробуйте направить вывод FFmpeg в mediastreamsegmenter вместо того, чтобы заставлять mediastreamsegmenter прослушивать UDP-порт.

Нечто подобное

ffmpeg -i {video} -b:a {audio_bitrate} -b:v {video_bitrate} -vcodec libx264 -acodec aac -strict -2 - | mediastreamsegmenter -b {url_for_manifest} -f {directory_to_dump_ts} -D

Не будет ли проще использовать VLC для транскодирования и сегментации? Что-то вроде

ip=$1
port=$2
name=$3
host=$4
mkdir -p /wwwroot/$name
rm /wwwroot/$name/$name*.*
voptions="threads=4,width=720,height=576,fps=25,vcodec=h264,vb=2048,venc=x264{aud,profile=baseline,level=30,keyint=25,bframes=0,ref=1,nocabac},acodec=mp4a,ab=192,channels=2" # 2 mpbs Full D1
index="/wwwroot/$name/$name.m3u8"
idxurl="http://$host/$name/$name-########.ts"
dst="/wwwroot/$name/$name-########.ts"
vlc-wrapper -I dummy udp://@$ip:$port vlc://quit --sout="#transcode{$voptions}:duplicate{dst=std{access=livehttp{seglen=60,numsegs=60,index=$index,index-url=$idxurl},mux=ts{use-key-frames},dst=$dst}}" -vvv
Другие вопросы по тегам