2016-06-18 11 views
0

私はVLCJを使用しています。私はmediaPlayer.playMedia();を使用して再生しているビデオクリップを保存します。私のデスクトップに。 :sout文字列を使ってメディアオプションを設定することでこれが実現できることは分かっていますが、設定するオプションがわからず、ウェブ上のサンプルオプション文字列を理解できません。誰かが次のことを説明して助けてくれますか:soutオプション文字列?VLCJ save mediaplayer capture

String[] options = {":sout=#transcode{vcodec=mp4v,vb=4096,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:duplicate{dst=file{dst=" + fileName + "},dst=display}", ":input-slave=alsa://hw:0,0"}; 

私は、ファイル名だけ先を使用してのMP4動画を作成し、オプションの配列を必要としています。これらのオプションは私のために失敗/失敗します。

また、VLCJこのエラー

avcodecデコーダエラーとフレームのトンを落としているように見える:後半ビデオの5秒以上 - >これらのオプションに

String[] options = {":sout=#transcode{vcodec=mp1v,vb=2048,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:duplicate{dst=file{mux=mpeg1,dst=" + fileName + "},dst=display}", ":input-slave=dshow://hw:0,0" }; 
を使用することにより、フレーム

を落とします

+0

これらのオプションはvlcjとはまったく関係ありません。むしろVLCストリーミング/トランスコーディングオプションですので、代わりにVLCドキュメントに焦点を当てることをお勧めします。おそらく、元のストリームをトランスコードするのではなく、保存したいと思うでしょう。 – caprica

+0

ああ、どうすればいいですか?私は全体のプロセスではなく、そうすることを考えていました。私はVLCにはかなり新しく、生のダンプをするのが私の最初の意図でした。 –

答えて

1

生ストリームを保存するには、メディアを再生するときに次のようなメディアオプションを使用します。

String mrl = "your-streaming-mrl"; 
String[] opts = {"sout=#duplicate{dst=std{access=file,mux=raw,dst=output-file.ext}}"}; 

"your-streaming-mrl"と "output-file.ext"を適切なものに置き換えてください。その後、

そして:

mediaPlayer.playMedia(mrl, opts); 

あなたが保存したファイルの準備が整う前にメディアプレーヤー「完成」のイベントを(聞く)待機する必要があります。

保存したファイルを準備する前に、メディアプレーヤーで明示的にrelease()を呼び出す必要があります。

+0

とにかく、その生のダンプをファイルに書きますが、再生中のメインファイルは継続的にストリーミングされているので終了しません。今すぐ2番目のファイルが破損している= [ありがとう! –

+0

私はあなたがメディアプレーヤーを停止し、停止したイベントを待ってから、メディアプレーヤーをリリースすればOKだと思います。私は100%確実ではない。 – caprica

関連する問題