ffmpegならこちらへ 4

■ このスレッドは過去ログ倉庫に格納されています
2019/04/21(日) 01:11:29.44ID:TpNEqVMQ0
公式サイト
http://ffmpeg.org/

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

ffmpegならこちらへ 3
https://egg.5ch.net/test/read.cgi/software/1487682297/
2020/01/10(金) 21:47:36.79ID:eAeNdWSd0
インターレースかどうかってフラグ管理じゃないから無理では
2020/01/10(金) 21:59:14.83ID:k7MK+gEd0
そうですよね。
MBAFFって出てくるんですが、フレームレートが29.97なのを59.94にして、
エンコードし直す必要ありますよね。
(インタレ解除後のフレームレートをいくつに指定したらいいのかはあまり分かってません。
が、アニメじゃないので2倍かなと・・
2020/01/10(金) 22:26:30.84ID:ib6ASn3F0
>>481
残念ながらインターレース用に符号化されちゃってるから、トランスコードしないと順次走査はできないね……
あと60fps飛び越し走査は飛び越した分が半分だから、順次走査の30fps
つまりインターレース解除したらフレームレートは倍増じゃなく半減すると思う
2020/01/10(金) 22:42:02.54ID:WqyP3Wwa0
インタレースは解除せずに再生時に解除すればいい
解除してしまうとそれが正解だったか判らない上にもう戻せない
2020/01/10(金) 23:10:06.22ID:RZDGQsyr0
出来るだけオリジナルのまま、が正しい
インタレ解除は再生時がいちばんつぶしが利く
2020/01/10(金) 23:16:31.30ID:6Sg2e/y00
>>483
MBAFFも29.97だよ(そもそもフレームレートが変わったらインタレ維持にならない)
フレームレートは基本的に指定しなくてもいい
vf使わなければインタレのままエンコされるし、フィルタでフレームレートが変わったら自動で指定される

ちなみにx265などx264以外ではインタレ維持は諦めて
2020/01/11(土) 19:17:57.83ID:XlWX2Wof0
こんな感じでデノイズ試してみたらnvencでもfps60切るのな
-b 2400k -b:a 256k -s hd720 -vf yadif=1:-1:0,pp=fa,unsharp=3:3:0.40:3:3:0.10,hqdn3d -c:v hevc_nvenc
2020/01/12(日) 00:12:51.72ID:LexZ1lmo0
CPUの性能が足りてないんやろな
2020/01/12(日) 23:47:09.05ID:ItMnCDxF0
gpuじゃなくてcpuの問題か
2020/01/13(月) 08:11:34.82ID:7sOApHRY0
負荷見ながらやるだろ
2020/01/13(月) 21:29:15.80ID:vzROS9bw0
ここでいいのか分かりませんが質問ですさせてください
録画に失敗して同じ番組の動画が2つあります
1つ目は頭から31分
2つ目は30分から終わりまで
という感じなのですがこれを綺麗に結合するにはどうやればいいですか?

それぞれss toで時間指定して-vcdec copy -acodec copyで切り出した後concatで繋げてみたのですか結合部にノイズがでて綺麗になりませんでした
2020/01/13(月) 21:56:12.21ID:8BReyHfl0
これで連結してみたら
https://nico-lab.net/new_cumtom_rtmpdump_and_ffmpeg_without_n-option_for_nicolive/#i-7
2020/01/13(月) 23:06:37.53ID:0iEeZNA50
>>493
ありがとうございます。
ちょっと試してみましたがやはりノイズのりました
やり方間違ってるかもしれないので明日また試してみます
2020/01/13(月) 23:38:49.68ID:pQfxIXzm0
エンコードなしじゃ無理だと思うし
自己完結型のffmpegじゃいろいろと無理があるとも思う

自分ならDGIndexで映像と音声に分離してたものをavisynth経由で
aviutlに読み込ませてかっと編集したのちエンコードする
2020/01/13(月) 23:44:20.03ID:Ea3iV0gp0
時間が被ってる1分間の間できっちりフレームが切り分けられるところで上手く切るしか無いんじゃない?
あと切り出す時は自分はcopyじゃなくエンコードするわ
2020/01/14(火) 00:33:34.53ID:Rop5Bdn90
余計なエンコードするより、重複位置が分かるなら
-i 前 -ss:0 0(必要ならずらす) -to:0 連結時刻 -i 後ろ -ss:1 0(必要ならずらす)
の後で連結が1番余計な処理無いと思う
2020/01/14(火) 00:34:33.32ID:68zgHSjG0
両方の動画のキーフレームが同じなら、avidemuxとかで切りつつそのままコピーで書き出しとかは出来ないの?
2020/01/14(火) 10:12:45.16ID:pUg5HoDc0
できるよ
2020/01/14(火) 10:25:46.96ID:0QkYBnSI0
テレビのtsを265でmkvにして
-f segmentで分割してCMを間引いてconcatしたら
結合部分の画像が乱れるのですが
同じようなことをやって解決方法分かる人いますか?
2020/01/14(火) 10:31:13.92ID:PmV1t2VC0
open-GOPが有効になってるせい?
有効になってたら無効にしてエンコードしてみるとか
2020/01/14(火) 16:40:41.36ID:5NCcK7rZ0
>>501
-x265-params open-gop=0
でいけた。ありがとう
2020/01/14(火) 22:39:46.37ID:7A2J9fhs0
>>492です
493の方法でノイズは乗らなくなりました
(元動画が何かおかしくて一度copyしました)
方法通りだと指定したタイムスタンプから3フレームくらいずれるので後ろのファイルのinpointをずらしたらハッシュ値上は同値になりました
このせいか映像だけ一瞬とまり少し後に早送り再生みたいになる状態になりましたが
2020/01/28(火) 21:50:06.38ID:1e2Kvr0Z0
8bitでY=16〜235/U,V=16〜240の範囲外、いわゆるスーパーホワイト
サブブラックの範囲を削除というかクリップさせたいのですがどのよう
にすればよいのでしょうか。

スーパーホワイトにノイズのある素材の前処理を考えています。
2020/01/28(火) 22:23:19.15ID:UbbdWYwL0
それはffmpegでやることではないのでは
動画編集ソフト使ったほうがよくね
2020/01/28(火) 23:05:43.70ID:1e2Kvr0Z0
沢山あるので一括処理で楽をしたかったんです。少し残念ですがわかりました、失礼します。
2020/01/28(火) 23:34:09.07ID:w0JFFAsR0
lutyuvでできないかね
lutyuv=y=clip(val, 16, 235):u=clip(val, 16, 240):v=clip(val, 16, 240)
2020/01/28(火) 23:52:18.85ID:1fs7n6y+0
いやいやこういうのこそffmpegの出番でしょう
2020/01/30(木) 17:34:41.14ID:mxM/jdfA0
>>507
-pix_fmtを指定して"lutyuv=y='clip(val, 16, 235)':u='clip(val, 16, 240)':v='clip(val, 16, 240)'"
としたら無事期待通りの操作ができました。”と'で囲まないとエラーになるので試行錯誤していたらレスが
遅れてしまいました。

調べて”はスペースを文字列として扱い、()がなにか特別な文字で’で囲む必要があるのかもとみています
が自分でもよくわかっていません。
2020/01/30(木) 19:10:52.82ID:OW/fIxT00
>>509
動作環境によるから一度試しといた方が良いかも

そのコマンドから
@内側の1重引用符を除く
A1重引用符はそのまま、半角スペースだけ除く
B1重引用符と半角スペースを除く(この時残った2重引用符は1重引用符に置き換えても動くはず)
この3つを試したら結合性が判断できると思う

1重引用符と2重引用符は置き換え可能だから、1種類で良い場合は視認性のために1重引用符をおすすめする
2020/01/30(木) 19:22:40.57ID:vodk/hVq0
シェルに何を使ってるか、とか?
2020/01/30(木) 20:35:22.81ID:Hh3d8V4R0
>>509
横からだが
> ()がなにか特別な文字で’で囲む必要があるのかも
ある動画のm3u8をローカルに落としてファイル名を()を含むサブタイに変えて実行したら失敗しまくったことがある
このときパスが長い所為かと考えとりあえず()の数文字分削ったら成功したからやっぱりパスかと思ってた
なるほどそういうことか、やっと合点がいったわthx!
2020/01/30(木) 20:53:02.10ID:OW/fIxT00
>>512
括弧に限らず特殊文字含む場合はエスケープするか引用符で括らないとだめだね
引用符を含む場合はその両方

スペース含む場合なんかは特につまずきやすいから、ファイル名みたいな自由度高い要素を含む値は引用符で括る癖付けてる
2020/01/30(木) 21:07:46.23ID:SjwUzGpN0
>>510
それぞれこうなりました。
1の結果、エラー
2の結果、パス
3の結果、エラー

@とBのエラーメッセージは共に以下の通りでした。
https://pastebin.com/65cUVpxk

1重引用符と2重引用符は置き換え可能ということで
試しに新たにCとして「1重引用符と半角スペースを
除き-vf全体を1重引用符で囲む」条件で実行したところ
異なるエラーメッセージになりました。以下の通りです。
https://pastebin.com/qVWjyG2L

最後に普段使わないのですがpowershellで実行したところ
@ABは再現したのですがCの条件でも同様のエラーと違う
結果になりました。確かにシェルで違いが現れますね。
2020/01/30(木) 21:09:15.91ID:SjwUzGpN0
念のため環境も書きます。
FFmpeg zeranoe build ver. 4.2.1でWindows10 バージョン1909のcmd. exeです。
2020/01/30(木) 21:31:06.89ID:SjwUzGpN0
連投すみません@ABCを再現する要素、オプションを抜き出したコマンド全文です。
ffmpeg -i src.mkv -vf lutyuv=y=clip(val, 16, 235):u=clip(val, 16, 240):v=clip(val, 16, 240) -c:v utvideo -pix_fmt yuv420p dst.mkv
2020/01/30(木) 21:31:39.29ID:eZ5tGJQ00
lutyuv=y=clip(val\,16\,235):u=clip(val\,16\,240\):v=clip(val\,16\,240)

これでも同じように動いた
2020/01/30(木) 21:44:04.87ID:SjwUzGpN0
>>517
???少し混乱してます、たしかに動きますね。エスケープをしている?
それにしては最後の)の前にバックスラッシュがついていませんし…。
2020/01/30(木) 21:54:59.46ID:eZ5tGJQ00
途中で)の前にバックスラッシュ置いてるのは記述ミス
カンマの前にバックスラッシュ置くだけでいいっぽい
2020/01/30(木) 22:32:15.40ID:OW/fIxT00
>>514,517,518
お疲れさま、凄く説明分かりやすくて私も勉強になります
1番分かりやすいのは要素の切れ目での半角スペースは任意ということで、環境によっては改行文字も通ったり……


エスケープは文脈によっても要不要が変わる……というのも、フィルターの文脈だと「フィルターチェーンのカンマ」が一般的ですよね
そうすると一部のフィルターでしか使わない「オプションの引数の中の値を区切るカンマ」は優先度を低くするのが効率的

だからフィルターの文脈ではチェーンを繋がないカンマはエスケープが必要
もし括弧内でエスケープ無しにすると「閉じ括弧無しでチェーン」を検出(もしくは未知の引数を検出)して、異常中断するという訳


また、上のレスで書いたように引用符で括ると「引用符全体で纏まった引数」と一意に解釈できるのでエスケープ無しで大丈夫だったという訳


-vf全体を引用符で括った事で「フィルター名全体で纏まった要素」と認識したのは予想外……ごめんこれは分からない
2020/01/30(木) 23:13:22.48ID:SjwUzGpN0
2重引用符はシェルが解釈して1重引用符はFFmpegが解釈してるという感じがしますね。
2020/01/31(金) 00:03:49.33ID:pAoAG3fQ0
>>520
「フィルターチェーンのカンマ」として認識したために
FFmpegは「16」というフィルタを探したが見つからず
エラーを吐いたというわけでしょうか。納得しました。
図らずもフィルターと引用符の動作の理解になり驚いています。

