我试图使用的是Mac OS X 10.6的mediastreamsegmenter把我的Mac的音频输入并把它变成我可以听在iPhone上的流.
我已经阅读了这个和相关的手册页.但是,当我做这样的事情时:
mediastreamsegmenter -s 3 -D -f /tmp/stream localhost:8080
Run Code Online (Sandbox Code Playgroud)
"stream"目录中没有文件出现,当我尝试使用QuickTime Player X连接到localhost:8080时,没有去.
我在这里错过了什么?
我试过http live streaming用ffmpegwindows build(http://ffmpeg.zeranoe.com/builds/)
这是命令
ffmpeg.exe -v 9 -loglevel 99 -re -i tes.avi -an ^
-c:v libx264 -b:v 128k -preset medium ^
-flags -global_header -map 0 -f segment -segment_time 4 ^
-segment_list test.m3u8 -segment_format mpegts stream%^05d.ts
Run Code Online (Sandbox Code Playgroud)
但是出现了一条错误消息,
[segment @ 045f5840] Codec for stream 0 does not use global headers but container format requires global headers
[segment @ 045f5840] Selected stream id:0 type:video
[mpegts @ 062f2540] Invalid segment filename template 'stream05d.ts'
[AVIOContext @ 04a90e00] Statistics: …Run Code Online (Sandbox Code Playgroud) 我正在使用mediafilesegmenter为 mp4 电影生成 HLS 播放列表。我的命令如下,
mediafilesegmenter movieName.mp4 -I -f /Library/WebServer/Documents/vod/movieName/ -t 10 -l movie.log -k /Library/WebServer/Documents/vod/movieName/keys/ -K http://KEYSERVER/keys/ -key-rotation-period 10 -encrypt-rotate-iv-mbytes=1024 -J random
通过这个命令,我可以很好地生成播放列表,但持续时间#EXTINF:是小数点。我确实检查了 HLS 草案,它说
EXTINF 标签指定媒体段的持续时间。它仅适用于其后的媒体 URI。每个媒体段 URI 前必须有一个 EXTINF 标签。其格式为:
#EXTINF:<duration>,<title>
>
“duration”是十进制位置表示法中的整数或浮点数,以秒为单位指定媒体段的持续时间。报告为整数的持续时间应该四舍五入到最接近的整数。如果播放列表文件的协议版本小于 3,则持续时间必须是整数。
我的问题是如何制作 #EXTINF整数?我确实使用了选项 -t 10 和 -t 15 几个数字,但我的播放列表仍然有
#EXTINF:14.792, 等等。
任何人都可以指出我要对命令进行哪些更改,以便我获得基于整个整数的信息#EXTINF?
我的 mediasegmenter 版本是 mediafilesegmenter: Beta Version 1.1(111116)
我正在使用Darwin Kernel Version 10.8.0 with x86_64mac。