我正在与英特尔 UpBoard具有 Intel Atom CPU,并希望将视频从 USB 摄像头传输到实时流服务。因此,我正在运行使用h264_qsv
编解码器的 h264 编码器,显然这种处理器找不到编解码器。也尝试过libx264
,但使用这个 CPU 利用率太高,导致无法工作。
我该怎么做才能在基于 Intel Atom 的平台上使用 FFmpeg 加速编码?还有其他编解码器可以尝试吗?
提前谢谢您!:)
答案1
我已经成功地使用 OBS (RTMP) 或使用 H264 的 RTP / RTP_MPEGTS 直接 FFMPEG 和 Cherry Trail 芯片实现了快速同步。英特尔 GPU 从第一代 i 系列处理器开始就包含快速同步,因此所有后续的 Atom 处理器也都具有编码功能。现在来谈谈性能。英特尔表示 Cherry Trail 上的快速同步应该能够达到 1080p120,但到目前为止,我只能在某些用例中正确达到 720p30/60 和 1080p30。我也想知道使用 ffmpeg 解锁完整快速同步性能需要什么。
我推荐两个使用 FFMPEG 的来源,我发现它们在使用 h264_qsv(还有 hevc_qsv,它适用于核心 m 系列处理器)时非常有用
nico-lab.nethttps://nico-lab.net/?s=h264_qsv以及 Brainiarc7 的要点https://gist.github.com/Brainiarc7/7b6049aac3145927ae1cfeafc8f682c1
对于将 1080p 缩放到 720p30 的 h264_qsv 编码器,我使用的是如下 ffmpeg 命令:ffmpeg -init_hw_device qsv=qsv:hw -hwaccel qsv -filter_hw_device qsv -f dshow -analyzeduration 30M -rtbufsize 512M -thread_queue_size 500 -probesize 20M -i video="Cam Link":audio="Digital Audio Interface (Cam Li" -vf vpp_qsv=w=1280:h=720,format=nv12,hwupload=extra_hw_frames=30 -c:v h264_qsv -preset:v veryfast -b:v 4500k -bufsize 2M -tune zerolatency -r 30 -c:a aac -b:a 192k -f rtp_mpegts rtp://yourserver.with.udp.ports.forwarded
答案2
该主板包含 Z8350。如果您在 Google 上搜索 z8350 和 h.264,第一个结果为: https://en.wikichip.org/wiki/intel/atom_x5/x5-z8350
你看: ”视频解码硬件加速包括支持 H.263、MPEG4、H.264、H.265 (HEVC,8bit)、VP8、VP9、MVC、MPEG2、VC1、JPEG。视频编码硬件加速包括支持 H.264、H.263、VP8、MVC、JPEG。“
“—视频解码硬件加速,包括支持 H.263、MPEG4、H.264、H.265 (HEVC)、VP8、VP9、MVC、MPEG2、VC1、JPEG。—视频编码硬件加速,包括支持 H.264、H.263、VP8、MVC、JPEG。“