調べてわかったことですがCの条件で実行結果に差異が見られた
原因は1重引用符がPowerShellでは特殊文字である為でした。

cmd .exeでは
>echo foo'bar
foo'bar
PowerShellでは
>echo foo'bar
foobar
とエスケープする必要があるためCがBと同じ条件になっていた
ようです。またおかげでFFmpegは1重引用符で括った一纏めを
要素として認識するとわかりました。

動画が無事処理できた上にさらに大変勉強になりました。ありがとうございました。
2020/01/31(金) 00:47:58.63ID:Z/2Nmmkq0
linuxでlibx265とstaticなビルドに成功した人いますか?
./configure時に
ERROR: x265 not found using pkg-config
というエラーが出てしまいます
libx265抜きでlibx265とlibfdk_aacとだけならビルド成功したので
libx265の問題だと思うのですが

ちなみにsharedのビルドは問題ありません
2020/01/31(金) 01:35:10.87ID:etkf1QFQ0
>>522
そういう処理をしたという認識で間違い無いです

やはり動作環境によってエスケープが追加で必要な文字が変わるんですよね
何も考えずにコピペしてきたものが動かない事があるのはそれが原因で……困りものです
こちらこそ感謝します
2020/02/15(土) 10:40:58.96ID:dgZwrmqL0
ffmpeg -i [INPUT] -acodec copy -vcodec copy [OUTPUT]

