ffmpegならこちらへ 2 [転載禁止]©2ch.net

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
公式サイト
http://ffmpeg.org/

エンコード、ストリーミング配信を高画質高音質で行えるffmprg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。

ffmpegならこちらへ
http://anago.2ch.net/test/read.cgi/software/1270542020/
2名無しさん@お腹いっぱい。:2015/01/11(日) 12:32:12.33 ID:kQrDdEk/0
4年越しでスレを使い切ったんですね胸熱ですわ
3名無しさん@お腹いっぱい。:2015/01/11(日) 15:09:08.47 ID:NnJhGVKY0
だのにffmprgって何だお
4名無しさん@お腹いっぱい。:2015/01/12(月) 08:15:08.04 ID:q6szQA/w0
ランチャーの話もここでいいのかな。
デスクトップキャプチャ動画撮影もできるようになってるんだな。
5名無しさん@お腹いっぱい。:2015/01/12(月) 09:44:52.99 ID:U0dWGiMV0
windows だと gdigrab があるからね
ttp://ffmpeg.org/ffmpeg-devices.html#gdigrab
6名無しさん@お腹いっぱい。:2015/01/12(月) 15:46:52.58 ID:mMS6zZua0
>>1おつ
>>11まで行かないとスレ落ちちゃうからな
7名無しさん@お腹いっぱい。:2015/01/15(木) 01:49:00.69 ID:5HH2ad2k0
ffmpegのインタレ解除はあまり評判が良くないようですが、
それにしても良くないような気が…
カメラが横にパンするような動きになると、ガタガタになります
インタレ解除するの諦めてとりあえず縮小してみたのですが、
それでも同じようなガタガタな感じになりました
-vf "yadif=0:-1" と指定してます
そういうものでしょうか?
8名無しさん@お腹いっぱい。:2015/01/15(木) 08:48:05.21 ID:ska4SoT80
こっちを使ってみては
ttp://ffmpeg.org/ffmpeg-filters.html#w3fdif
9名無しさん@お腹いっぱい。:2015/01/15(木) 21:40:39.92 ID:5HH2ad2k0
>>8
うわああああ すごく良いですありがとうございます!

なぜかSDぐらいに縮小しないとプレイヤーによってはうまく再生できない感じの
出力になってしまうのですが(60pになるから?)
ソース画質が良くなくてSDぐらいが調度良いと思っていたのでバッチリでした
ありがとう!
10名無しさん@お腹いっぱい。:2015/01/21(水) 20:44:40.78 ID:EPwK+bPo0
ffmpegで映像フィルターをかけて色かぶりを除去したいのですが

https://sites.google.com/site/streamsetting/home/ffmpeglauncher

このページには
シャープネス・ガンマ・ブライトネス・コントラスト
しか書かれておらず、カラーフィルターについては述べられていません。
avidemuxにはこの機能はあるのですが
ffmpegにはないのでしょうか?
さんざん検索して調べたのですが分からなかったので
どうか教えてください。
11名無しさん@お腹いっぱい。:2015/01/21(水) 21:40:12.93 ID:/DMZUsR60
>avidemuxにはこの機能
具体的なフィルタ名があればffmpegにもあるかどうか調べられるが
12名無しさん@お腹いっぱい。:2015/01/21(水) 22:50:25.32 ID:EPwK+bPo0
mplayerのgammaです。

よろしくお願いいたします。
 
13名無しさん@お腹いっぱい。:2015/01/21(水) 22:56:50.90 ID:EPwK+bPo0
分かりました

http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html

eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]

を使えば良いことが分かりました
しかしこれってどう使えば良いのですか?

赤色だけガンマ補正かけたい場合
どのように入力すれば良いですか?

 
14名無しさん@お腹いっぱい。:2015/01/21(水) 23:23:07.21 ID:EPwK+bPo0
解決しました
ありがとうございます。
 
15名無しさん@お腹いっぱい。:2015/01/22(木) 13:57:21.94 ID:eim2cxaG0
ffmpegで動画の再生時間の取得を行いたいのですが
http://stackoverflow.com/questions/19013536/how-to-get-video-duration-in-seconds
とりあえず
ffmpeg -i file.flv 2>&1 | grep "Duration"
これで取得できることが分かりました。
ここからdurationだけを抽出すれば良いのですが
できればsedなどを使ってスマートに抽出を行いたいと考えています

ffmpeg -i file.flv 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'
2383

のようなややこしい記述を使えば良いことは分かるのですが
この記述の仕方について書かれたページがどうしても見つかりません
どういう使い方をすれば良いか教えていただけないでしょうか?
 
