使用 VLC 对 hevc / x265 视频文件进行转码并在 chromecast 上查看

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)。

Luc*_*iga 5

我不知道你是否仍然需要它,但我只是在处理这个问题,也许它会对其他人有所帮助。

作为我的 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 来说,质量越低,质量越好,但需要在合理的时间内完成更多的计算能力。