これをフォルダ一括でやる場合にはどうしたらいいですか?
2020/02/15(土) 10:51:17.82ID:Ekg3x80o0
for文
2020/02/15(土) 15:31:35.04ID:dgZwrmqL0
>>526
具体的にコマンド教えてもらえませんか?
528名無しさん@お腹いっぱい。
垢版 |
2020/02/15(土) 15:34:58.05ID:DEVSFt7+0
馬鹿には無理
2020/02/15(土) 15:34:59.60ID:ULYNozZy0
>>527
「バッチファイル FOR」でググればいいと思うよ。
2020/02/15(土) 15:49:51.53ID:dgZwrmqL0
>>529
ありがとう
難しそうだね
2020/02/15(土) 16:16:44.93ID:+Bljq2on0
>>530
ほら
https://pastebin.com/eckhTiMt
2020/02/15(土) 19:41:12.87ID:dgZwrmqL0
>>531
うおおおお!
ありがとう!!
2020/02/16(日) 13:46:03.72ID:k/23+48v0
個人的にはfor文とかはbatファイルよりも
powershellのスクリプトの方が使いやすい
2020/02/16(日) 14:25:58.32ID:srBzZoDc0
batファイルの文法は不可解な例外まみれだからな
直すと影響が出るから直すに直せない
2020/02/16(日) 14:34:26.43ID:mvhjYclL0
bashを信じるものは救われる
2020/02/16(日) 15:54:49.47ID:TO1TQdu30
たまにはwshを思い出してあげて
2020/02/16(日) 16:24:02.14ID:EIHh2ftA0
>>531
めっちゃ使いやすい
本当ありがとう!
2020/02/16(日) 17:30:51.71ID:qwxcYivk0
大文字の?がファイルネームに入っているとbatにドラッグアンドドロップできない問題
俺には解決方法が分からない
2020/02/16(日) 18:59:10.38ID:Mvb3CmOn0
全角ならいけるんじゃね
2020/02/16(日) 19:35:13.51ID:EPcMRgbY0
wshを終わらせるためのpowershellじゃないのか
過去の資産が〜とかなければpowershellにしておけ
2020/02/16(日) 19:45:27.43ID:srBzZoDc0
batはダブルクリックで簡単に起動できるし
どうせ大したことはやらせないし

windowsの奥の方のデータを引っ張ってくるとかでない限りあんまり使いみちが無い
2020/02/16(日) 20:13:58.88ID:qwxcYivk0
>>539
なぜか全角の?を半角の?として扱うせいで正しくパスを読み込んでくれないのよ
2020/02/16(日) 20:43:55.96ID:EPcMRgbY0
batを捨てるのです
2020/02/16(日) 20:49:12.01ID:TgtGcW1R0
>>542
試してみたけど問題ない
2020/02/16(日) 20:50:36.82ID:TgtGcW1R0
まあでも他の文字列は駄目だったりするからどのみちbatは駄目だけど
全角スペースとか
2020/02/16(日) 21:18:25.57ID:qrmTBbgU0
ifやforの中では()、bat内はどこでも%が危険
2020/02/16(日) 21:45:04.10ID:srBzZoDc0
for %%a in (^
a ^
) do echo %%a

