3

Webからビデオをプルし、最初のフレームの画像を作成し、その画像をファイルとして保存するスクリプトを作成しています。私のスクリプトは、多くのビデオを取得し、ファイル名に連番を付けることを処理しています。

私の問題は、VLCを使用してビデオを取得し、実際にファイルを保存することです。スクリプトに入れる前に、コマンドラインとローカルファイルだけを試してみました。

vlc -vvv -I dummy --video-filter=scene --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit

->キャッチされない例外

vlc -vvv -I dummy --no-audio --video-filter=scene --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit

->キャッチされない例外

vlc -vvv -I rc --video-filter=scene --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit

->キャッチされない例外。-Vオプションなしではできないようです

vlc -vvv -I rc -V snapshot --video-filter=scene  --start-time=1 --stop-time=1 --scene-format=jpeg --scene-ratio=24 --scene-prefix=EXEC samp.mp4 vlc://quit

->「スナップショット」に一致するvoutディスプレイモジュールはありません。同様に、モジュール「image」、「scene」、「opengl」を使用した試行の場合

Mac OSX10.7.3でVLC2.0.1を実行しています。誰かがVLCをコマンドラインで動作させて(スクリプト化可能)、ビデオから画像をキャプチャしましたか?

ところで、私はこれについて広範囲にわたるグーグルを行いました-VLCのドキュメントは絶望的に時代遅れであり、Web上のほとんどの提案は実際には最新バージョンのVLCでは機能しません。

4

3 に答える 3

3

別のアプローチはffmpegを使用することです-これは私のために働きました:

ffmpeg -i http://example.com/directory/video.mp4  -ss 0 -vframes 1 -vcodec mjpeg -f image2 keyframe001.jpg
于 2012-04-06T10:20:58.690 に答える
2

結果が重要であるがビデオプレーヤーではない場合は、mplayerでこれを行うことができます。

mplayer -vo png,outdir=/tmp,prefix=frameNo,z=0 -ao null -frames 1 VIDEO-FILENAME

VIDEO-FILENAMEローカルファイルまたはHTTPURLにすることができます。

OSXでコマンドラインmplayerを入手するには、グラフィカルなmplayerをインストールしてから、次のいずれかの場所でコマンドラインバイナリを見つけます。

/Applications/MPlayer OSX.app/Contents/Resources/External_Binaries/mplayer_intel.app/Contents/MacOS/mplayer

また

/Applications/MPlayer OS X 2.app/Contents/Resources/mplayer.app/Contents/MacOS/mplayer
于 2012-04-06T04:12:22.623 に答える
1

Windowsの場合:vlc C:\test.mp4 --rate=1 --video-filter=scene --vout=dummy --aout=dummy --start-time=10 --stop-time=11 --scene-replace --scene-format=jpg --scene-ratio=29.970029 --scene-prefix=snaphot --scene-path=C:\Users\Gi\Desktop\ vlc://quit

動作します。

于 2015-12-30T09:26:00.003 に答える