1

我正在尝试使用 Windows 框中的 ffmpeg 流进行流式传输。这是我在 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

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

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

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

并且没有创建 .ts 文件。

4

2 回答 2

1

尝试将 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
于 2015-08-06T06:02:01.073 回答
-1

使用 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
于 2014-10-06T08:22:14.317 回答