16名無しさん@お腹いっぱい。:2015/01/22(木) 22:51:33.20 ID:NXw7fiXl0
ffmpegで-ssを入力ファイル名の前に書いた場合と後に書いた場合の違いについて教えてください
https://trac.ffmpeg.org/wiki/Seeking

このページには
前に書いた方が高速
後ろに書くと時間はかかるがタイムスタンプがリセットされない
とあります
タイムスタンプとは一体何のことを指しているのでしょうか?

http://looooooooop.blog35.fc2.com/blog-entry-1154.html
このページには
前 -ss はフィルタの区間でカットするが、 後 -ss はその時間だけ後ろをカットする
とあります。

どういうことか教えていただけないでしょうか?
 
17名無しさん@お腹いっぱい。:2015/01/23(金) 11:22:24.93 ID:AXrRx0vT0
前に書くか後に書くかではなくて、-i付きファイル名のインプットファイルか
ファイル名だけのアウトプットファイル名の前に置くことで
どちらのファイルに影響を与えるかということじゃね?
18名無しさん@お腹いっぱい。:2015/01/23(金) 11:46:42.23 ID:ELoHVAB20
>>17
そういうことなのかとも思ったのですが
つまり、10分の動画を8分からエンコードを開始した場合に
-i付きファイル名の前に書くと2分しかエンコードしないけれど
後ろに書くと最初から10分エンコードして、最後に8分以降をトリムするという意味なのでしょうか?
それで後者の方が正確にトリミングが可能ということですか?
これ合っていますか?

でも、タイムスタンプをリセットとか
前 -ss はフィルタの区間でカットするが、 後 -ss はその時間だけ後ろをカットする
という説明の意味が合わないと思うのですが

どうか教えてください
 
19名無しさん@お腹いっぱい。:2015/01/23(金) 13:01:37.26 ID:AXrRx0vT0
まずオプションの解釈が最近のバージョンはしっかり整理されたのかこういうことらしい。
ffmpeg [global_options] {[input_file_options] -i ‘input_file’} ... {[output_file_options] ‘output_file’} ...
で、-ssはinputとoutputに作用するから { } のかたまり単位で発動するということ。
-ssで指定した分だけinputを読み飛ばし、-ssで指定した分だけ最初の書き込みを行わない。

で、書き込みを行わなくても中の時間は進んでいるからtrimフィルタの終わりの時間指定に影響が出て
結果指定した長さの分の尻切れになるということじゃね?
20名無しさん@お腹いっぱい。:2015/01/23(金) 14:35:20.10 ID:LC5BlLdH0
>>19
ご回答ありがとうございます。

しかし回答が難しすぎてよく理解できません、
もう少し簡単に分かりやすく説明していただけないでしょうか?

タイムスタンプのリセットというのは何のことを指しているかについても教えていただけないでしょうか?
 
21名無しさん@お腹いっぱい。:2015/01/23(金) 15:02:50.71 ID:rYw6PTtL0
https://trac.ffmpeg.org/wiki/Seeking#Cuttingsmallsections

-ss 00:01:00 -i video.mp4 の場合
入力ファイルの1分の所を、00:00:00(タイムスタンプのリセット)として
その後の作業(エンコードなりカットなり)をする

-i video.mp4 -ss 00:01:00 の場合
入力ファイルの1分の所を、00:01:00としたまま
その後の作業(エンコードなりカットなり)をする

作業中のファイルの時間の目印のことでしょ
あなた方々で見かけるわね・・・
22名無しさん@お腹いっぱい。:2015/01/23(金) 15:03:02.86 ID:AXrRx0vT0
outputの方に付ける(-iの後に付ける)と出力はされないが
中の時計を回しつつ入力の読み捨ては行われるということ。
-ss 2が付いていれば先頭が2秒というファイルが出てくる。
23名無しさん@お腹いっぱい。:2015/01/23(金) 16:27:06.61 ID:PHqpOry20
>>21
すいません、やはりよく分かっていないのですが
このタイムスタンプというのはffmpegの内部処理の話であって出力されるファイルには残らない情報ですよね?

それで>>18にも書いたように
outputの方に付ける(-iの後に付ける)方は
2分しか動画を出力しない設定にしてあったとしても
内部では全体をエンコードすることになるということですよね?