このbatファイルは動作しない
) の前にスペースを入れるとok
理由はよく判らん
2020/02/16(日) 23:41:42.49ID:efyibPY50
そもそもエスケープ自体が不要でしょ
2020/02/16(日) 23:57:43.51ID:qrmTBbgU0
行末の^はエスケープじゃなくて改行では?
2020/02/17(月) 00:01:14.65ID:W3nDn6D30
>>549
いや改行のエスケープだよ
一行が長くなりすぎるときにやるやつ
2020/02/17(月) 14:58:09.87ID:+eap3bhC0
そういや改行だけでいい時と^で改行するときの違いって何なんだろう
2020/02/18(火) 14:20:06.11ID:LGDhVqGh0
batファイルは1行1コマンドで記述するならいいけど
ifとかforとか変数とか使い始めると
batファイルの変態的な仕様とバグにどんどんハマっていく
2020/02/18(火) 19:37:16.20ID:zx97LNpV0
set aaa = string
と書くとバグる
正解は
set aaa=string
2020/02/18(火) 21:01:58.76ID:pAbddx+90
文法エラーじゃなくて?
どんなバグ?
2020/02/19(水) 04:52:46.32ID:sIQGPVzI0
>>552
例えばどんな変態的な仕様とバグがあるんだ
2020/02/19(水) 17:38:26.14ID:N1Kh/RJ00
「=」の前後に空白を入れるとシンタックスエラーにはならないけど「aaa」という変数に
値がセットされないので「echo %aaa%」ってやっても変数「aaa」に設定したつもりの値が
表示されないみたいなw
2020/02/19(水) 17:40:29.16ID:WF/K2mgF0
win10にはubuntuもあることだしbashにしなさい
2020/02/19(水) 19:01:46.44ID:lSrtltul0
>>553,>>556
>set /?
環境変数を表示、設定、または削除します。
SET [変数名=[文字列]]

set aaa= stringなら通るね、set aaa = stringでシンタックスエラー出ないのは確かにアレかも。

