Hadoop ffmpeg直接输出到HDFS

Hadoop ffmpeg直接输出到HDFS,hadoop,video,ffmpeg,hdfs,rtsp,Hadoop,Video,Ffmpeg,Hdfs,Rtsp,我有一个要求,我必须将RTSP流转换为mp4视频或帧(视情况而定)&希望将它们保存在HDFS(Hadoop文件系统)中 为此,我尝试使用ffmpeg将RTSP流转换为mp4视频/帧&将视频/帧保存在本地文件系统中。如下所示- ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv -r1-f图像2帧/大帧-%3d.bmp ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv 大兔子.mp4 然后使用put命令将视频/帧(存

我有一个要求,我必须将RTSP流转换为mp4视频或帧(视情况而定)&希望将它们保存在HDFS(Hadoop文件系统)中

为此,我尝试使用ffmpeg将RTSP流转换为mp4视频/帧&将视频/帧保存在本地文件系统中。如下所示-
ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv -r1-f图像2帧/大帧-%3d.bmp

ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv 大兔子.mp4

然后使用put命令将视频/帧(存储在本地文件系统中)保存到hdfs中-
hadoop fs-put frames//user/maddy/
hadoop fs-put big_bunny.mp4/user/maddy/

这是有效的。但是我想直接这样做(这是一个步骤,不需要在本地文件系统中保存所需的文件)

我尝试了一些方法(如下面的命令),但不起作用
ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv hdfs://localhost:9000/user/maddy/big_bunny.mp4

我得到这个错误-
hdfs://localhost:9000/user/maddy/big_bunny.mp4: 未找到协议

那么,使用ffmpeg,我是否可以直接将这些文件保存到hdfs中,而无需先保存到本地文件系统中。
或者有没有其他工具可以实现这一点

编辑:

尝试
ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv -| hadoop fs-put-/user/maddy/

正如@incBrain所建议的那样

但收到此错误-
[NULL@0xce37a0]无法为“管道:”找到合适的输出格式

管道::无效参数

您可以将
ffmpeg
的输出重定向到管道,并使用
hadoop fs-put-/user/..
如下所示:

ffmpeg -i rtsp://10.0.37.150:8554/test.mkv -f avi - | hadoop fs -put - /user/maddy/test.avi

请注意,由于我们使用管道,您将需要因为
ffmpeg
无法从文件扩展名猜出输出格式。

您能试试这个:
ffmpeg-i吗rtsp://10.0.37.150:8554/big_bunny.mkv -| hadoop fs-put-/user/maddy/
?@incBrain尝试了这个方法,但它也不起作用..编辑了这个问题,其中包含了我之后得到的错误运行上面的命令.Hmm然后
ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv 管道:1 | hadoop fs-put-/user/maddy/
应该这样做。我希望如此。如果不是,使用
>
重定向到命名管道可能是一个解决方案。@不,它也不起作用。另外,我没有尝试重定向到命名管道,因为我不知道它。@incBrain这正在工作
ffmpeg-Irtsp://10.0.37.150:8554/test.mkv -f avi管道:| hadoop fs-put-/user/maddy/test.avi
。缺少指定要解码的视频格式的
-f
参数。虽然当我给出mp4时,它不起作用。顺便说一句,谢谢你的帮助!!我们可以不在本地系统中安装Hadoop并需要推送到远程HDFS就可以做到这一点吗?