では、outputの方に付ける(-iの後に付ける)方のメリットは何なのでしょうか?
タイムスタンプはファイルに残るのですが
残るとしてどこでそれを確認できますか?

 
24名無しさん@お腹いっぱい。:2015/01/23(金) 16:45:56.56 ID:AXrRx0vT0
エンコードを始めるまでに出力に-ssで指定された分の
入力ファイルのデコードをするというだけじゃね?
ストリーミング対応のコンテナではタイムスタンプが残るが
普通の0から始まるコンテナでは残らないという程度じゃね?
25名無しさん@お腹いっぱい。:2015/01/23(金) 16:51:44.89 ID:pboWliNb0
そうなんですか

mkvとmp4の場合はどうですか?
http://www.asahi-net.or.jp/~ax2s-kmtn/video.html

このページを見ると
拡張子: .mkv(動画ファイル)、.mka(音声ファイル)、.mks(ストリーミング・ファイル)

となっています。
mksって字幕ファイルですよね?
字幕を入れるとストリーミングになりますか?


実際、mksでやってみると、
inputにつけると、再生時間が正確ではないけれど、正常に再生される
outputにつけると、再生時間は正確だけれど、再生する最初に3秒程度動画がフリーズする
という現象が起きます

 
26名無しさん@お腹いっぱい。:2015/01/23(金) 22:41:33.57 ID:/eBko0BJ0
動画と音声のシフトに仕方について教えてください


https://trac.ffmpeg.org/ticket/1349

このページには
-itsoffset -00:00:10をインプットファイルに入れれば良いと書かれています
しかしこれだけ入れてもシフトされずに出力されます

http://looooooooop.blog35.fc2.com/blog-entry-1145.html

このページには
オフセットするファイルの前に指定し、コピーストリームの時には効果がない。

と書かれてあります。

動画と音声ともにコピーの場合にはシフトさせることができないのでしょうか?

http://stackoverflow.com/questions/10116430/ffmpeg-stream-offset-command-itsoffset-not-working

このページを見ると一度動画と音声を分割してから
ディレイを加えて、再度合体させるというようなことが書かれてあります。

簡単に音声にディレイをかけることってできないのでしょうか?
27名無しさん@お腹いっぱい。:2015/01/23(金) 23:42:13.29 ID:CwZKpl5u0
adelay を使えばいいが、その場合音声は再エンコードされる
ttp://ffmpeg.org/ffmpeg-filters.html#adelay
28名無しさん@お腹いっぱい。:2015/01/24(土) 10:34:31.72 ID:Ps+llf6g0
ありがとうございます。

動画も音声も再エンコードなしで
音声をずらしたいのですがffmpegだとできませんか?
avidemuxだと普通にできるのですが・・・
avidemuxはffmpegを元にして作られているため
ffmpegでもできるはずなのですが・・・
(ただ、avidemuxのコマンドラインでは音声関係に不具合があるので使いづらいです
GUI版であれば使えています)


どうかよろしくお願いいたします。
 
2928:2015/01/24(土) 20:33:35.30 ID:yYj9YxD80
ひいい、誰か教えてください、助けてください

ffmpegって高機能な割に何でこんな基本機能が不十分だったりするんですか??
 
30名無しさん@お腹いっぱい。:2015/01/24(土) 21:27:41.16 ID:ErfOoN4s0
>>26
分離しなくても、-map を併用して、2つの入力に同じファイルを当てればおk
31名無しさん@お腹いっぱい。:2015/01/24(土) 21:55:43.41 ID:yYj9YxD80
>>30
まじですか?
もう少し詳しくコードを教えていただけないでしょうか?

どうかよろしくお願いいたします。

 
32名無しさん@お腹いっぱい。:2015/01/24(土) 22:07:31.07 ID:yYj9YxD80
ffmpeg -itsoffset 00:00:01.000 -i "d:\Video1.mp4" -i "d:\Video1.mp4"
-map 0:v -map 1:a -vcodec copy -acodec copy "Video2.mp4"


とすると音声無しになるんですが
 何が間違っていますか?
33名無しさん@お腹いっぱい。:2015/01/24(土) 22:17:52.36 ID:yYj9YxD80
動画がそのままで音声だけずらしたいので

ffmpeg -i "d:\Video1.mp4" -itsoffset 00:00:01.000 -i "d:\Video1.mp4"
-map 0:v -map 1:a -vcodec copy -acodec copy "Video2.mp4"


こちらが正しいことに気がつきました

-itsoffset 00:00:01.000 の値が負の時には、動画の最初がフリーズしてしまいます
それでも動画と音声はずれています

正の値にすると、動画だけで音声が無音になってしまいます

これはどうすれば良いでしょうか?

 
34名無しさん@お腹いっぱい。:2015/01/24(土) 22:31:24.17 ID:ErfOoN4s0
>>31
>>26 の一番下のサイトの質問者の(1)で出来るよ。

