繁体   English   中英

FFMPEG + V4L2 选项

[英]FFMPEG + V4L2 OPTIONS

我正在寻找一种将 v4l2-ctl 的参数集成到 ffmpeg 上的方法 ffmpeg 覆盖 v4l2-ctl 的问题,我需要特定参数有 v4l2-ctl :( 我的 v4l2-ctl 命令是:

v4l2-ctl -v width=640,height=480,pixelformat=4 -p 30 -c h264_profile=0,repeat_sequence_header=1

我想使用这些参数直接使用 FFMPEG 进行流式传输,我该怎么办?

谢谢 !

您可以告诉 FFmpeg 使用 video4linux2 (v4l2) 作为输入“设备”(它像解复用器一样对待它)。 根据您的设备,v4l2 可以提供多种不同格式的视频(例如,像 yuv420p 这样的原始视频,或者像 h264 这样的压缩视频,可能通过硬件加速器)。 看起来您正在尝试使用 h264,因此您可能正在寻找以下方面的内容:

ffmpeg -f video4linux2 -input_format h264 -video_size 640x480 -framerate 30 -i /dev/video0 out.h264

FFmpeg 将告诉 v4l2 提供具有给定帧速率和大小的 h264 编码流作为 ffmpeg 的输入,ffmpeg 会将流复制到文件out.h264中。 您需要根据用例指定输出格式和选项。

注意:这假设您的输入设备是/dev/video0 您可以使用v4l2-ctl --list-devices查看哪些设备可用。

从 v4l2 的ffmpeg 文档中不清楚如何为 v4l2提供附加标志(例如h264_profilerepeat_sequence_header )。 FFmpeg 确实提供了多种编码选项,但这些选项可能需要您从 v4l2 指定原始视频-input_format并改用 FFmpeg 的 x264 编码器,这可能比硬件编码器慢得多。

免责声明:这个问题可能属于超级用户或视频制作而不是 Stack Overflow,因为它只处理命令行工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM