Atitit 直播问题总结ffmpeg
目录
1.1. 屏幕太大,可以使用-s调整分辨率 1
1.2. Full size 1
1.3. 流畅度调整 1
2. 1
2.1. 没有录音 1
2.2. 浏览器不能直接支持lhs 2
2.3. 使用了hlsjs 手机里面不能播放,pc可以 3
调整分辨率变小 then ok
注1:考虑到提高libx264的编码速度,添加了-preset:v ultrafast和-tune:v zerolatency两个选项。
注2:高分辨率的情况下,使用UDP可能出现丢包的情况。为了避免这种情况,可以添加–s 参数(例如-s 320x240)调小分辨率。
外,也可以录声音,声音输入可以分成两种:一种是真人说话的声音,通过话筒输入;一种是虚拟的声音,即录屏的时候电脑耳机里的声音。下面两条命令可以分别录制话筒的声音和电脑耳机里的声音。
录屏,伴随话筒输入的声音
[plain] view plaincopy
上述命令有问题:audio那里有乱码,把乱码ANSI转UTF-8之后,开始测试不行,后来发现是自己疏忽大意,乱码部分转码后为“内装麦克风 ”,然后接可以正常使用了。因此,命令应该如下图所示:
[plain] view plaincopy
注:
ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -r 5 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -acodec libmp3lame MyDesktop.m
基于hls.js 视频播放
html5浏览器实现hls视频播放的兼容解决方案hls.js。兼容IE8/IE11/edge/Chrome/火狐。
由于非Safari浏览器不能直接支持hls视频播放,使用Html5的video标签嵌入视频文件进行播放,由于video标签只支持MP4、WebM、Ogg等格式,
由于HLS是由Apple公司提出的,所以在iOS电脑或手机上,你可以直接使用Safari浏览器的播放m3u8格式视频文件。而其他浏览器则需要借助hls.js来兼容m3u8。
使用hls.js,不需要任何定制的播放器,只需要元素就能播放m3u8。
切换编码为mepg4依然不可。。
估计是hlsjs bug。。查看筋斗云直播。他们使用的video.js
Video cheomre 设置为muted才可
Hls.js 和video.js 都不行。。。