音声を0.5秒遅らせる場合
ffmpeg -i input.mp4 -itsoffset 0.5 -i input.mp4 -c copy -map 0:0 -map 1:1 -brand mp42 output.mp4

これでも同じ
ffmpeg -i input.mp4 -ss -0.5 -i input.mp4 -c copy -map 0:0 -map 1:1 -brand mp42 output.mp4
35名無しさん@お腹いっぱい。:2015/01/24(土) 22:38:25.01 ID:ErfOoN4s0
>>33
おっと、出来たみたいだね。

-itsoffseが負の値だと、最初のフレームが指定時間だけ続くし、
正の値だと、音声が指定時間後に開始するのは、そのとおりの正常な動作だと思うけど、
どういう状態が好ましいの?
36名無しさん@お腹いっぱい。:2015/01/24(土) 22:48:30.51 ID:yYj9YxD80
ffmpeg -i input.mp4 -itsoffset 0.5 -i input.mp4 -c copy -map 0:0 -map 1:1 -brand mp42 output.mp4

を使うと、-itsoffset 0.5が正の値でも負の値でも動画の最初がフリーズしてしまいます。

ffmpeg -i input.mp4 -ss -0.5 -i input.mp4 -c copy -map 0:0 -map 1:1 -brand mp42 output.mp4

だと、-ss -0.5が正の値だと正常に出力されました。
ただ、負の値だと最初がフリーズしてしまいます。

一度この0.5のところを00:01:30.000とか長めに設定して試していただけませんか?
 
37名無しさん@お腹いっぱい。:2015/01/24(土) 22:50:05.90 ID:yYj9YxD80
>>35
avidemuxだとちゃんと
負の値にすると、最初だけ無音になり、
正の値にすると、最後だけ無音になります。

いずれも、動画は一度もフリーズすることなく正常に再生されます。

どうしたら良いでしょうか?
 
38名無しさん@お腹いっぱい。:2015/01/24(土) 23:18:48.15 ID:ErfOoN4s0
>>36
フリーズ、と言うか最初のフレームがそのままで、指定時間後にはちゃんと動き出すよ。

>>37
> 負の値にすると、最初だけ無音になり、
> 正の値にすると、最後だけ無音になります。
これ、正と負が反対じゃない?
-itsoffsetは正の値でその分後にシフトするのだから、
音声を正の値でシフトすれば、最後が無音になることはないんだけど。

もし、静止状態の画像を切りたいなら、その部分を切り落せばよいかと。
39名無しさん@お腹いっぱい。:2015/01/24(土) 23:27:21.14 ID:yYj9YxD80
±はどちらがどちらかは良く分からなくなってきました
上記で書いたように
ffmpegを使って、
1. 最初だけ無音になる方
2. 最後だけ無音になる方

このうち二番だけうまくいきました。
1番がうまくいきません、

動画の最初がフリーズするとして2番ならまだ起こりえそうな気がしますが
一番でフリーズする理由が分からないのですが
avidemuxでもフリーズせずに出力できていますし、

どうすれば良いでしょうか?
 
40名無しさん@お腹いっぱい。:2015/01/25(日) 00:14:04.49 ID:/+nKcZ130
>>39
-itsoffset 正の値で 1番をやってみたけど、
>>35 に書いたとおり、無音の動画が進んで、指定時間後に音声が始まる。
これは想定通りの動作だね。
avidemux(2.6.8)は、うちの環境では早回しみたいになって、かえってダメだったなぁ。
41名無しさん@お腹いっぱい。:2015/01/25(日) 12:38:55.00 ID:zALMB2Zn0
ぐおおおおおおおおおおおお

いろいろ試してみたのですが、
動画によって正の値のみうまくいくものと負の値のみうまくいくものがあります。
両方ともうまくいくというものがなぜかないのですが・・・
コンテナ変えたりいろいろしてみたのですが

> 負の値にすると、最初だけ無音になり、
> 正の値にすると、最後だけ無音になります。
これ、正と負が反対じゃない?

確かに本来ならこれは逆なのですが
なぜか動画ファイルによってはこれが逆になるものがあります。

なんでしょうか?
なぜうまくいかないんでしょうか?
 
42名無しさん@お腹いっぱい。:2015/01/25(日) 12:52:09.70 ID:y5es9VHM0
前スレでも同じような悩みがあったな。

NVIDIAを使ってたらドライバとGeForce Experienceを更新する。
http://www.nvidia.co.jp/object/geforce-experience-download-jp.html
2.1.4でドライバのインストール関連のバグが取れたそうだ。