>>555
ttps://web.archive.org/web/20180520184458/http://doudemoexe.com/Batch/
ttps://stackoverflow.com/search?q=batch-file+bug
2020/02/19(水) 23:13:47.86ID:Jtq0Mauj0
自分のbat見返したら全部スペースなしだわ
まったくコマンド同じなのに自分が書いたらエラーで、参考にしたHPからコピペしたら動いたりするのは
こういう>556のような仕様に引っかかってたのかな
2020/02/20(木) 10:57:44.15ID:AfV1L36N0
>>531
これ自分も使ってみたんだけどエラー吐く
>>532>>537は本当に使えたのかな?
561名無しさん@お腹いっぱい。
垢版 |
2020/02/20(木) 11:18:24.14ID:8yY7Ic+E0
正解は
set aaa =string
2020/02/20(木) 12:22:46.89ID:hkoIIz2A0
正解は……越後製菓!
だろ
2020/02/20(木) 16:23:36.33ID:UjZdzeBt0
…(;´д`)
2020/02/20(木) 18:35:52.38ID:hJT4oQv80
set aaa= string
「aaa」に「 string」(1文字目はスペース)がセットされる。

set aaa =string
「aaa 」(末尾にスペース)に「string」がセットされる。

=の前までが変数名、以降が値だから、スペースも正しく扱われてる。
2020/02/20(木) 18:52:10.21ID:acvaOPXW0
スペースはホワイトスペースじゃないって事だな
2020/02/20(木) 18:55:33.62ID:XsFSLHWy0
想定と違う動作をすることをバグると言う
2020/02/20(木) 19:42:30.75ID:KkseOg6d0
set "aaa=string"
これが一番確実で中に記号が入ってても大丈夫
%だけは%%にする必要があると思うけど
2020/02/21(金) 14:36:26.17ID:tMDWUOZr0
ループの中で変数書き換えても更新されない遅延変数って今も健在か?
2020/02/21(金) 14:42:11.23ID:J4dxqhLW0
スレチでイタチなのでそろそろお開きに
【.cmd】 バッチファイルスクリプト %13 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1542779527/
570名無しさん@お腹いっぱい。
垢版 |
2020/02/23(日) 00:31:42.73ID:9IPs4yUX0
ニコ生でffmpegランチャーで配信してたんですが2日ぐらい前にニコ生のアップデートでstreamキーとかが変わり
TCPリレーが使用できなくなりました 前は
ffmpegluncherのRTMP URLにrtmp://localhost/origin/・・・などlocalhostを追加して貼り付けてましたが
ffmpegluncherに新しいRTMP URLを同じようにlocalhostを貼り付けて rtmp://localhost/・・・・
そしてffmpegとTPCrelayにstreamnameを貼り付けて使用することができなくなりました
どうすればいいのか困っていいます

よろしくお願います
571名無しさん@お腹いっぱい。
垢版 |
2020/02/23(日) 10:38:32.26ID:V2KrMMbs0
OS
2020/02/23(日) 11:23:51.61ID:E55p+lXK0
キーが変わらなくなったからTCPRelayをつかってみては
http://strikerx3.blogspot.com/search/label/TCPRelay
573570
垢版 |
2020/02/23(日) 14:08:46.48ID:9IPs4yUX0
>>572さん これ使ってました。。 
URLのいろいろなところに/localhost/を追加してみましたがやはりだめでした
TCPrelayにstreamnameを貼り付けて startしてからffmpegを開始にしてもエラー吐いてだめでした
OBSに乗り換えることにします ありがとうございました
2020/02/23(日) 14:55:45.45ID:E55p+lXK0
ごめん。よく読んでなかった
TCPrelayでユーザー生放送なら
rtmp://jliveorigin.dmc.nico/named_input


を読み込んで
ffmpeg の -f flv 以下に rtmp://localhost:1935/named_input/nicolive.Uproduction_user
をつなげればコマンドプロンプトから配信できた
2020/03/06(金) 23:27:05.49ID:eVLg8z9F0
ffmpeg4.2.2にしたらストリーミングが爆速なんですけど・・・なにこれ
576名無しさん@お腹いっぱい。
垢版 |
2020/03/07(土) 11:04:40.52ID:45/rBUUX0
ffmpegで落とすと、メタタグにlavfがつくのが嫌い
577名無しさん@お腹いっぱい。
垢版 |
2020/03/11(水) 21:34:35.04ID:L8dEgFxB0
どうかどうかどうかどうか、教えてください。お願いします!!
動画に関する説明を何度読んでも全く理解出来ない大バカ者ですがなんとかどうしてもエンコードしたくてどうか教えてください。

ffmpeg が H265 のコーデックで、 avs ファイルをエンコードしたいんですが、どうすればいいか分かりません。

ffmpeg -version と打つと、
ffmpeg version git-2020-03-06-cfd9a65 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20200122
configuration: --enable-libx265

という、「 --enable-libx265」という文字がありますので、H265 が使えると思うんですが、どういうコマンドを打ったら
いいのかが分からないんです。
変な質問なのかどうかも分かっていませんが、どうかお願いします。ずっと悩んで HDD の容量がもう限界なんです。
お願いします!!
2020/03/11(水) 21:38:06.09ID:G/HeB+N90
ググれ
579名無しさん@お腹いっぱい。
垢版 |
2020/03/11(水) 21:42:42.35ID:L8dEgFxB0
>>578
ググっても、MP4 から MP4 へ変換する方法は載ってた(試してない)んですが、
avs → MP4 がないんです。

DTV板の Avisynthスレで質問して、こちらに誘導されてきました。
どうかお願いします。ググっても分からないんです。。バカなんです。。。。お願いします!
2020/03/11(水) 21:47:11.08ID:OLclUZ1g0
avsファイルは動画じゃないからエンコードなんて考えなくていいよ。
2020/03/11(水) 21:47:43.97ID:VC/Rrq6N0
HDDを買い足せ
■ このスレッドは過去ログ倉庫に格納されています
16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況