带有ffmpeg和mediastreamsegmenter和vlc的Apple HLS

时间:2014-03-06 09:12:59

标签: audio ffmpeg streaming mediastreamsegmenter

我正在尝试使用Windows框中的ffmpeg流进行流式传输。这是我在windows box上运行的命令

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

这部分有效,我可以通过VLC在我的Mac上收听它,然后我将它从VLC流式传输到端口20103

但是当我使用mediasegmenter时 mediastreamsegmenter -s 3 -f / Users / vickkrish / 127.0.0.1:2222

这就是发生的事情 2014年3月6日04:11:02.926:音频pid设置为44 2014年3月6日04:11:03.165:音频pid更改为44 2014年3月6日04:11:03.328:音频pid更改为44 2014年3月6日04:11:03.583:音频pid更改为44 2014年3月6日04:11:03.745:音频pid更改为44 2014年3月6日04:11:03.989:音频pid更改为44 2014年3月6日04:11:04.151:音频pid改为44 2014年3月6日04:11:04.316:音频pid更改为44 2014年3月6日04:11:04.492:音频pid更改为44 2014年3月6日04:11:04.740:音频pid更改为44 2014年3月6日04:11:04.887:音频pid改为44 2014年3月6日04:11:05.175:音频pid更改为44 2014年3月6日04:11:05.338:音频pid更改为44 2014年3月6日04:11:05.582:音频pid更改为44

并且没有创建.ts文件。

2 个答案:

答案 0 :(得分:0)

使用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

答案 1 :(得分:0)

尝试将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