ドライバじゃないから関係ないのではなく、エクスペリエンスを介してドライバが入るみたいなので重要。
43名無しさん@お腹いっぱい。:2015/01/25(日) 13:14:59.52 ID:zALMB2Zn0
geforceのグラボを使っていますが
どうもドライバのせいではないようです

とりあえず気づいたのですが、
10分の動画があり、これの音声を10秒前か後ろにずらしたいとします。
avidemuxだと音声の前か後ろを10秒カットして9分50秒の音声とした後に
動画と合体を行います。そのため動画の最初や最後に動画のフリーズするような現象が起きません。

一方でffmpegだとこのカットを行わず
10分の音声のままで合体を行っているようです。
そのため動画の最初か最後に10秒間のフリーズが起きてしまいます。

これどうすれば良いでしょうか?
何か他にもオプションを入れないといけない気がするのですが
 
44名無しさん@お腹いっぱい。:2015/01/25(日) 15:26:16.06 ID:VLCkKk/A0
コンテナに渡すときにコンテナによって符号の解釈が変わるとかw
45名無しさん@お腹いっぱい。:2015/01/25(日) 18:43:56.03 ID:zALMB2Zn0
いろいろ試しましたけど
-ssと-tを組み合わせれば
正と負 どちらともうまくいくことが分かりました

まだ全てのファイルで試したわけではありませんが
 
46名無しさん@お腹いっぱい。:2015/01/25(日) 19:16:16.78 ID:zALMB2Zn0
すいません
動画の正確な再生時間を取得したいのですが
ffmpeg -i file_path 2>&1 | grep Duration

を実行して取得できるのは小数点以下第二位までです。

真空波動研で調べると00:10:00.033の動画が
この方法だと
00:10:00.03
となってしまい、小数点以下の最後の3桁目まで取得することができません。
どうすれば最後まで取得することができますか?
 
47名無しさん@お腹いっぱい。:2015/01/25(日) 19:33:40.84 ID:zALMB2Zn0
H.264+PCMは正も負もうまくいきましたが
H.264+MP3は音声を遅らせる方がどうやってもうまくいかないのですが・・・
-sと-itsoffsetともに試してみましたがうまくいきませんでした
 
48名無しさん@お腹いっぱい。:2015/01/25(日) 19:34:33.13 ID:VLCkKk/A0
ffprobe -show_format
49名無しさん@お腹いっぱい。:2015/01/25(日) 19:37:21.22 ID:zALMB2Zn0
出力ファイルが
mkvだと無音になり、mp4だと音がまったくずれずに出力されます
 
50名無しさん@お腹いっぱい。:2015/01/25(日) 19:38:09.32 ID:zALMB2Zn0
出力ファイルが
mkvだと無音になり、mp4だと音がまったくずれずに出力されます
 
51名無しさん@お腹いっぱい。:2015/01/25(日) 19:44:15.51 ID:zALMB2Zn0
いや、4秒以下だとうまくいくことがわかりました
5秒以上だとなぜかうまくいきません
audacityに読み込ませるとちゃんと音声が出力されることから
音声は動画ファイルに書き込まれているのですが
なぜか再生できないようになっているようです

どういう仕様なんでしょうか?
なぜ4秒に境界があるんでしょうか?
 
52名無しさん@お腹いっぱい。:2015/01/25(日) 20:00:17.56 ID:zALMB2Zn0
>>48

ありがとうございます。
ffprobeの方はうまくいきました

4秒問題の解決策があればどうか教えてください
 
53名無しさん@お腹いっぱい。:2015/01/25(日) 20:49:45.74 ID:zALMB2Zn0
でもこの仕様avidemuxでもあるようですね
H.264+MP3 →MKV の変換で
5000〜-99999
まで正常にシフトできるのですが、6000以上に設定すると無音になります。
H.264+WAV →MKV の変換だと
99999〜-99999
全て音シフトは行われますが
+24000以上に設定すると動画の最初がフリーズするという現象が起きます。

ぐぬぬうぬ、
Forループで複数回に分けてシフトさせれば良いのでしょうか?
54名無しさん@お腹いっぱい。:2015/01/25(日) 20:52:14.91 ID:zALMB2Zn0
すいません、あと気になっていることなのですが
ある動画ファイルを別の動画ファイルに変換するとき
一回目はコマンドライン上でその経過が表示されます
二回目同じファイルを変換しようとすると
コマンドラインはすぐに消えるのですが
バックグラウンドでHDDが動いており変換が行われているようです
なぜ二回目以降コマンドラインがすぐに消えてしまうのでしょうか?
変換が終わるまで消えないようにするにはどうしたら良いですか?
 
