RTSPストリームをmp4ビデオまたはフレームに変換する必要があります(場合によっては)&をHDFS(Hadoop Filesystem)に保存したいと考えています。ffmpegをHDFSに直接出力する
これは私がffmpegを使ってRTSPストリームをmp4ビデオ/フレームに変換しようとしました&ローカルファイルシステムにビデオ/フレームを保存しています。
ffmpeg -i rtsp://10.0.37.150:8554/big_bunny.mkv -r 1 -f image2 frames/big_frame-%3d.bmp
ffmpeg -i rtsp://10.0.37.150:8554/big_bunny.mkv big_bunny.mp4
そして、putコマンドを使用してHDFSに(ローカルのファイルシステムに格納されている)、ビデオ/フレームを保存する - - 以下のように
hadoop fs -put frames/ /user/maddy/
hadoop fs -put big_bunny.mp4 /user/maddy/
これが働いています。しかし、私は(コマンド以下のような)何かをしようとしたが、それは私がこのエラーを取得する
ffmpeg -i rtsp://10.0.37.150:8554/big_bunny.mkv hdfs://localhost:9000/user/maddy/big_bunny.mp4
が動作していない
(つまり、ローカルのファイルシステムで必要なファイルを保存せずに1つのステップである)、これを直接行いたいです -
hdfs://localhost:9000/user/maddy/big_bunny.mp4: Protocol not found
ffmpegを使用すると、ローカルファイルシステムに保存せずにこれらのファイルを直接hdfsに保存できます。
これを達成するためのツールが他にありますか?
EDIT:@incBrain
によって提案された。しかし、このエラーを受け取ったとして
がffmpeg -i rtsp://10.0.37.150:8554/big_bunny.mkv - | hadoop fs -put - /user/maddy/
をしようとしました -
[NULL @ 0xce37a0] Unable to find a suitable output format for 'pipe:' pipe:: Invalid argument
これを試すことができます: 'ffmpeg -i rtsp://10.0.37.150:8554/big_bunny.mkv - | hadoop fs -put -/user/maddy/'? – incBrain
@incBrainこれを試してみましたが、上記のコマンドを実行した後にエラーが出て問題を編集しました。 –
Hmm次に 'ffmpeg -i rtsp://10.0.37.150:8554/big_bunny.mkv pipe:1 | hadoop fs -put -/user/maddy/'それを行う必要があります。私は願います。そうでなければ、 '>'を使って名前付きパイプにリダイレクトすることが解決策になるかもしれません。 – incBrain