Ric*_*k T 6 vlc video video-encoding cvlc chromecast
我已成功使用以下命令让 VLC 将 x264 编码文件从网络文件共享流式传输到旧的 chromecast(我的 Chromecast 不直接支持 hevc / x265 )。
vlc -vv --sout "#chromecast" --sout-chromecast-ip=192.168.1.111 --sout-chromecast-conversion-quality=0 --demux-filter=demux_chromecast "/home/vid/nfst/video1_x264.mp4"
Run Code Online (Sandbox Code Playgroud)
我正在尝试对 HEVC / x265 文件执行相同的操作,但看起来需要在到达 chromecast 之前对其进行“实时”转码。有谁知道我如何使用命令行语法使用 VLC 来完成此操作?
注意:我不想创建另一个单独的 x264 文件。我不想将 x265 文件“实时”转码为 x264 格式,并使用 VLC 在 chromecast 上以某种方式对其进行流式传输/播放。
PS:我尝试使用 VLC GUI 进行投射,但我的旧 chromecast 不支持 HEVC / x265 文件。文件中的音频确实可以播放,但 hevc / x265 视频在 chromecast 上仅显示为黑屏。
PPS:我正在使用运行 Ubuntu 18.04 64 位的 VLC 媒体播放器 3.0.7.1 Vetinari(修订版 3.0.7.1-0-gf3940db4af)。
我不知道你是否仍然需要它,但我只是在处理这个问题,也许它会对其他人有所帮助。
作为我的 sout 字符串,我使用:#transcode{venc=x264{preset=ultrafast},vcodec=h264,threads=1}:chromecast{ip=192.168.1.100,conversion-quality=0}
注意转码和 chromecast 之间的冒号。我对 VLC 或视频转码几乎一无所知,但这看起来有点像将转码器输出传输到 chromecast 东西。
一些观察
显然,它venc=x264{preset=ultrafast}
使用我的 GPU 来帮助 CPU 进行转码。
threads=1
是不是CPU利用率没有达到100%?如果您有口吃问题,增加此值可能会有所帮助。
使用 Intel i5 4590 和 RX580,在 Windows 10 上实时转码和投射 1080p HEVC H.265(40 分钟,1.04 GB 文件),平均 CPU 和 GPU 使用率分别为 40% 和 15%。
请注意,暂停或跳跃时间可能会出现问题。
小智 1
您可以使用 ffmpeg 将视频转为 h264。
ffmpeg -i input.mp4 -c:v libx264 -preset slower -crf 28 -c:a copy -maxrate 320 -minrate 20 output.mp4
您可以更改 maxrate minrate 预设和 cRF 以获得良好的质量。
对于 720p,我建议最大速率为 1500-2500,具体取决于视频是否有大量运动。
对于 cRF 来说,质量越低,质量越好,但需要在合理的时间内完成更多的计算能力。