5553:2015/01/25(日) 20:59:55.83 ID:zALMB2Zn0
やはり駄目ですね
二回連続でシフトをかけてみましたが
6000以上のシフトは受け付けてくれないようです

何かコマンドラインで使える
無劣化の音声編集ソフトがあれば教えてください。
 
56名無しさん@お腹いっぱい。:2015/01/25(日) 21:11:36.12 ID:OTn/+OF50
馬鹿には無理
57名無しさん@お腹いっぱい。:2015/01/25(日) 22:13:46.82 ID:zALMB2Zn0
-ssや-tを使った秒でのカットは正確ではないので
フレーム単位でカットを行いたいのですが
http://looooooooop.blog35.fc2.com/blog-entry-1154.html

このページにあるように
-vf trim=start_frame=99:end_frame=2000,setpts=PTS-STARTPTS -an
を使ってみたのですが
再圧縮なしにするために
-vcodec copy -acodec copy
を入れてみましたが、うまく動作しません。
再圧縮無しでやってみても音声が出ません。

更に検索して
http://superuser.com/questions/459313/how-to-cut-at-exact-frames-using-ffmpeg

-acodec copy -vcodec copy -timecode_frame_start 900 -vframes 2100 -n

というのも試してみました。
再圧縮無しでカットはできるのですがカットを始めるフレームがうまく設定できていません。
このページの回答にもフレームでのカットはうまくいかないので
時間で指定する必要があるようなことが書かれていますが
秒指定するしかないのでしょうか?
 
58名無しさん@お腹いっぱい。:2015/01/25(日) 22:17:28.37 ID:wFlYvuJM0
>再圧縮無しでやってみても音声が出ません。
あたりまえじゃん。-an 使ってるんだから
あと、フィルタ通すと無圧縮データで出力されるから -c copy はできない
59名無しさん@お腹いっぱい。:2015/01/25(日) 22:23:07.74 ID:wFlYvuJM0
あとカット開始に無劣化でフレーム数を指定することはできないと思う。
エンコするのなら trim が使えるが。
60名無しさん@お腹いっぱい。:2015/01/25(日) 22:39:12.76 ID:zALMB2Zn0
この方法だとできませんか
ありがとうございます。

http://injury-time.hatenablog.com/entry/2015/01/02/053046

-vframeという方法もあるみたいなのですが
これを使ってみてもなぜか指定したフレーム通りになりません

8分の動画を1分ずつにカットしたいのですが
-ssと-framesを使って1800フレームごとにスプリットするプログラムを作ったのですが
1800のものが5個と1801のものが3個出力されます。

一体どうすれば正確に動画をスプリットすることができますでしょうか?
 
61名無しさん@お腹いっぱい。:2015/01/25(日) 22:42:51.33 ID:zALMB2Zn0
ちなみに-ssと-tの組み合わせだと
1801が5個と1802が3個出力されるので
vrameの方がまだましだということが分かりました

でも完全に1800ずつにはなぜかスプリットすることができません
 
62名無しさん@お腹いっぱい。:2015/01/25(日) 22:46:07.37 ID:zALMB2Zn0
1801の動画を再度1800でカットしてみてもやはり1801の動画が出力されます
1799で設定してカットしてみると1800で出力されました
再帰的に設定したフレーム数になるまで繰り返すプログラムを作るしかないでしょうか?

もっと良い方法があれば教えてください
 
63名無しさん@お腹いっぱい。:2015/01/25(日) 22:56:10.44 ID:zALMB2Zn0
あっ、vramesを指定すると
フレーム数はそれなりに正確になりますが
-ssの方が不正確なので
やはり合体した時につなぎ目がバラバラになりますね

これはどうしようもないことなのでしょうか?
 
64名無しさん@お腹いっぱい。:2015/01/25(日) 23:03:47.89 ID:zALMB2Zn0
ffmpegを使わない方法でも良いので
動画を無劣化で綺麗にスプリットできる方法があれば教えてください
 
65名無しさん@お腹いっぱい。:2015/01/25(日) 23:32:05.30 ID:wFlYvuJM0
元映像が何か不明だが GOP のことを考えると無劣化できれいに
指定したフレーム数でカットすることは不可能。
66名無しさん@お腹いっぱい。:2015/01/25(日) 23:46:10.24 ID:zALMB2Zn0
>>65
指定したフレーム毎綺麗でなくても良いので

スプリットした動画を再度合体させても
つなぎ目がシームレスに繋がるように前後の動画で被らないように
スプリットすることはできませんか?
 
67名無しさん@お腹いっぱい。:2015/01/26(月) 00:11:51.94 ID:5qCyy3ZD0
それは ffmpeg ではできない。おそらく無料ツールはない。
有料なら TMPGEnc MPEG Smart Renderer 4
ttp://tmpgenc.pegasys-inc.com/ja/product/tmsr4.html
68名無しさん@お腹いっぱい。:2015/01/26(月) 00:46:55.07 ID:xBMv85Wz0
Aviutl使ったことないの?
1フレーム刻みで編集できるんだが
69名無しさん@お腹いっぱい。:2015/01/26(月) 01:29:55.34 ID:XTPSfA2D0
この人前から見かけるけど最終的に何がしたいのか分からない
あと無劣化でスプリットっていうのは可逆圧縮じゃ駄目なの?
70名無しさん@お腹いっぱい。:2015/01/26(月) 02:30:46.14 ID:xBMv85Wz0
そういえば思い出したけど動画と音声が4秒ずれるのはbugじゃなかったな
ffmpeg 4秒問題とかなんとか
前にffmpegで動画を切り取った時、先頭から切り取ると問題ないけど途中から切り取ると4秒ずれるんで
ネットで検索したらいろいろ出てきたなあ
71名無しさん@お腹いっぱい。:2015/01/26(月) 06:21:40.51 ID:ssAN87GI0
一度エンコしたものは再エンコしてしまえよ。
最初のエンコで劣化しているんだからw
72名無しさん@お腹いっぱい。:2015/01/26(月) 20:22:38.37 ID:UOa6XZOS0
>>69
いろんなソフトのスレで的外れは質問ばかり繰り返してる街基地だと思われる
73名無しさん@お腹いっぱい。:2015/01/26(月) 22:12:16.22 ID:AsEK/DVR0
複数ファイルのバッチ変換したいんだけど、オーディオトラック数に関係なくそのまま変換するオプションの指定ってできますか?
できるなら指定の仕方教えて下さい
74名無しさん@お腹いっぱい。:2015/01/26(月) 22:37:57.33 ID:5qCyy3ZD0
>>オーディオトラック数に関係なくそのまま変換するオプション
言っている意味がわからない
75名無しさん@お腹いっぱい。:2015/01/26(月) 23:43:59.89 ID:AsEK/DVR0
主音声のみの動画ファイルと主+副の動画ファイルを同じオプションで、音声トラック数そのままに変換したいのよ
76名無しさん@お腹いっぱい。:2015/01/29(木) 13:42:17.03 ID:yUIDcI/h0
この記事のALACでの書き出しで「ハイビットレートのストリームを処理すると、ノイズが出るケースが多い」
という不具合はもう解消されたのでしょうか?
またavconvでも同様でしょうか?
http://av.watch.impress.co.jp/docs/series/dal/20140421_645282.html
77名無しさん@お腹いっぱい。:2015/01/29(木) 14:38:31.13 ID:7UyNGM1i0
詳しくはわからないが
ttp://b.hatena.ne.jp/entry/av.watch.impress.co.jp/docs/series/dal/20140421_645282.html
BlueSkyDetector 『トラブルだらけなのに独自性にこだわっている』というのは少し違う気が。
元々アルゴリズムが非公開だったのでffmpegが独自解析して実装してたわけだし、
ライセンスもGPLv2とApacheで非互換なので取り込まないのもわかる
78名無しさん@お腹いっぱい。:2015/01/31(土) 02:39:00.48 ID:7AZSKCGI0
>>76
検証方法
192k 24bitの素のpcm(s24le)データを作る(手元に無かったので):
ffmpeg -i kou.mp3 -c:a pcm_s24le -ar 192000 -ac 2 -f s24le kou.pcm
alacでエンコード:
ffmpeg -f s24le -ar 192000 -ac 2 -i kou.pcm -c:a alac kou_alac.m4a
alacをデコードして素のpcm(s24le)ファイルに戻す:
ffmpeg -i kou_alac.m4a -c:a pcm_s24le -f s24le kou_from_alac.pcm
ファイルを比較(windowsの場合 linuxならdiffコマンドなど):
fc /b kou.pcm kou_from_alac.pcm

今のffmpeg2.5系は192k 24bitしかやってないけど比較結果は全く同じでした
去年の4月頃のビルドはボロボロと差分が出てきて同じにはならなかったので
前はなにか問題があったのかもしれませんね

一応gitのログを見ると2014年8〜9月あたりにalac関連の修正がいろいろ
あるようです
他のサンプリング周波数やビット深度はご自分で検証してくだされ〜
79名無しさん@お腹いっぱい。:2015/01/31(土) 08:17:34.72 ID:/CrXDnPH0
荒削りだったところを直したと。
80名無しさん@お腹いっぱい。:2015/02/04(水) 14:50:03.29 ID:BarxNYVP0
すみません、全くの初心者なのですけれど
いろいろな動画のファイルがあったとします。
それらを実際の時間で頭のほうを切り落とすことってできますか?
例として、実際にとった動画が9:00より前だったとして、自動的に9:00から始まるようにさせたい
81名無しさん@お腹いっぱい。:2015/02/04(水) 15:21:55.46 ID:cqRh/QFf0
ごめん、なに言ってるのかさっぱりわからない
自分で撮った動画で最初の方の何分かいらないからトリムしたいって意味なのか
それともチャプター0を後ろにずらしたいって意味か
82名無しさん@お腹いっぱい。:2015/02/04(水) 15:30:47.67 ID:BarxNYVP0
自分で撮った動画の最初何分かいらないからトリムしたいという方です

動画が複数あるので一つ一ついらない部分を探していたら時間がかかってしまったのでどうにかできないかなと思いまして
83名無しさん@お腹いっぱい。:2015/02/04(水) 16:54:36.86 ID:cqRh/QFf0
ffmpeg trim辺りで検索かければそれの情報もったサイトある
ただまあカットした後のファイル出力は再エンコというか無圧縮出力になる

正直ffmpegでカット編集する話はあんまり聞かないな
84名無しさん@お腹いっぱい。:2015/02/04(水) 17:16:55.68 ID:BfPwOCat0
教える側もアホ
85名無しさん@お腹いっぱい。:2015/02/04(水) 17:39:25.48 ID:tkvpD9t80
ではお手本よろしく
86名無しさん@お腹いっぱい。:2015/02/04(水) 19:07:14.98 ID:CTD+D0Qa0
8時59分25秒から録画開始した動画
8時59分40秒から録画開始した動画
8時59分55秒から録画開始した動画

があったとして、9痔00分00秒がどのフレームかを自動検出して
それより前のフレームをトリムしたい、ってことかな?

NPTとかで時刻を正確に合わせていたとしても、ファイル内に書かれたタイムスタンプでは
秒までの精度しか出ない

9痔00分00秒に表示されるフレームが同一であれば、検出する方法はあるだろうけれど
87名無しさん@お腹いっぱい。:2015/02/17(火) 11:41:44.16 ID:64vzjoCw0
H.264の入った複数のaviかmkv動画をaviかmkvファイルに無劣化で連結したいのですが
http://looooooooop.blog35.fc2.com/blog-entry-1061.html
http://looooooooop.blog35.fc2.com/blog-entry-1235.html

このページに書かれた方法を使ってもうまくいきません。
ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg
ffmpeg -f concat -i input.txt -c copy output.mp4

二つ目の方法の方が多種のフォーマットに対応しているそうです。

特にエラーも出ることもなくコマンドプロンプトが閉じるだけです。


http://looooooooop.blog35.fc2.com/blog-entry-1020.html

ちなみにこのページで再エンコードして連結するコードはうまくいきました。

どうすればうまくいくか教えていただけないでしょうか?

よろしくお願いいたします。
88名無しさん@お腹いっぱい。:2015/02/17(火) 14:09:43.10 ID:wIS2J8Pq0
>特にエラーも出ることもなくコマンドプロンプトが閉じるだけです。
pause でログが見られるはず
89名無しさん@お腹いっぱい。:2015/02/17(火) 23:47:54.12 ID:Q91vPbuD0
ffmpegで複数のファイルを処理しながら
テキストエディタなどの文字を打ちたいのですが
ffmpegでコマンド出力するたびに
コマンドプロンプトが前面に出てくるのですが
これを抑制するにはどうしたら良いですか?


それと出力された動画ファイルが正常で再生可能かどうか
ffmpegで調べるにはどうしたら良いですか?
ffmpegでなくとも良いので、コマンドラインで使えて
正常化どうか調べるソフトがあれば教えてください。
 
9089:2015/02/18(水) 13:11:30.17 ID:MKCC39TW0
すいません自己解決しました

あと、処理途中にボタンを押しても途中で実行が停止しないようにしたいのですが
どうすれば良いですか?
 
91名無しさん@お腹いっぱい。
ffmpegで動画から音声を抽出して保存した時
音声ファイルの形式(mp3かaacか?)も自動で調べて
保存するにはどうしたら良いですか?