366:名無しさん@お腹いっぱい。
19/10/08 13:22:46.92 ZPmzQzep0.net
>>352
遅くなったけど、無事できた。ありがとう!
367:
19/10/13 04:01:44 z2ExOGAF0.net
>>353
配信プロトコルは何?
HLSなら、その仕組み的にリスト・ファイルと各メディア・ファイルに細かくアクセスするから先に進まなくなると思うよ
おそらく、リスト・ファイルだけを何度も取得することになる
リスト・ファイル取得=EOF → error=End of file → 再接続 → ←この流れをループ
リスト・ファイル取得=EOF → リスト中のメディア・ファイル取得=EOF → ←通常、この流れをループ
たぶん、一度だけコネクションを確立するタイプの配信プロトコルで使うんだと思う、mmshとか?
途中でストリームが止まるもコネクションは切れてないフリーズ状態から再接続させる
何らかの理由でストリーム停止=EOF → error=End of file → 再接続 → ストリーム再開
何らかの理由でストリーム停止=EOF → フリーズ状態(コネクション未切) ← 通常
EOFをエラーとして扱い、エラー発生なので再接続する
再接続の必要が発生した時に再接続する
再接続の必要=フリーズ状態=ストリーム停止=EOF
以上、確かめられないので想像です
368:名無しさん@お腹いっぱい。
19/10/15 22:39:50 xuB8fw780.net
複数の動画をタイル状に並べた一つの動画を作成したいのですが、
URLリンク(zariganitosh.hatenablog.jp)
このページの
ffmpeg -i sample_1.mp4 -i sample_2.mp4 -filter_complex "
[0:0]pad=2*iw[a];
[a][1:0]overlay=w
" overlay.mp4
で左右に並べることができました。
二つの動画のピクセルサイズが同じ場合には良いのですが、
異なる場合には、動画が重なってしまいます。
2*iwのところで、
二つの動画のピクセル数を足し算すれば良いと思うのですが、
もう片方のピクセル数を取得するにはどうすれば良いですか?
[a][1:0]overlay=w
のところで、一つ目の動画ファイルのピクセル幅を設定していますが、
これを2つめの動画ファイルのピクセル幅を設定する必要があります。
解説を見ると、大文字のWを使えば良いと書かれていたので、
[a][1:0]overlay=W
としてみましたが、二つの動画ファイルが表示されなくなりました。
一体どうすれば良いでしょうか?
369:名無しさん@お腹いっぱい。
19/10/15 23:28:07.42 dDXqNFCp0.net
flvやmp4からBDAV用のm2tsをffmpegのみで作成することはできないのでしょうか?
以下の解説を読むと、多くのソフトウェアを使用しており、かなり複雑そうです。
URLリンク(megalodon.jp)
ちなみにflvは1440*1080の地デジと同じ画面サイズと1280*720のサイズの2種類です。
これらを1440*1080のm2tsと1280*720のm2tsにそれぞれ変換し、chotBDAVとImgBurnで
BDAVを作成したいのです。
370:
19/10/16 17:15:14 zxDP8yjB0.net
BDAVは映像/音声の入ったm2tsファイル以外にも必要なものがあるので件のページでは
色々なツールを使っているんじゃなかったけな
使い方が分かるならばtsMuxeRだけで出来るみたいだけど結局うまい具合に出来る
mp4とかにffmpegで変換してからtsMuxeRした方が良いみたいだけど
371:名無しさん@お腹いっぱい。
19/10/18 03:50:01.7
372:5 ID:kG8GtD1q0.net
373:名無しさん@お腹いっぱい。
19/10/18 07:36:36.49 Tzg9FE4B0.net
>>359
マルチ?
374:
19/10/18 12:58:27 tctQUM9r0.net
xpはやめろ
375:
19/10/18 13:19:21 kG8GtD1q0.net
>>360
いいえ
FFmpegはURLリンク(blog.k-tai-douga.com)からレガシー用をDLしました
>>361
ライン入力からのラジオ録音であってストリーミングダウンロードではありません
もちろんネットには繋がっていません
録音だけなのでXPの使用を止めるつもりはありません
376:名無しさん@お腹いっぱい。
19/10/18 17:00:26.68 ReYfvnou0.net
AAC-HEが使えるfdkaacを自分でビルドする
URLリンク(github.com)
で32bitを選べば使えそう。XPでも使えるかは知らない
377:356
19/10/18 22:42:02.26 awMFcDYB0.net
どなたか、ご存じの方いらっしゃいませんか?
よろしくお願いいたします。
378:名無しさん@お腹いっぱい。
19/10/18 23:20:25.80 ReYfvnou0.net
2ファイル以上の映像を並べるなら、pad, overlay よりも
v|hstack, または xstack を使ったほうがよい
URLリンク(ffmpeg.org)
URLリンク(ffmpeg.org)
URLリンク(ffmpeg.org)
特に解像度が異なるときは xstack は便利
"xstack=inputs=2:layout=0_0|w0_0"
379:名無しさん@お腹いっぱい。
19/10/22 18:07:11.22 J/NZzS/e0.net
複数の動画を結合してそれぞれの元先頭にチャプターで飛べるようにするには、
どんな風に書いたらいい?
380:名無しさん@お腹いっぱい。
19/10/22 18:21:46.98 p7l/+2nr0.net
その通りに書けばいい
381:名無しさん@お腹いっぱい。
19/10/22 22:27:26.58 dHF93bIz0.net
>>365
ありがとうございます。
うまくいきました。
あと、この方法だと解像度が合わなかった場合の
背景色が緑色なのですが、
黒やグレーに変えるにはどうすれば良いですか?
あと、二つの動画を黒い四角で囲いたいのですが
どのようにすれば良いですか?
"xstack=inputs=2:layout=0_0|0_h0+2"
のようにしてオフセットをかければ良いかと思ったのですが、
最終ファイルの解像度を大きくするにはどうすれば良いですか?
382:名無しさん@お腹いっぱい。
19/10/22 23:05:04.59 H3TTHL+G0.net
xstack は余白の色を指定できないので pad で色指定した余白作ってから xstack で並べる
>二つの動画を黒い四角で囲いたい
これも pad で色指定した余白作る
URLリンク(ffmpeg.org)
pad=iw+20:ih+20:10:10:gray
>最終ファイルの解像度を大きくするにはどうすれば良いですか?
これも pad でできそう。アップスケールするなら scale, zscale など
URLリンク(ffmpeg.org)
URLリンク(ffmpeg.org)
383:名無しさん@お腹いっぱい。
19/10/26 16:09:35.38 CDDnc+670.net
test
384:名無しさん@お腹いっぱい。
19/10/26 16:10:19.55 CDDnc+670.net
やっと書き込みるようになりました。
>>369
ありがとうございます。
> xstack は余白の色を指定できないので pad で色指定した余白作ってから xstack で並べる
これってpadを使ってどうやれば良いですか?
> これも pad で色指定した余白作る
こちらもpadを試してみたのですがうまくいきません
"pad=iw+20:ih+20:10:10:gray,xstack=inputs=2:layout=0_0|w0_0"
のようにpadを前に書くと
一つ目の動画の周りにだけ枠線が表示されます
"xstack=inputs=2:layout=0_0|w0_0,pad=iw+20:ih+20:10:10:gray"
のようにpadを後ろに書くと
二つの動画を囲むようにして枠線が表示されます。
それぞれの動画を囲みたい場合にはどのようにしたら良いですか?
また、二つの動画の解像度が異なる場合に
余白の色を変える方法がどうしても分からないのですが・・。
385:名無しさん@お腹いっぱい。
19/10/26 20:07:27.40 1mVwdnqz0.net
>それぞれの動画を囲みたい場合にはどのようにしたら良いですか?
xstackは2入力以上するから指定子使ってそれぞれにpadで余白をつける
適宜それぞれにオプション指定する。-vfは1入力1出力の専用
-filter_complex [0:v]pad[0v];[1:v]pad[1v];[0v][1v]xstack
>余白の色を変える方法がどうしても分からないのですが・・。
それぞれのpadで色を変える
386:名無しさん@お腹いっぱい。
19/10/27 16:43:08.48 Xmmznw0p0.net
・2つの動画の結合
・開始終了フレームを指定して動画の切出し
それぞれ別々には実行できていますが
一回の実行でもできるものでしょうか?
387:名無しさん@お腹いっぱい。
19/10/27 19:44:19.71 9bbe1SHZ0.net
>・2つの動画の結合
>・開始終了フレームを指定して動画の切出し
それぞれのコマンドはどうなっていますか?
388:名無しさん@お腹いっぱい。
19/11/01 01:56:08.88 82uVV7ik0.net
>>152 です
ffmpeg4.2で既に修正された様子
バグ扱いらしい
前と同じくオプション「-gifflags」に「offsetting」(画像の相殺。有効で前のフレームに変化部分の透過画を累積/無効で重ねずフレーム固有1枚画で置換)と
「transdiff」(フレーム間の透明度検出)で全4パターンを指定して試してみたら、ちゃんとGIFエンコフラグで「offsettingを累積(有効・規定) → 置換・無効」にしたら透過GIFが上手く作れた
コマンド: -f image2 -framerate 20 -i '%02d.png' -i 'palette.png' -gifflags +offsetting+transdiff -filter_complex 'paletteuse' '++.gif'
+offsetting+transdiff(累積、透明検出有効/フラグ規定値)│先頭数フレームで残像が残ってる……仕様?
URLリンク(i.imgur.com)
+offsetting-transdiff(累積、透明検出無効)│残像あり・上と変化なし
URLリンク(i.imgur.com)
-offsetting+transdiff(置換、透明検出有効)│残像なし・容量増加
URLリンク(i.imgur.com)
-offsetting-transdiff(置換、透明検出無効)│残像なし・上と変化なし
URLリンク(i.imgur.com)
おまけ:APNG、静止画になるかもなんでブラウザで表示推奨。パレット使わなかったけど置換モードGIFパレット最適化より低容量だった
例: -f image2 -framerate '' -start_number 00 -i '%02d.png' -i 'palette.png'
-f apng -filter_complex paletteuse -plays 0
'outAPNG.png'
URLリンク(i.imgur.com)
結論:透過アニメ画像を作るなら残像が出ないAPNG使え
GIF作るなら残像出ないように「-gifflags -offsetting」
389:名無しさん@お腹いっぱい。
19/11/05 07:30:08.52 5BZ4eDfy0.net
ffmpegで時間指定してその部分だけどカットするって機能はないの?
□□□□□◆◆◆◆◆□□□◆◆□□◆◆□□□□
の◆だけをカットするみたいな
390:名無しさん@お腹いっぱい。
19/11/05 10:08:18.27 1ke8P2qb0.net
あるよ
391:名無しさん@お腹いっぱい。
19/11/05 15:10:46.21 Au6BZGsJ0.net
S○X
392:名無しさん@お腹いっぱい。
19/11/05 15:10:51.08 Au6BZGsJ0.net
S○X
393:名無しさん@お腹いっぱい。
19/11/05 22:24:34.58 C/enlG3q0.net
そんなややこしいことは流石にGUIでやった方がよくないか
394:名無しさん@お腹いっぱい。
19/11/05 22:45:16.34 MTanczHy0.net
trimとconcatフィルタを使う
395:名無しさん@お腹いっぱい。
19/11/16 00:24:12.26 QVpQqAw70.net
ffmpegでTSをmp4に変換しているんだけど
mpc-hcで再生させたように映像ソースをきれいにするにはどうすればいい?
ffplayで再生したソース(インターレース解除)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
mpc-hcで再生したソース(LAV Video Decoder)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
396:名無しさん@お腹いっぱい。
19/11/16 17:49:33.45 MD70azbl0.net
>>382
綺麗とか汚いとかの問題以前にffplayのインタレ解除処理がバグってるように見えるが・・・。
というか質問するならバージョンやコマンドくらい書くだろ普通。
397:名無しさん@お腹いっぱい。
19/11/16 18:05:24.56 pJ/kO3XM0.net
所詮、ffplayはおまけだからなぁ
398:名無しさん@お腹いっぱい。
19/11/16 21:59:03.14 OmfQdqYh0.net
ffplayは、
399:オマケレベルでしょ
400:名無しさん@お腹いっぱい。
19/11/16 23:25:25.32 XucqEcD60.net
変換の話を聞いてるのにサンプルがプレイヤーによる違いなのはどういうことなんだ
401:名無しさん@お腹いっぱい。
19/11/17 09:27:03.01 qzzjVPpb0.net
レンズの前を2~3フレームだけちっこい虫が写りこんだ、のを除去する方法はありますか?
三脚に固定したカメラで背景は動きません
前後フレーム合成をうまいこと使えば出来そうな気がするけど、tblendでやっても上手くいかず、、、
402:名無しさん@お腹いっぱい。
19/11/17 10:27:28.07 IoSKvsM/0.net
キーフレームだけ修正すれば済むんじゃ
403:名無しさん@お腹いっぱい。
19/11/17 10:55:38.81 NT7Es86g0.net
画像で切り出してフォトショップすればええねん
404:名無しさん@お腹いっぱい。
19/11/17 13:29:18.78 pDWOrFIY0.net
再エンコード無しで動画のSARの変更って出来ますか?
405:名無しさん@お腹いっぱい。
19/11/17 21:51:54.42 Sd5hqroT0.net
>>383
インタレ解除前もブロック欠けがありました
ffmpeg version N-94821-g976617c7d2
ffmpegで外部decoder使う方法みたいなことは無理なのかな
406:名無しさん@お腹いっぱい。
19/11/17 22:08:05.75 4z8aUPMu0.net
外部デコーダーってavs経由?
407:382
19/11/17 22:36:02.78 Sd5hqroT0.net
上手く説明できなくてすいません
mpc-hcのほうでハードウェアアクセラレーションを切ると
ブロック欠けが発生しました
ffmpegでハードウェアデコードできれば解決しそうです
408:名無しさん@お腹いっぱい。
19/11/17 22:55:47.24 wkOMsDyj0.net
映像データが壊れているのでは?
409:名無しさん@お腹いっぱい。
19/11/20 17:01:23.55 YF6I+hqW0.net
アルファチャンネル付きのwebm(VP8)の動画を別形式に変換したいのですがアルファチャンネル付きのまま出力する方法はあるでしょうか
以下を試してみてもアルファチャンネルが無い動画になってしまいました
ffmpeg -i input.webm -pix_fmt bgra -c:v rawvideo out.avi
ffmpeg -i input.webm -pix_fmt argb -c:v qtrle out.mov
ffmpeg -i input.webm -pix_fmt rgba -profile:v 4444 -c:v prores_ks out.mkv
ffmpeg -i input.webm -pix_fmt rgba -c:v utvideo out.mkv
410:名無しさん@お腹いっぱい。
19/11/20 23:00:57.44 zyQPtHyB0.net
libvpx-vp9はyuva420pで出力できる
411:名無しさん@お腹いっぱい。
19/11/28 17:39:55.32 EOoHwkug0.net
シェルスクリプトで、任意のデータサイズで動画のデータサイズ分だけ等分割(最後は等しくなくてもよい)したいのですが
どうやるのが一番効率よいでしょうか?
-fsで最大ファイルサイズに達したときの開始位置を記録して
そこからまた-fsで、のループをすればいいのかなと思ったのですが・・
最大に達したときの秒数を格納したりのやり方がわかりません
412:名無しさん@お腹いっぱい。
19/11/28 19:58:51.62 veXIqTvu0.net
>395
URLリンク(superuser.com)
413:名無しさん@お腹いっぱい。
19/12/03 12:11:17.52 Dmydzxpz0.net
x265でのエンコード時に指定したオプション情報を消すことは可能ですか?
エンコード時に指定してないと1:1が指定されるようでコンテナの指定で修正できなくて困ってます
メタデータの削除でいけるかなと↓で試してみましたが修正できませんでした
%ffmpeg% -i "%~1" -metadata title= -c copy -aspect 16:9 "%~n1_fix.mp4"
414:名無しさん@お腹いっぱい。
19/12/03 12:52:18.12 KnPZS6S+0.net
>>399
mkvmerge(mkvtoolnix)でアスペクト比を修正しつつMKVに変換、
その後、ffmpegでそのままコピーでMP4に変換できるかも。
415:名無しさん@お腹いっぱい。
19/12/03 13:47:56.99 Dmydzxpz0.net
>>400
コンテナ変えるだけではエンコードオプションに変わりなかったのでmp4では無理みたいです
mkvの表示解像度で指定するとエンコードオプションが無視され
正常に表示されたのでmkvに再格納することにします
レスありがとうございました
416:名無しさん@お腹いっぱい。
19/12/03 14:23:33 Dmydzxpz0.net
mkvに関連付けしてなかったので別プレイヤー使ってたんですが
メインで使ってたものでもでデコーダーの「use steam Aspect Ratio」をオフにすると
mp4でも正常なアスペクト比で再生されました
スレ汚しすいませんでした
417:名無しさん@お腹いっぱい。
19/12/10 06:45:24 GTWwWCMA0.net
マジでスレ汚れたわ
クリーニング頼むよ?
418:名無しさん@お腹いっぱい。
19/12/10 13:17:28 025MBD8t0.net
一週間も経ってからクソレス
419:名無しさん@お腹いっぱい。
19/12/12 00:09:43.89 IpJT/9PZ0.net
すみません
TVTestで録画したtsファイルをh264_qsvでエンコードしようとしてるのですが
Warning during encoding: incompatible video parameters (5)
というメッセージが出てログが流れてしまいます
そこで
-loglevel warning
というオプションを追加してみたのですが
Last message repeated xxx times
というメッセージが出てエンコードがどのくらい進んでいるのか
わからないのです
どうしたらいいのでしょうか
ちなみに今のオプションは
-loglevel warning -s 1440x1080 -aspect 16:9 -global_quality 28 -c:v h264_qsv -preset veryfast -tune film -vf pp=ac -bsf:a aac_adtstoasc -c:a copy
です
よろしくおねがいします
420:名無しさん@お腹いっぱい。
19/12/12 00:36:13.76 c2ftnpDN0.net
もっとログ減らしたら?criticalくらいまで
421:名無しさん@お腹いっぱい。
19/12/12 00:40:39.42 oO/CgvcQ0.net
とりあえず -preset veryfast -tune film を消して最小限のオプションでやってみては
422:405
19/12/12 01:12:18.86 IpJT/9PZ0.net
ありがとうございます
とりあえず短くしてみましたが同じでした
-loglevel warning -global_quality 28 -c:v h264_qsv -bsf:a aac_adtstoasc -c:a copy
423:名無しさん@お腹いっぱい。
19/12/12 01:28:16.83 7TzLFsXJ0.net
とりあえず
-bsf:a aac_adtstoasc
も除いて試してもいいんじゃね。
-global_quality 28
も無くていいか。
424:名無しさん@お腹いっぱい。
19/12/12 02:40:20.23 c2ftnpDN0.net
だからログレベルをもっと数字大きくしろよ
425:名無しさん@お腹いっぱい。
19/12/12 09:58:00.76 KKjdmy240.net
ワロス
典型的な話を聴かない質問者だな
426:405
19/12/12 19:44:06.92 IpJT/9PZ0.net
405です
-c:v h264_qsv -c:a copy
でやってみました
[h264_qsv @ 0000000002a72c00] Warning during encoding: incompatible video parameters (5) drop=0 speed=3.78x
[mp4 @ 0000000002a77880] aac bitstream error
Last message repeated 2 times
[h264_qsv @ 0000000002a72c00] Warning during encoding: incompatible video parameters (5)
[mp4 @ 0000000002a77880] aac bitstream error
Last message repeated 1 times
[h264_qsv @ 0000000002a72c00] Warning during encoding: incompatible video parameters (5)
Last message repeated 1 times
[mp4 @ 0000000002a77880] aac bitstream error
Last message repeated 2 times
というログがずっと続いて出ます
aacのエラーは-bsf:a aac_adtstoasc を追加することで出なくなるようですが
h264_qsvのWarningを出さなくして
frame= 191 fps= 41 q=-1.0 Lsize= 3425kB time=00:00:06.27 bitrate=4473.0kbits/s dup=20 drop=0 speed=1.34x
のような進行状況がわかる表示を出すにはどうしたらいいでしょうか
427:名無しさん@お腹いっぱい。
19/12/12 21:22:36.30 c2ftnpDN0.net
-loglevel error -stats
もっと減らすなら
-loglevel quiet -stats
428:名無しさん@お腹いっぱい。
19/12/12 21:47:03.37 IpJT/9PZ0.net
>>413
ありがとうございます
できました
429:名無しさん@お腹いっぱい。
19/12/13 19:31:45.99 m5etX8EY0.net
h264_nvencで横4864にエンコードしようとしたら、
Width 4864 exceeds 4096
と言われてしまったけど、そういうものなの?
430:名無しさん@お腹いっぱい。
19/12/13 21:20:15.43 6KXSTL2d0.net
nvencは縦横最大4096らしいよ
431:名無しさん@お腹いっぱい。
19/12/13 21:43:39.26 m5etX8EY0.net
hevc_nvencならいけるのに
432:名無しさん@お腹いっぱい。
19/12/13 23:18:58.49 26uUj07d0.net
>>415 >>417
以下のURLから適当なGPUを選んでMax WidthとMax Heightの情報を見ればわかるんだけど、
NVENCはH.264/AVCだと縦横の上限が4096、H.265/HEVCだと縦横の上限が8192になってるんだよ。
これはGPU側の制限なのでどうしようもない。
URLリンク(github.com)
433:名無しさん@お腹いっぱい。
19/12/13 23:23:52.25 m5etX8EY0.net
5kのVR動画をoculus goでも見れるようにしたいだけなのに
H.265だと重くて止まるんだよな
434:名無しさん@お腹いっぱい。
19/12/13 23:36:32.83 nYHFqgMT0.net
oculus goはwebmも対応してるみたいだから、それでやれば良い
URLリンク(support.oculus.com)
VP8は16,384 x 16,384
VP9は65,536 x 65,536
まで対応してるらしいから
音声はOpusな。それが駄目ならVorbisで
435:名無しさん@お腹いっぱい。
19/12/13 23:36:50.69 26uUj07d0.net
>>419
知らんがな。libx264でも使ってエンコすればいいんじゃね。
まあNVDECもH.264だと4096x4096までしかサポートしてないみたいだから
5K再生時はソフトウェアデコードするしかなくて結局ダメな気もするが・・・。
URLリンク(developer.nvidia.com)
436:名無しさん@お腹いっぱい。
19/12/15 20:12:18.60 FVohzUsm0.net
tsスレと悩んだんですが、こちらで質問させていただきます。
下記のサイトを参考にtsから字幕付きのmp4へ変換をしました。
URLリンク(webnetforce.net)
1.Caption2AssCでtsから字幕srtファイル生成
2.ffmpegで字幕のことは考慮せずtsからmp4へエンコ
3.ffmpegででmp4とsrtから字幕付きmp4ファイルを生成(ffmpegで-c:s mov_textと指定)
としました。
この時、2で作成したmp4ファイルをWindowsのvlcで再生すると字幕が表示されます。iPhoneのnPlayerで再生しても字幕が表示されます。
しかし、2の段階のmp4ファイルをiPhone純正のAppleTVアプリ(旧ビデオアプリ)で再生しても字幕は表示されません。
3の段階では、Win版VLC、iPhoneのnPlayer、iPhoneのAppleTVいずれも字幕が表示されます。
ただし、Win版VLCでは2の段階と字幕の表示の仕方が異なり、文字がかなり小さく表示されます。(VLC側の設定に依存?)
(なお、この時同じフォルダに同一名称のsrtファイルはありません)
・この時の2の段階で生成されている字幕付mp4の字幕はsrtではない何かの形式のものなのでしょうか?
・先人の方たちは字幕付きのファイル生成にsrtをかましていますが、ffmpegで直接字幕が出るならそれでいい人もいるのではと思うのですが、なぜこの方法はメジャーでないのでしょうか?
・また、2019年頃のffmpegのARIB対応と関連しているのでしょうか?
質問ばかりですいませんがエロいひと教えてください
437:名無しさん@お腹いっぱい。
19/12/15 20:49:55.18 LiLyKcLf0.net
字幕付でエンコードしてないのに字幕が含まれてる訳がない
438:名無しさん@お腹いっぱい。
19/12/15 21:21:37.95 wDwmYxtU0.net
2:外部字幕と、3:内部字幕の違いってだけだな
439:名無しさん@お腹いっぱい。
19/12/30 11:17:31.87 sgvMnDiN0.net
普通に考えたら2はts形式の字幕ストリームがコピーされてmp4に格納されてるんじゃないかな
普通はmp4にts形式の字幕は格納されないから、それに対応(考慮)したソフトだけは表示できてるみたいな
例えば厳格モード切ったらFLAC形式の音声をmp4コンテナに格納できるけど、一般的な再生ソフトはファイル破損として扱う
でもYouTubeに上げる事はできて、ちゃんとエンコードしてくれる
440:名無しさん@お腹いっぱい。
19/12/30 20:08:25.87 l27XX9/A0.net
まず、それぞれの段階の
441:ファイル自体をffmpeg -i でどういう状態なのか調べろよ(´・ω・`) 話はそれからだ
442:名無しさん@お腹いっぱい。
19/12/31 12:19:58.01 aBPgLMw50.net
マシンがクラッシュしてエンコ環境を再構築しました。
TS→h.265のエンコ時に以前は使えていたmpeg2_cuvidが使えなくなってしまいました。
pixel format関係のエラーのようで、mpeg2_cuvidデコーダを見ると確かにyuv420pが含まれていませんでした。
これがバグなのか仕様変更なのかわからず、わかる方いたら教えてください。
■エンコオプション
ffmpeg -analyzeduration 100M -probesize 100M -hwaccel cuvid -c:v mpeg2_cuvid -deint 2 -drop_second_field true -resize 1920x1080 -y -i INPUT.ts -pix_fmt yuv420p -c:v hevc_nvenc -rc vbr_hq -aspect 16:9 -acodec copy OUTPUT.mp4
■エラーメッセージ
Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'
■decoderヘルプ抜粋
Supported pixel formats: cuda nv12 p010le p016le
■環境
ffmpeg version N-96186-g2736dc0
GeForce GTX 1050Ti
Ubuntu 18.04.3 LTS x86_64
CUDA 10.2
443:名無しさん@お腹いっぱい。
19/12/31 13:18:23.17 baHSR18u0.net
-pix_fmt yuv420p
を外してみては
444:名無しさん@お腹いっぱい。
19/12/31 14:49:13.49 aBPgLMw50.net
>>428
ありがとうございます
-pix_fmt yuv420を外してもダメでした
試しに-pix_fmt nv12などサポートしているものに変更しましたが同じくダメですね
445:名無しさん@お腹いっぱい。
19/12/31 16:23:06.99 04XcpvYV0.net
質問です。
flacのcutをしたんですが、再生時間が変わりません。
切り出しはうまく出来ているのですが、durationの変更はできないのでしょうか?
約4分あるflacを、
ffmpeg -ss 00:00:00 -i a.flac -ss 0 -t 00:03:03.333 -c:a b.flac
として切り出しました。
ファイルのプロパティで見ても、実際にプレイヤで再生しても、表示は元の4分のままです。
再生自体はcutした約3分で終わります。
ご教示よろしくお願いします。
446:名無しさん@お腹いっぱい。
19/12/31 19:23:56.97 baHSR18u0.net
>429
ffmpeg -analyzeduration 100M -probesize 100M -hwaccel cuvid -c:v mpeg2_cuvid -deint 2 -drop_second_field true -resize 1920x1080 -y -i INPUT.ts -f null -
ffmpeg -analyzeduration 100M -probesize 100M -i INPUT.ts -pix_fmt yuv420p -c:v hevc_nvenc -rc vbr_hq -aspect 16:9 -acodec copy -f null -
HWデコードだけと、HWエンコードだけどちらも実行できてますか
>430
ffmpeg -ss 00:00:00 -i a.flac -ss 0 -t 00:03:03.333 -c:a flac b.flac
これでどうですか
447:名無しさん@お腹いっぱい。
19/12/31 23:51:12.94 Hrv/ZHPs0.net
デコードしてサンプル単位で切り出した方が精度いい
448:名無しさん@お腹いっぱい。
20/01/01 10:35:20.77 Hg7i/XTf0.net
n4.2.2来た
449:名無しさん@お腹いっぱい。
20/01/01 11:48:30.57 1y+fbra00.net
USBメモリにAVCHD形式の動画を入れるために TMPGEnc Authoring Works 5 を使ってます
本来だったらそのソフトで完結すればいいんだろうけど、
動画はffmpegで自在に編集しAVCHD形式へエンコードして、上記ソフトは付加情報を作るだけにしたいと思ってます
規格に合わせるべくいろんなオプションはググって調べられたんですが、「プロファイルとレベル」欄の「High@Level 4.1 (HDMV 互換)」だけがffmpeg側オプションに見当たりません
何か分かるかたいらっしゃいますか?
【作ったコマンドライン】
ffmpeg -i infile.ts -c:v h264_nvenc -c:a ac3 -vf "scale=720:480,setsar=40/33,setdar=20/11" -profile:v high -level:v 4.1 -maxrate 15000k -bufsize 24000k -g 60 -refs 6 -bf 4 -y outfile.mts
【フォーマット確認結果】
URLリンク(dotup.org)
450:
20/01/01 11:57:13.73 KxGMhbTH0.net
中國四
451:千年
452:名無しさん@お腹いっぱい。
20/01/01 12:42:36.41 3H4z+qrC0.net
>>434
--bluray-compat
453:名無しさん@お腹いっぱい。
20/01/01 14:51:01.82 1y+fbra00.net
>>436
レスありがとうございます
(略) -level:v 4.1 -bluray-compat 1 -maxrate (略)
とはさんだり、
-x264opts bluray-compat 1
を追加してもダメでした。
454:名無しさん@お腹いっぱい。
20/01/01 15:55:18.52 /T467HoW0.net
>>434
公式?っぽい文書
480p (NTSC) - Authoring a professional Blu-ray Disc with x264
URLリンク(www.x264bluray.com)
455:名無しさん@お腹いっぱい。
20/01/01 20:02:46.38 aRdYuDGi0.net
>>431
レス遅くなりました。
記載いただいたもので再生時間も変更されました。
ありがとうございます。
これは再エンコードされているのでしょうか?
無劣化コピーしたかったのでcopyとしていたのですが、今後はこちらで対応しようと思います。
456:名無しさん@お腹いっぱい。
20/01/01 21:09:03.23 /T467HoW0.net
>>439
あのコマンドの場合、問題なのはコピーじゃないと思う
-codec(-c) に出力先が指定されてるのが原因じゃないかな
457:名無しさん@お腹いっぱい。
20/01/01 23:49:33.54 3CqkgmM20.net
30pは規格外では?
インタレ偽装してみるとか? fake interlaced
458:名無しさん@お腹いっぱい。
20/01/01 23:56:08.33 3CqkgmM20.net
Nvidiaハードエンコ希望かw
フレームレートオプションだけ24にして赤字が消えれば30Pで赤字ってことなので一度お試しを
ソフトエンコx264に頼るならペガシスの有料ソフトでいいもんな
459:名無しさん@お腹いっぱい。
20/01/04 17:14:14.95 9YAeYq8B0.net
映像フィルター「pad」
アスペクト比を指定して、指定したアスペクト比になるように元画像に外枠を付けるコマンド
• 元画像部分はリサイズせず、縦横の足りない方の方向にだけ外枠を追加
• アスペクト比の比の値が、より大きく(より横長)になる場合も、より小さく(より縦長)になる場合も自動で対応
• 外枠追加後の辺の幅を偶数に強制するのも、「-1*」の部分を「-2*」にする事で対応できる
• color=ffffff で外枠を白色に
-i input -vf pad=width=-1*lt(iw*oh\,ih*ow):height=-1*gt(iw*oh\,ih*ow):x=(iw-ow)/2:y=(ih-oh)/2:color=000000:aspect=<比の値> output
460:名無しさん@お腹いっぱい。
20/01/04 17:18:13.96 9YAeYq8B0.net
結構需要ある処理だと思うから普段お世話になってるニコラボの管理人にも
ぜひコマンド載せてってお願いしておいた
461:名無しさん@お腹いっぱい。
20/01/04 22:31:06.21 T9NlC88M0.net
>>444
彼はここ見てると思うよ。
462:名無しさん@お腹いっぱい。
20/01/04 22:38:35.62 WbD6IUlG0.net
URLリンク(www.nikolabo1201.com)
これ?
463:名無しさん@お腹いっぱい。
20/01/05 12:17:42.42 zY6GxelV0.net
>>445
そうなのか
検索してもこのスレ上がりにくいから、元々の5ch民ぐらいしか見てないと思ってた
>>446
おしゃれ……だけどこっちね nico-lab.net
464:名無しさん@お腹いっぱい。
20/01/05 14:23:04.95 XRyKbmKZ0.net
URLリンク(nico-lab.net)
の
7.開始0秒から、最後から指定秒までを出力する
ffmpeg -i input.mp4 -ss [back-duration] -i input.mp4 -c copy -map 1:0 -map 0 -shortest -f nut - | ffmpeg -f nut -i - -map 0 -map -0:0 -c copy output.mp4
の指定方法がよくわからんのだけど
| ffmpegの
”|”ってどういういみ?
あと指定秒数って ”30” ”-30” ”-00:00:30” どれ?
465:名無しさん@お腹いっぱい。
20/01/05 14:54:05.67 zY6GxelV0.net
>>448
URLリンク(nico-lab.net)
縦棒はパイプ(入出力)で、ffmpeg外の機能
ffmpegの実行環境は知らないけど、シェルスクリプトを実行するコマンドラインなら使えると思う
466:名無しさん@お腹いっぱい。
20/01/05 15:52:40.71 XRyKbmKZ0.net
>>449
ありがとう
勉強になりました
467:名無しさん@お腹いっぱい。
20/01/05 20:46:51.58 CxLVSFhj0.net
パイプ知らん人はまずffmpegより先にCLIの基本的なコマンドを覚えたほうが良いのでは
468:名無しさん@お腹いっぱい。
20/01/06 01:04:35 bjUkHhZ90.net
とりあえず体当たりで試せばええねん
cmdのコマンドを覚えたって動作が分からないと価値なしだから
469:名無しさん@お腹いっぱい。
20/01/06 18:55:25.51 tHzmfnQP0.net
パイプってちゃんとバイナリで渡るの?
470:名無しさん@お腹いっぱい。
20/01/06 19:00:22.37 D+fMHCWY0.net
>>453
いや標準入出力だから…
471:名無しさん@お腹いっぱい。
20/01/06 19:26:29.53 zq60sS7H0.net
標準ストリームで調べようね
472:名無しさん@お腹いっぱい。
20/01/07 00:42:19.72 q3zvm4020.net
バイナリーで送受信双方が対応してたら大丈夫
普通はテキストしか流さない紳士協定
473:名無しさん@お腹いっぱい。
20/01/07 13:06:34 Tej63GB90.net
パイプの話だけど
テキストで 0x0A しか送ってないのに受信側は勝手に 0x0D, 0x0A になったりしない?
なってるとしたらアプリ側の責任?
474:名無しさん@お腹いっぱい。
20/01/07 16:03:41.72 q3zvm4020.net
>>457
テキストで開けてるからだろ。バイナリモードで標準入力あけるとよろし
475:名無しさん@お腹いっぱい。
20/01/07 17:25:08.87 +luKHcgZ0.net
>>457
Windowsの場合テキストモードの影響じゃない?
\n(0x0A)で出力すると勝手に \r\n(0x0D,0x0A) に変換される奴
URLリンク(docs.microsoft.com)
>stdin、stdout、stderr ストリームは常に既定でテキスト モードで開きます。
476:名無しさん@お腹いっぱい。
20/01/07 20:50:33.25 CwdSPkUN0.net
Windowsでffmpegのパイプや標準入出力を使ってるけど、
バイナリ、テキスト意識したこと無いねぇ。
自分の使い方程度だと、普通に使えてるし。
477:名無しさん@お腹いっぱい。
20/01/07 21:01:52.35 GR1HfjYT0.net
普通はテキストでしか使わないからな
478:名無しさん@お腹いっぱい。
20/01/07 23:35:52 +luKHcgZ0.net
そもそもコンソールアプリで標準入出力をバイナリにするってのがおかしいのでは?
コンソール入出力が前提(基本)なんだろうし
決まってバイナリデータ扱うなら専用にファイルハンドル開くべきだと思うし
479:名無しさん@お腹いっぱい。
20/01/07 23:47:23 GR1HfjYT0.net
そのへんを踏まえた上で
>>454 >>455 あたりの知ったかが痛すぎてニヤニヤが止まらない
480:名無しさん@お腹いっぱい。
20/01/08 00:10:21 qu6jme/40.net
テキストもバイナリだろ!(燃料投下)
481:名無しさん@お腹いっぱい。
20/01/08 01:05:41 FZp23yF10.net
>>462
そういう穴をふさいだPower Shellは動画エンコ界隈ではハブられてるという・・
482:名無しさん@お腹いっぱい。
20/01/08 04:27:00.15 PsBB24jj0.net
WSL使えるようになったしbashで書くようにしてもいいかな
483:名無しさん@お腹いっぱい。
20/01/08 13:49:45 W55wOrdc0.net
そもそも、コマンドプロンプトでffmpegを使うのは苦行だよ。
コードページ変えないとステータスが読めないし、
名前をつけてログというか、リポートを保存しようとすると、
普段使わないようなエスケープをしないとダメだし。
¥はわかるが、:もエスケープしないといけない。
484:名無しさん@お腹いっぱい。
20/01/08 22:43:32.41 FZp23yF10.net
batが完成したらあんまり触らないから問題ないような気がする
485:名無しさん@お腹いっぱい。
20/01/08 22:49:44.05 6PYr6RwU0.net
オプションで > を使わないといけないCLIのツールとかある
486:名無しさん@お腹いっぱい。
20/01/08 22:56:13.19 hFCa+hCu0.net
オプション(任意)なのか使わないといけない(強制)なのか分からないけど
オプション(任意)指定するうえで使わないといけない(強制)のならいいんじゃね?
487:名無しさん@お腹いっぱい。
20/01/08 23:05:24.17 6PYr6RwU0.net
オプションというのは近くに浮いてて敵を倒す火の玉のことだよ
488:名無しさん@お腹いっぱい。
20/01/08 23:05:52.27 MW4qGDZZ0.net
それにしても、ffmpegって、ファイルパスを指定してリポート出力するのに
なんで環境変数への代入が必要なんだ?
オプション一発でできれば、変なエスケープしなくていいのに。
489:名無しさん@お腹いっぱい。
20/01/09 11:21:55 l6wUGPlg0.net
オプションをファイルから読むオプションもあるやろ
490:名無しさん@お腹いっぱい。
20/01/09 16:40:03.04 MQvo5LRv0.net
そもそもオプション指定できないものを
オプションリストファイルの読み込みで指定することはできないでしょう。
491:名無しさん@お腹いっぱい。
20/01/10 11:07:35.32 k7MK+gEd0.net
ffmpegでインタレ解除をしたいのですが、エンコードせずcopyで実施することは可能でしょうか?
手元にtsファイルがあるのですが、フォーマットを調べるとAVCとなっています。
通常のtsはMPEG-2だと思うのですが。
拡張子はtsを名乗っているけど、中身の実態としてはmp4でも問題ない状態ということ??
492:名無しさん@お腹いっぱい。
20/01/10 11:09:58.56 RZDGQsyr0.net
TSはコンテナなので、Blu-rayとかからのやつならMPEGではないのもある
493:名無しさん@お腹いっぱい。
20/01/10 11:44:49.15 k7MK+gEd0.net
ありがとう。
エンコードは必ず伴うってことですよね。
494:名無しさん@お腹いっぱい。
20/01/10 18:55:53.89 ib6ASn3F0.net
>>477
コーデックとコンテナの違いは理解した?絶対理解しといた方がいい
拡張子はそのファイル形式(フォーマット)に対応してて、.mp4ならMP4、.tsならMPEG-2 TS
テキストファイルなら文字列、MP4なら映像・音声・文字列って風に、ファイル形式は内容のメディア形式を限定する
コーデックは符号化形式の事で、.txtなら文字コード、.mp4なら文字コード・MPEG-2・MPEG-4 AVC・AAC・……って風にメディア形式に対応してる
動画ファイルみたいな多重化(複数のメディアの包含)するファイル形式が多重化ファイル形式、つまりコンテナってこと
間違いとしては、拡張子が.tsでも内包されるコーデック/メディア形式は1つじゃないし、MP4は中身=コーデック/メディア形式じゃないよ
495:名無しさん@お腹いっぱい。
20/01/10 18:55:53.89 WqyP3Wwa0.net
どういう理屈だ
496:名無しさん@お腹いっぱい。
20/01/10 18:57:43.11 ib6ASn3F0.net
>>478 >>479
タイムスタンプ一致……100ミリ秒まで一致とか運命感じそう
497:名無しさん@お腹いっぱい。
20/01/10 21:37:04.69 k7MK+gEd0.net
>>478
しっかり説明しろって言われたら多分できないけど、ざっくり。
コンテナは映像と音声を格納する箱でしかなくて、映像がどういった形式でエンコードされているかはそれぞれ。
ものによっては、フォーマットがこれだから拡張子がこれってわけじゃないってことだよね。
ちなみにこの指摘があるってのは、エンコードせずにインタレ解除できる??
498:名無しさん@お腹いっぱい。
20/01/10 21:47:36.79 eAeNdWSd0.net
インターレースかどうかってフラグ管理じゃないから無理では
499:名無しさん@お腹いっぱい。
20/01/10 21:59:14.83 k7MK+gEd0.net
そうですよね。
MBAFFって出てくるんですが、フレームレートが29.97なのを59.94にして、
エンコードし直す必要ありますよね。
(インタレ解除後のフレームレートをいくつに指定したらいいのかはあまり分かってません。
が、アニメじゃないので2倍かなと・・
500:名無しさん@お腹いっぱい。
20/01/10 22:26:30.84 ib6ASn3F0.net
>>481
残念ながらインターレース用に符号化されちゃってるから、トランスコードしないと順次走査はできないね……
あと60fps飛び越し走査は飛び越した分が半分だから、順次走査の30fps
つまりインターレース解除したらフレームレートは倍増じゃなく半減すると思う
501:名無しさん@お腹いっぱい。
20/01/10 22:42:02.54 WqyP3Wwa0.net
インタレースは解除せずに再生時に解除すればいい
解除してしまうとそれが正解だったか判らない上にもう戻せない
502:名無しさん@お腹いっぱい。
20/01/10 23:10:06.22 RZDGQsyr0.net
出来るだけオリジナルのまま、が正しい
インタレ解除は再生時がいちばんつぶしが利く
503:名無しさん@お腹いっぱい。
20/01/10 23:16:31.30 6Sg2e/y00.net
>>483
MBAFFも29.97だよ(そもそもフレームレートが変わったらインタレ維持にならない)
フレームレートは基本的に指定しなくてもいい
vf使わなければインタレのままエンコされるし、フィルタでフレームレートが変わったら自動で指定される
ちなみにx265などx264以外ではインタレ維持は諦めて
504:名無しさん@お腹いっぱい。
20/01/11 19:17:57.83 XlWX2Wof0.net
こんな感じでデノイズ試してみたら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
505:名無しさん@お腹いっぱい。
20/01/12 00:12:51.72 LexZ1lmo0.net
CPUの性能が足りてないんやろな
506:名無しさん@お腹いっぱい。
20/01/12 23:47:09.05 ItMnCDxF0.net
gpuじゃなくてcpuの問題か
507:名無しさん@お腹いっぱい。
20/01/13 08:11:34.82 7sOApHRY0.net
負荷見ながらやるだろ
508:名無しさん@お腹いっぱい。
20/01/13 21:29:15.80 vzROS9bw0.net
ここでいいのか分かりませんが質問ですさせてください
録画に失敗して同じ番組の動画が2つあります
1つ目は頭から31分
2つ目は30分から終わりまで
という感じなのですがこれを綺麗に結合するにはどうやればいいですか?
それぞれss toで時間指定して-vcdec copy -acodec copyで切り出した後concatで繋げてみたのですか結合部にノイズがでて綺麗になりませんでした
509:名無しさん@お腹いっぱい。
20/01/13 21:56:12.21 8BReyHfl0.net
これで連結してみたら
URLリンク(nico-lab.net)
510:名無しさん@お腹いっぱい。
20/01/13 23:06:37.53 0iEeZNA50.net
>>493
ありがとうございます。
ちょっと試してみましたがやはりノイズのりました
やり方間違ってるかもしれないので明日また試してみます
511:名無しさん@お腹いっぱい。
20/01/13 23:38:49.68 pQfxIXzm0.net
エンコードなしじゃ無理だと思うし
自己完結型のffmpegじゃいろいろと無理があるとも思う
自分ならDGIndexで映像と音声に分離してたものをavisynth経由で
aviutlに読み込ませてかっと編集したのちエンコードする
512:名無しさん@お腹いっぱい。
20/01/13 23:44:20.03 Ea3iV0gp0.net
時間が被ってる1分間の間できっちりフレームが切り分けられるところで上手く切るしか無いんじゃない?
あと切り出す時は自分はcopyじゃなくエンコードするわ
513:名無しさん@お腹いっぱい。
20/01/14 00:33:34.53 Rop5Bdn90.net
余計なエンコードするより、重複位置が分かるなら
-i 前 -ss:0 0(必要ならずらす) -to:0 連結時刻 -i 後ろ -ss:1 0(必要ならずらす)
の後で連結が1番余計な処理無いと思う
514:名無しさん@お腹いっぱい。
20/01/14 00:34:33.32 68zgHSjG0.net
両方の動画のキーフレームが同じなら、avidemuxとかで切りつつそのままコピーで書き出しとかは出来ないの?
515:名無しさん@お腹いっぱい。
20/01/14 10:12:45.16 pUg5HoDc0.net
できるよ
516:名無しさん@お腹いっぱい。
20/01/14 10:25:46.96 0QkYBnSI0.net
テレビのtsを265でmkvにして
-f segmentで分割してCMを間引いてconcatしたら
結合部分の画像が乱れるのですが
同じようなことをやって解決方法分かる人いますか?
517:名無しさん@お腹いっぱい。
20/01/14 10:31:13.92 PmV1t2VC0.net
open-GOPが有効になってるせい?
有効になってたら無効にしてエンコードしてみるとか
518:名無しさん@お腹いっぱい。
20/01/14 16:40:41.36 5NCcK7rZ0.net
>>501
-x265-params open-gop=0
でいけた。ありがとう
519:名無しさん@お腹いっぱい。
20/01/14 22:39:46 7A2J9fhs0.net
>>492です 493の方法でノイズは乗らなくなりました (元動画が何かおかしくて一度copyしました) 方法通りだと指定したタイムスタンプから3フレームくらいずれるので後ろのファイルのinpointをずらしたらハッシュ値上は同値になりました このせいか映像だけ一瞬とまり少し後に早送り再生みたいになる状態になりましたが
521:名無しさん@お腹いっぱい。
20/01/28 21:50:06 1e2Kvr0Z0.net
8bitでY=16~235/U,V=16~240の範囲外、いわゆるスーパーホワイト
サブブラックの範囲を削除というかクリップさせたいのですがどのよう
にすればよいのでしょうか。
スーパーホワイトにノイズのある素材の前処理を考えています。
522:名無しさん@お腹いっぱい。
20/01/28 22:23:19 UbbdWYwL0.net
それはffmpegでやることではないのでは
動画編集ソフト使ったほうがよくね
523:名無しさん@お腹いっぱい。
20/01/28 23:05:43.70 1e2Kvr0Z0.net
沢山あるので一括処理で楽をしたかったんです。少し残念ですがわかりました、失礼します。
524:名無しさん@お腹いっぱい。
20/01/28 23:34:09 w0JFFAsR0.net
lutyuvでできないかね
lutyuv=y=clip(val, 16, 235):u=clip(val, 16, 240):v=clip(val, 16, 240)
525:名無しさん@お腹いっぱい。
20/01/28 23:52:18 1fs7n6y+0.net
いやいやこういうのこそffmpegの出番でしょう
526:名無しさん@お腹いっぱい。
20/01/30 17:34:41 mxM/jdfA0.net
>>507
-pix_fmtを指定して"lutyuv=y='clip(val, 16, 235)':u='clip(val, 16, 240)':v='clip(val, 16, 240)'"
としたら無事期待通りの操作ができました。”と'で囲まないとエラーになるので試行錯誤していたらレスが
遅れてしまいました。
調べて”はスペースを文字列として扱い、()がなにか特別な文字で’で囲む必要があるのかもとみています
が自分でもよくわかっていません。
527:名無しさん@お腹いっぱい。
20/01/30 19:10:52.82 OW/fIxT00.net
>>509
動作環境によるから一度試しといた方が良いかも
そのコマンドから
①内側の1重引用符を除く
②1重引用符はそのまま、半角スペースだけ除く
③1重引用符と半角スペースを除く(この時残った2重引用符は1重引用符に置き換えても動くはず)
この3つを試したら結合性が判断できると思う
1重引用符と2重引用符は置き換え可能だから、1種類で良い場合は視認性のために1重引用符をおすすめする
528:名無しさん@お腹いっぱい。
20/01/30 19:22:40 vodk/hVq0.net
シェルに何を使ってるか、とか?
529:名無しさん@お腹いっぱい。
20/01/30 20:35:22.81 Hh3d8V4R0.net
>>509
横からだが
> ()がなにか特別な文字で’で囲む必要があるのかも
ある動画のm3u8をローカルに落としてファイル名を()を含むサブタイに変えて実行したら失敗しまくったことがある
このときパスが長い所為かと考えとりあえず()の数文字分削ったら成功したからやっぱりパスかと思ってた
なるほどそういうことか、やっと合点がいったわthx!
530:名無しさん@お腹いっぱい。
20/01/30 20:53:02.10 OW/fIxT00.net
>>512
括弧に限らず特殊文字含む場合はエスケープするか引用符で括らないとだめだね
引用符を含む場合はその両方
スペース含む場合なんかは特につまずきやすいから、ファイル名みたいな自由度高い要素を含む値は引用符で括る癖付けてる
531:名無しさん@お腹いっぱい。
20/01/30 21:07:46.23 SjwUzGpN0.net
>>510
それぞれこうなりました。
1の結果、エラー
2の結果、パス
3の結果、エラー
①と③のエラーメッセージは共に以下の通りでした。
URLリンク(pastebin.com)
1重引用符と2重引用符は置き換え可能ということで
試しに新たに④として「1重引用符と半角スペースを
除き-vf全体を1重引用符で囲む」条件で実行したところ
異なるエラーメッセージになりました。以下の通りです。
URLリンク(pastebin.com)
532:VWjyG2L 最後に普段使わないのですがpowershellで実行したところ ①②③は再現したのですが④の条件でも同様のエラーと違う 結果になりました。確かにシェルで違いが現れますね。
533:名無しさん@お腹いっぱい。
20/01/30 21:09:15.91 SjwUzGpN0.net
念のため環境も書きます。
FFmpeg zeranoe build ver. 4.2.1でWindows10 バージョン1909のcmd. exeです。
534:名無しさん@お腹いっぱい。
20/01/30 21:31:06 SjwUzGpN0.net
連投すみません????を再現する要素、オプションを抜き出したコマンド全文です。
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
535:名無しさん@お腹いっぱい。
20/01/30 21:31:39 eZ5tGJQ00.net
lutyuv=y=clip(val\,16\,235):u=clip(val\,16\,240\):v=clip(val\,16\,240)
これでも同じように動いた
536:名無しさん@お腹いっぱい。
20/01/30 21:44:04 SjwUzGpN0.net
>>517
???少し混乱してます、たしかに動きますね。エスケープをしている?
それにしては最後の)の前にバックスラッシュがついていませんし…。
537:名無しさん@お腹いっぱい。
20/01/30 21:54:59 eZ5tGJQ00.net
途中で)の前にバックスラッシュ置いてるのは記述ミス
カンマの前にバックスラッシュ置くだけでいいっぽい
538:名無しさん@お腹いっぱい。
20/01/30 22:32:15 OW/fIxT00.net
>>514,517,518
お疲れさま、凄く説明分かりやすくて私も勉強になります
1番分かりやすいのは要素の切れ目での半角スペースは任意ということで、環境によっては改行文字も通ったり……
エスケープは文脈によっても要不要が変わる……というのも、フィルターの文脈だと「フィルターチェーンのカンマ」が一般的ですよね
そうすると一部のフィルターでしか使わない「オプションの引数の中の値を区切るカンマ」は優先度を低くするのが効率的
だからフィルターの文脈ではチェーンを繋がないカンマはエスケープが必要
もし括弧内でエスケープ無しにすると「閉じ括弧無しでチェーン」を検出(もしくは未知の引数を検出)して、異常中断するという訳
また、上のレスで書いたように引用符で括ると「引用符全体で纏まった引数」と一意に解釈できるのでエスケープ無しで大丈夫だったという訳
-vf全体を引用符で括った事で「フィルター名全体で纏まった要素」と認識したのは予想外……ごめんこれは分からない
539:名無しさん@お腹いっぱい。
20/01/30 23:13:22 SjwUzGpN0.net
2重引用符はシェルが解釈して1重引用符はFFmpegが解釈してるという感じがしますね。
540:名無しさん@お腹いっぱい。
20/01/31 00:03:49 pAoAG3fQ0.net
>>520
「フィルターチェーンのカンマ」として認識したために
FFmpegは「16」というフィルタを探したが見つからず
エラーを吐いたというわけでしょうか。納得しました。
図らずもフィルターと引用符の動作の理解になり驚いています。
調べてわかったことですが?の条件で実行結果に差異が見られた
原因は1重引用符がPowerShellでは特殊文字である為でした。
cmd .exeでは
>echo foo'bar
foo'bar
PowerShellでは
>echo foo'bar
foobar
とエスケープする必要があるため?が?と同じ条件になっていた
ようです。またおかげでFFmpegは1重引用符で括った一纏めを
要素として認識するとわかりました。
動画が無事処理できた上にさらに大変勉強になりました。ありがとうございました。
541:名無しさん@お腹いっぱい。
20/01/31 00:47:58.63 Z/2Nmmkq0.net
linuxでlibx265とstaticなビルドに成功した人いますか?
./configure時に
ERROR: x265 not found using pkg-config
というエラーが出てしまいます
libx265抜きでlibx265とlibfdk_aacとだけならビルド成功したので
libx265の問題だと思うのですが
ちなみにsharedのビルドは問題ありません
542:名無しさん@お腹いっぱい。
20/01/31 01:35:10.87 etkf1QFQ0.net
>>522
そういう処理をしたという認識で間違い無いです
やはり動作環境によってエスケープが追加で必要な文字が変わるんですよね
何も考えずにコピペしてきたものが動かない事があるのはそれが原因で……困りものです
こちらこそ感謝します
543:名無しさん@お腹いっぱい。
20/02/15 10:40:58.96 dgZwrmqL0.net
ffmpeg -i [INPUT] -acodec copy -vcodec copy [OUTPUT]
これをフォルダ一括でやる場合にはどうしたらいいですか?
544:名無しさん@お腹いっぱい。
20/02/15 10:51:17 Ekg3x80o0.net
for文
545:名無しさん@お腹いっぱい。
20/02/15 15:31:35 dgZwrmqL0.net
>>526
具体的にコマンド教えてもらえませんか?
546:名無しさん@お腹いっぱい。
20/02/15 15:34:58 DEVSFt7+0.net
馬鹿には無理
547:名無しさん@お腹いっぱい。
20/02/15 15:34:59 ULYNozZy0.net
>>527
「バッチファイル FOR」でググればいいと思うよ。
548:名無しさん@お腹いっぱい。
20/02/15 15:49:51 dgZwrmqL0.net
>>529
ありがとう
難しそうだね
549:名無しさん@お腹いっぱい。
20/02/15 16:16:44 +Bljq2on0.net
>>530
ほら
URLリンク(pastebin.com)
550:名無しさん@お腹いっぱい。
20/02/15 19:41:12.87 dgZwrmqL0.net
>>531
うおおおお!
ありがとう!!
551:名無しさん@お腹いっぱい。
20/02/16 13:46:03 k/23+48v0.net
個人的にはfor文とかはbatファイルよりも
powershellのスクリプトの方が使いやすい
552:名無しさん@お腹いっぱい。
20/02/16 14:25:58.32 srBzZoDc0.net
batファイルの文法は不可解な例外まみれだからな
直すと影響が出るから直すに直せない
553:名無しさん@お腹いっぱい。
20/02/16 14:34:26 mvhjYclL0.net
bashを信じるものは救われる
554:名無しさん@お腹いっぱい。
20/02/16 15:54:49.47 TO1TQdu30.net
たまにはwshを思い出してあげて
555:名無しさん@お腹いっぱい。
20/02/16 16:24:02 EIHh2ftA0.net
>>531
めっちゃ使いやすい
本当ありがとう!
556:名無しさん@お腹いっぱい。
20/02/16 17:30:51.71 qwxcYivk0.net
大文字の?がファイルネームに入っているとbatにドラッグアンドドロップできない問題
俺には解決方法が分からない
557:名無しさん@お腹いっぱい。
20/02/16 18:59:10 Mvb3CmOn0.net
全角ならいけるんじゃね
558:名無しさん@お腹いっぱい。
20/02/16 19:35:13.51 EPcMRgbY0.net
wshを終わらせるためのpowershellじゃないのか
過去の資産が~とかなければpowershellにしておけ
559:名無しさん@お腹いっぱい。
20/02/16 19:45:27.43 srBzZoDc0.net
batはダブルクリックで簡単に起動できるし
どうせ大したことはやらせないし
windowsの奥の方のデータを引っ張ってくるとかでない限りあんまり使いみちが無い
560:名無しさん@お腹いっぱい。
20/02/16 20:13:58 qwxcYivk0.net
>>539
なぜか全角の?を半角の?として扱うせいで正しくパスを読み込んでくれないのよ
561:名無しさん@お腹いっぱい。
20/02/16 20:43:55.96 EPcMRgbY0.net
batを捨てるのです
562:名無しさん@お腹いっぱい。
20/02/16 20:49:12.01 TgtGcW1R0.net
>>542
試してみたけど問題ない
563:名無しさん@お腹いっぱい。
20/02/16 20:50:36.82 TgtGcW1R0.net
まあでも他の文字列は駄目だったりするからどのみちbatは駄目だけど
全角スペースとか
564:名無しさん@お腹いっぱい。
20/02/16 21:18:25 qrmTBbgU0.net
ifやforの中では()、bat内はどこでも%が危険
565:名無しさん@お腹いっぱい。
20/02/16 21:45:04 srBzZoDc0.net
for %%a in (^
a ^
) do echo %%a
このbatファイルは動作しない
) の前にスペースを入れるとok
理由はよく判らん
566:名無しさん@お腹いっぱい。
20/02/16 23:41:42 efyibPY50.net
そもそもエスケープ自体が不要でしょ
567:名無しさん@お腹いっぱい。
20/02/16 23:57:43 qrmTBbgU0.net
行末の^はエスケープじゃなくて改行では?
568:名無しさん@お腹いっぱい。
20/02/17 00:01:14.65 W3nDn6D30.net
>>549
いや改行のエスケープだよ
一行が長くなりすぎるときにやるやつ
569:名無しさん@お腹いっぱい。
20/02/17 14:58:09.87 +eap3bhC0.net
そういや改行だけでいい時と^で改行するときの違いって何なんだろう
570:名無しさん@お腹いっぱい。
20/02/18 14:20:06 LGDhVqGh0.net
batファイルは1行1コマンドで記述するならいいけど
ifとかforとか変数とか使い始めると
batファイルの変態的な仕様とバグにどんどんハマ
571:っていく
572:名無しさん@お腹いっぱい。
20/02/18 19:37:16 zx97LNpV0.net
set aaa = string
と書くとバグる
正解は
set aaa=string
573:名無しさん@お腹いっぱい。
20/02/18 21:01:58 pAbddx+90.net
文法エラーじゃなくて?
どんなバグ?
574:名無しさん@お腹いっぱい。
20/02/19 04:52:46.32 sIQGPVzI0.net
>>552
例えばどんな変態的な仕様とバグがあるんだ
575:名無しさん@お腹いっぱい。
20/02/19 17:38:26 N1Kh/RJ00.net
「=」の前後に空白を入れるとシンタックスエラーにはならないけど「aaa」という変数に
値がセットされないので「echo %aaa%」ってやっても変数「aaa」に設定したつもりの値が
表示されないみたいなw
576:名無しさん@お腹いっぱい。
20/02/19 17:40:29 WF/K2mgF0.net
win10にはubuntuもあることだしbashにしなさい
577:名無しさん@お腹いっぱい。
20/02/19 19:01:46 lSrtltul0.net
>>553,>>556
>set /?
環境変数を表示、設定、または削除します。
SET [変数名=[文字列]]
set aaa= stringなら通るね、set aaa = stringでシンタックスエラー出ないのは確かにアレかも。
>>555
URLリンク(web.archive.org)URLリンク(doudemoexe.com)
URLリンク(stackoverflow.com)
578:名無しさん@お腹いっぱい。
20/02/19 23:13:47 Jtq0Mauj0.net
自分のbat見返したら全部スペースなしだわ
まったくコマンド同じなのに自分が書いたらエラーで、参考にしたHPからコピペしたら動いたりするのは
こういう>556のような仕様に引っかかってたのかな
579:名無しさん@お腹いっぱい。
20/02/20 10:57:44.15 AfV1L36N0.net
>>537は本当に使えたのかな?
580:名無しさん@お腹いっぱい。
20/02/20 11:18:24 8yY7Ic+E0.net
正解は
set aaa =string
581:名無しさん@お腹いっぱい。
20/02/20 12:22:46 hkoIIz2A0.net
正解は……越後製菓!
だろ
582:名無しさん@お腹いっぱい。
20/02/20 16:23:36 UjZdzeBt0.net
…(;´д`)
583:名無しさん@お腹いっぱい。
20/02/20 18:35:52 hJT4oQv80.net
set aaa= string
「aaa」に「 string」(1文字目はスペース)がセットされる。
set aaa =string
「aaa 」(末尾にスペース)に「string」がセットされる。
=の前までが変数名、以降が値だから、スペースも正しく扱われてる。
584:名無しさん@お腹いっぱい。
20/02/20 18:52:10 acvaOPXW0.net
スペースはホワイトスペースじゃないって事だな
585:名無しさん@お腹いっぱい。
20/02/20 18:55:33 XsFSLHWy0.net
想定と違う動作をすることをバグると言う
586:名無しさん@お腹いっぱい。
20/02/20 19:42:30 KkseOg6d0.net
set "aaa=string"
これが一番確実で中に記号が入ってても大丈夫
%だけは%%にする必要があると思うけど
587:名無しさん@お腹いっぱい。
20/02/21 14:36:26 tMDWUOZr0.net
ループの中で変数書き換えても更新されない遅延変数って今も健在か?
588:名無しさん@お腹いっぱい。
20/02/21 14:42:11 J4dxqhLW0.net
スレチでイタチなのでそろそろお開きに
【.cmd】 バッチファイルスクリプト %13 【.bat】
スレリンク(tech板)
589:名無しさん@お腹いっぱい。
20/02/23 00:31:42.73 9IPs4yUX0.net
ニコ生でffmpegランチャーで配信してたんですが2日ぐらい前にニコ生のアップデートでstreamキーとかが変わり
TCPリレーが使用できなくなりました 前は
ffmpegluncherのRTMP URLにrtmp://localhost/origin/・・・などlocalhostを追加して貼り付けてましたが
ffmpegluncherに新しいRTMP URLを同じようにlocalhostを貼り付けて rtmp://localhost/・・・・
そしてffmpegとTPCrelayにstreamnameを貼り付けて使用することができなくなりました
どうすればいいのか困っていいます
よろしくお願います
590:名無しさん@お腹いっぱい。
20/02/23
591:10:38:32.26 ID:V2KrMMbs0.net
592:名無しさん@お腹いっぱい。
20/02/23 11:23:51.61 E55p+lXK0.net
キーが変わらなくなったからTCPRelayをつかってみては
URLリンク(strikerx3.blogspot.com)
593:570
20/02/23 14:08:46.48 9IPs4yUX0.net
>>572さん これ使ってました。。
URLのいろいろなところに/localhost/を追加してみましたがやはりだめでした
TCPrelayにstreamnameを貼り付けて startしてからffmpegを開始にしてもエラー吐いてだめでした
OBSに乗り換えることにします ありがとうございました
594:名無しさん@お腹いっぱい。
20/02/23 14:55:45.45 E55p+lXK0.net
ごめん。よく読んでなかった
TCPrelayでユーザー生放送なら
rtmp://jliveorigin.dmc.nico/named_input
を読み込んで
ffmpeg の -f flv 以下に rtmp://localhost:1935/named_input/nicolive.Uproduction_user
をつなげればコマンドプロンプトから配信できた
595:名無しさん@お腹いっぱい。
20/03/06 23:27:05 eVLg8z9F0.net
ffmpeg4.2.2にしたらストリーミングが爆速なんですけど・・・なにこれ
596:名無しさん@お腹いっぱい。
20/03/07 11:04:40.52 45/rBUUX0.net
ffmpegで落とすと、メタタグにlavfがつくのが嫌い
597:名無しさん@お腹いっぱい。
20/03/11 21:34:35 L8dEgFxB0.net
どうかどうかどうかどうか、教えてください。お願いします!!
動画に関する説明を何度読んでも全く理解出来ない大バカ者ですがなんとかどうしてもエンコードしたくてどうか教えてください。
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 の容量がもう限界なんです。
お願いします!!
598:名無しさん@お腹いっぱい。
20/03/11 21:38:06 G/HeB+N90.net
ググれ
599:名無しさん@お腹いっぱい。
20/03/11 21:42:42 L8dEgFxB0.net
>>578
ググっても、MP4 から MP4 へ変換する方法は載ってた(試してない)んですが、
avs → MP4 がないんです。
DTV板の Avisynthスレで質問して、こちらに誘導されてきました。
どうかお願いします。ググっても分からないんです。。バカなんです。。。。お願いします!
600:名無しさん@お腹いっぱい。
20/03/11 21:47:11 OLclUZ1g0.net
avsファイルは動画じゃないからエンコードなんて考えなくていいよ。
601:名無しさん@お腹いっぱい。
20/03/11 21:47:43 VC/Rrq6N0.net
HDDを買い足せ
602:名無しさん@お腹いっぱい。
20/03/11 21:49:54 L8dEgFxB0.net
>>580
どういうこと・・でしょうか??
前は、Windows7 で、携帯動画変換君を使って携帯用に DVD を変換してました。
それが Windows10 になって、携帯動画変換君が使えないらしいことが分かって、変換君の中身が
ffmpeg なのでコマンドラインで出来たらその方が楽かなと考えて、さらに iPhone でも見れる、H265 なる
H264 の後継のコーデックがあることを知り、ファイルサイズが半分になることも知り、今までは H264 で M4V
を作って iPhone で見てたので、H265 でファイルサイズ半分に出来たら最高だな、と考えて現在に至ります。
603:名無しさん@お腹いっぱい。
20/03/11 22:18:21.21 G/HeB+N90.net
>>582
テンプレにも色々情報が載ってるし、ググれば色々な情報が出てくる。
お前がやるべきなのはffmpegを基礎から学ぶこと。
それをすっとばして何も理解しないまま回答だけクレクレする奴はどこに行っても相手にされんよ。
初心者スレに行ってもテンプレにあるように「お前は初心者ですらないから質問する資格なし」で終わる。
604:名無しさん@お腹いっぱい。
20/03/11 22:22:53 LwDcwXa80.net
.avsファイルって事でしょ
aviSynthってソフト独自の拡張子で、しかもScriptファイルらしいじゃん
それが動画ファイルだってなら、確実に何らかの映像のコーデックと音声のコーデックで符号化されたstreamが入ってるはず
aviSynthで開くとそのファイルの情報見れるんじゃないのか?そして普通ならそこにコーデックも表示されるはず
ますはコーデックを知らない事には何もできないよ
605:名無しさん@お腹いっぱい。
20/03/11 23:36:57 L8dEgFxB0.net
>>583
理解は出来ないです。かれこれ10年は動画変換をやってますが、携帯動画変換君頼りで理解しないままでしたし…。
ffmpeg -y -i "元ファイル.avs" -vcodec hevc "完成ファイル.m4v"
[ipod @ 0000015ca68413c0] Could not find tag for codec hevc in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:1 --
というエラーが出ます。。
訳が分かりません。
>>584
avs ファイル自体は、MPC-HC という動画再生ソフトで再生できますし、H265 を使わなければ ffmpeg で変換できる avs もあるんです。
avs の場合の H265 のコマンドを知りたかっただけなのですが。。
どう質問すればいいかも混乱中で…
606:名無しさん@お腹いっぱい。
20/03/11 23:46:55.14 L8dEgFxB0.net
>>584
元データが DVD で、英語と日本語の字幕を両方同時に載せたいが為に Avisynth を使っています。
両方同時に埋め込めるソフトがあるならそのソフトで M4V を作っても構わないんですが、その為だけなんです。
607:名無しさん@お腹いっぱい。
20/03/12 00:00:08 A3Njl5W20.net
出力ファイルの拡張子はmp4かmkvじゃ駄目なの?
608:名無しさん@お腹いっぱい。
20/03/12 00:14:07 MeM3XQB80.net
ffmpeg -y -i "元ファイル.avs"
とだけ打って出力を貼り付けてください。
入力ストリームの情報をみないと、出力にどうマッピングすればいいのかわからないので・・
609:名無しさん@お腹いっぱい。
20/03/12 00:19:33 A3Njl5W20.net
書き忘れたけど出力拡張子がm4vだと>>585と同じエラー出た
610:名無しさん@お腹いっぱい。
20/03/12 01:08:22 CtjKPPcM0.net
>>585,586
だから.avsはただのファイルの拡張子であって、それはつまり「.avsの動画ファイル」という情報だけでは「.avsを拡張子とするコンテナに映像streamや音声streamが入ったファイル」としか言えない事を意味する
コンテナはただの入れ物の様式・決まり事なだけだから、当然(再生しかり変換しかり)中身を扱う時には
「中身がどういう符号化をされているか」—codecは何か—という情報が必須
あなたはずっと.avs形式のファイルとしか見えてないから、aviSynthで開くかどうかしてそのファイルのcodecを調べなさい
そう言ってるの
611:名無しさん@お腹いっぱい。
20/03/12 08:45:07 0sdkk3dM0.net
質問者はavsファイルをメモ帳なりテキストエディタで開いてみりゃいい
「どのソースにどういうフィルタを掛ける」等が書いてあるスクリプトファイルとして開けるだろうから
「avsファイルが動画プレイヤーで再生出来るからこれは動画ファイルだ」とか流石に無知にも程がある
612:名無しさん@お腹いっぱい。
20/03/12 09:38:48 qr4ljfdK0.net
つーかffmpegって*.avsファイルを扱えるの?
613:名無しさん@お腹いっぱい。
20/03/12 10:43:51 tZv+LQ/r0.net
>>592
--enable-avisynthでビルドしてあれば使えるよ。別途Avisynthをインストールしたりしておく必要もあるけど。
あとavsのコーデックを調べろと言ってる人はAvisynthのことを良く知らないようだ
614:から一応説明しておくと、 avsは確かにスクリプトファイルなんだけど、Avisynthを経由してffmpegや再生ソフト等で扱う場合は yuv420pとかpcmのRAWストリームが入ってると思えばいい。
615:名無しさん@お腹いっぱい。
20/03/12 10:48:09.49 0FuRsOt20.net
-c:v libx265
ちゃうんけhevcじゃなくて
616:名無しさん@お腹いっぱい。
20/03/12 10:59:49 tZv+LQ/r0.net
そのへんもググればあっさり出てくるのに、それができてないからなあ・・・
617:名無しさん@お腹いっぱい。
20/03/12 11:14:48 ei2YXckM0.net
>>587
拡張子を MP4 に変えたら出来ました!!
m4v がダメだったんですね??
が、iTunes に転送は出来たのですが、
「この iPhone で再生できないため、コピーされませんでした」
と言われて、iPhone に追加が出来ませんでした。
m4v は mp4 と同じらしいので エンコード後に拡張子を m4v に変えると、PC ではどちらの拡張子でも再生できるのですが、
mp4 でも m4v でも、iTunes に転送は出来ますが、iPhone で再生できないとかで、追加ができません。iPhone7 で再生できれば問題ないのですが。。
mkv を ffmpeg で作ったことはないのですが、HandBrake というソフトで、DVD から mkv を作ってみたら PC では再生でき、字幕や音声の切り替えも可能ですが、iPhone に追加ができません。
mkv を再生できるアプリは入れたんですが、iTunes に追加ができず、GoogleDrive 経由で追加を試みましたがダウンロードできない等言われ、断念しました。
618:名無しさん@お腹いっぱい。
20/03/12 13:56:03 6WEeoOwT0.net
馬鹿には無理
619:名無しさん@お腹いっぱい。
20/03/12 14:09:54 elQdk1QU0.net
YoutubeにうpしてiPhoneで見る
620:名無しさん@お腹いっぱい。
20/03/12 16:40:58.32 iWfdJHKM0.net
avsは無知で自分で調べることもできない馬鹿だけどコンピュータ使い始めなんてこんなもんだろう。
>596
iTunesはmkvコンテナは追加できないからffmpegかHandBrakeで対応コンテナに変換したらいいよ。
621:名無しさん@お腹いっぱい。
20/03/12 16:53:06 tZv+LQ/r0.net
> かれこれ10年は動画変換をやってますが、携帯動画変換君頼りで理解しないままでしたし…。
622:名無しさん@お腹いっぱい。
20/03/12 17:10:05.72 zMfu1JZE0.net
>>593,591
って事は.avsはcodec無し(って表現が良いのか知らんけど)の無圧縮データと適用する効果の情報が入った形式なのか
他の再生ソフトは無圧縮の映像・音声の再生に対応してたら再生できるって訳かな
拡張子の時点で弾くソフトも多いだろうし扱いにくいなぁ
623:名無しさん@お腹いっぱい。
20/03/12 17:53:33 xFYGxzUK0.net
avsって聞きなれないコンテナだなって思って調べたら、なんか中国で作った独自コンテナ
形式でAudio Video StandardっていうののWikiとHP見つけたけどこれのことかな
URLリンク(en.wikipedia.org)
URLリンク(www.avs.org.cn)
ffmpeg -codecsで見ると「avs」はデコーダあるけど「avs2」はVideoCodecのみって実装みたい
なのでffmpegだと変換微妙なのかな
624:名無しさん@お腹いっぱい。
20/03/12 18:06:42.27 zMfu1JZE0.net
>>602
質問者がAviSynthって言ってるからそれ関係なくこっちだと思うけど
URLリンク(i.imgur.com)
625:名無しさん@お腹いっぱい。
20/03/12 18:07:03.13 r5kfBV+R0.net
普通拡張子が.avsのファイルはAviSynthのスクリプトファイルじゃないのか?
スクリプトファイル(ただのテキストデータ)なのでテキストファイルで開くことができる
URLリンク(ja.wikipedia.org)
626:名無しさん@お腹いっぱい。
20/03/12 18:22:56.85 8yT3EHmk0.net
DVDって書いてるから映像vob+音声AC3とかをAviSynth経由で読み込んでffmpegにって事でしょ?
627:名無しさん@お腹いっぱい。
20/03/12 19:03:10.90 0sdkk3dM0.net
AviSynthがどういったモノか気になっている人もいるようなので一応書くと、
.avsはエフェクトの付加やクロップ等の簡単な編集をスクリプトファイル上で記述できる
例えば
AVISource("PATH.avi") #AVIソースとしてPATHで指定された動画ファイルを読み込み
Crop(0, 0, 416, 256) #x:0, y:0の座標から480*360pxの領域を�
628:Nリップ Histogram("Luma") #輝度の変化をヒストグラムで表示 などと.avsを書いて動画編集ソフトやメディアプレイヤーで読み込むと https://www.avisynth.info/?plugin=attach&refer=Histogram&openfile=histogram_modeluma.jpg の様な映像として出力される 中国のavsコンテナ形式云々については知らないが、 AviSynthの.avs自体は既に書かれている通りコンテナやコーデックや動画ファイル等ではなくスクリプトが書かれたただのテキストファイル 乱暴に言ってしまえばffmpegのコマンドを書き込んだバッチファイルやシェルスクリプト等とあまり変わらない
629:名無しさん@お腹いっぱい。
20/03/12 20:11:51 zMfu1JZE0.net
>>606
ffmpegに入力しても、適用する効果よしなに扱ってくれるもの?
でなければ参照先の動画ファイル直接叩いた方が良さそうだし
630:名無しさん@お腹いっぱい。
20/03/12 20:19:05 mR2WjpZh0.net
結局スクリプトファイルはコンテナを兼ねててトラックを内蔵してるの?
631:名無しさん@お腹いっぱい。
20/03/12 20:28:40.96 zMfu1JZE0.net
質問者って多分.avsは自作じゃないだろうけど
そもそも.avsで配布してる動画なんて有るんだな……ネット海は広い
632:名無しさん@お腹いっぱい。
20/03/12 20:58:23 hq1Ew8A80.net
ひょっとして最初の質問者がそもそも
中華フォーマットのavsと
編集フォーマットのavsと
判別手段すら理解できないとか混同したまま説明しているとか、そういうわけじゃないよね・・・?
ファイルの容量とか、Mediainfoとか、AviSynthとか、あるし・・・
633:名無しさん@お腹いっぱい。
20/03/12 22:03:27.33 qr4ljfdK0.net
>>593
ということ一般に公開されてるバイナリじゃ非対応の可能性があるのね
ついでに公開元みたら有効になってたからavs読み込ませたら動いたわけか
avspipemod使うより簡単・シンプルだったかもしれない
634:名無しさん@お腹いっぱい。
20/03/17 13:17:34.01 wmy15hy70.net
レス遅れてすみません。連投したせいか、書き込めなくなって代行依頼したのですが、5chが久しぶりで代行場所が違ったようです。
>>605 その通りです。
>>590 言葉足らずでしたが avs ファイルの中身は
mpeg2source("Douga.d2v")
Crop(8, 24, -8, -24)
VobSub("Douga_Eng")
VobSub("Douga_Jpn")
audio = Wavsource("Douga_Eng.wav")
AudioDub(audio)
Trim(300,4251)++Trim(5730,44703)
-------------
こんな感じで、昔どこかのサイトに書いてあったのを見て私が作っています。
元データは DVD で、VOB ファイルを DGIndex で d2v と wav に分離して 字幕は VobSub で抜き出して位置を変えて(このままだと字幕が重なってしまうので)載せています。
全てサイトに書いてあったことで、あまりメジャーなやり方でないらしいことは以前にも 5ch で質問したことがあって、知っていました。
mp4 → mp4 のやり方は載っているのに、*.avs ファイルからのやり方がないので、avs が読み込めないのか、H265 がダメなのか他に何がいけないのか、分かりませんでした。
以前の Win7+変換君 で h264 を作ってから、h265 で再圧縮をかけることも出来たかもですが、どうせ元データがあるんだから、元データから綺麗に変換したかったんです。
拡張子を m4v でなく、mp4 とすることで解決できたので、iPhone への転送も、GoogleDrive 経由でもう一度やったら出来たので、一応解決したと思います。
ありがとうございます。
ffmpeg -y -i 元ファイル.avs -vcodec hevc -preset placebo 完成ファイル.mp4"
で、今はエンコードしてますが、いろいろオプションを変えて試してみて、エンコード時間や、ファイルサイズ、映像等の最適を見つけてから、VOB ファイル削除したいと思います。
質問の仕
635:方がおかしくて申し訳なかったですが、ここで聞いたおかげで無事解決したので、レスくださった方々、ありがとうございました。
636:名無しさん@お腹いっぱい。
20/03/17 13:26:29 Vu+noQXf0.net
>>612
> ffmpeg -y -i 元ファイル.avs -vcodec hevc -preset placebo 完成ファイル.mp4"
-preset placebo は無駄に重いだけのプリセットだから、veryslowかslowerでいいんじゃないかな。
637:名無しさん@お腹いっぱい。
20/03/17 14:19:02.50 78DzOs520.net
>>612
こんな感じに.d2v、2つの.vob、WAVEをffmpegで直接がっちゃんこできないのかな
その方が手っ取り早いけども
URLリンク(okamurax.com)
638:名無しさん@お腹いっぱい。
20/03/17 14:27:59.46 uA2/gOTL0.net
もちろんavsを経由する必要はまったくない
ちょっと勉強が必要だけどね
639:名無しさん@お腹いっぱい。
20/04/02 22:07:57 GKIvFbTZ0.net
3月上旬の変更で、NVDECとNVENCを使ったフルHWトランスコードのコマンドが変更されてるので注意。
一応以前の -hwaccel cuvid -c:v h264_cuvid -i ~ の指定でも動くのだけど警告が表示されるようになってる(はず)。
環境持ってないから試せてはいないし、個人的にはこれをこのまま定着させていいんだろうかという疑念もあるのだけど。
【NVENC/VCE】ハードウェアエンコーダーを語るスレ4【QSV】
スレリンク(avi板:482番)-497
URLリンク(trac.ffmpeg.org)
ところで、ffmpeg.exe -hwaccels で qsv が2回出てくるのはなんでなんだろう?
---
ffmpeg version git-2020-03-30-8d019db
~
Hardware acceleration methods:
cuda
dxva2
qsv
d3d11va
qsv
640:名無しさん@お腹いっぱい。
20/04/03 06:09:29.59 exz5ccR10.net
-c:v hevc_nvenc
だけで困ってないけどな
最新のだと違う?
641:名無しさん@お腹いっぱい。
20/04/03 09:58:11.95 E3s0RC0B0.net
>>617
-c:v hevc_nvenc は、HWエンコーダの呼び出し。
ただ、HWエンコードの性能をフルに引き出そうとする場合、デコード処理がボトルネックになることがある。
一番いいのは、
・デコード処理もHWで行う
・HWデコードした結果をGPUにそのまま置いて、HWエンコーダに渡す
という形にして、デコードからエンコードまで全てをGPU側で行うこと。(ただし入力ソースがHWデコードできる場合のみ)
そのために使うのが -hwaccel で、従来は
ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i h264.mp4 -c:v hevc_nvenc output.mp4
という書き方をしていればよかったんだけど、3月頭の変更で、
ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -i h264.mp4 -c:v hevc_nvenc output.mp4
というコマンドが推奨されるようになった。(一応前者のコマンドも動くけど警告が出るようになった)
というのが>>616のリンク先の内容。
特に速度とか求めない場合は別に -c:v hevc_nvenc の指定だけでも別に問題ない。
あとCPUを使うフィルタ処理とかを挟むなら、また別の工夫が必要になる。
そのあたりについてはNVIDIAの解説を読むといい。
NVIDIA FFmpeg Transcoding Guide | NVIDIA Developer Blog
URLリンク(devblogs.nvidia.com)
642:名無しさん@お腹いっぱい。
20/04/03 13:14:31 MJxJVgdS0.net
デコードコマンドに-c:v XXXX_cuvid付けた方が速い気がするんだけど。俺環かな?
4月1日ビルド品。約100fps位差が出る。
ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -c:v XXXX_cuvid
643:名無しさん@お腹いっぱい。
20/04/03 20:02:26 ou+7MR/P0.net
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i video.mp4 -an -f null -
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -c:v h264_cuvid -i video.mp4 -an -f null -
特に変化なし。GT1030
644:名無しさん@お腹いっぱい。
20/04/03 20:32:01 exz5ccR10.net
エンコードの方が遥かに重いんだから、デコードがボトルネックに�
645:ヘならんだろ
646:名無しさん@お腹いっぱい。
20/04/03 20:50:19 YWzuD0l90.net
まあ説明も書いたし参考リンクも示したし、その上で君がそう考えるんなら別にそれでいいんじゃないの。
647:名無しさん@お腹いっぱい。
20/04/03 20:55:36 MJxJVgdS0.net
Ryzen7 3800Xと1660Sの組み合わせだと、SWデコードの方が速いですよ。
648:名無しさん@お腹いっぱい。
20/04/03 21:36:24 YWzuD0l90.net
たしかに環境や条件次第というのはあるかもしれない。自分も細かく把握してるわけじゃない。
649:名無しさん@お腹いっぱい。
20/04/03 23:15:06 ieXBOV610.net
HWでリサイズなどのフィルタリングも行えば早いとかそっちでしょ
(早いというかCPUとやり取りするよりシンプルに自己完結する)
650:名無しさん@お腹いっぱい。
20/04/04 00:15:35 heofmNEz0.net
環境とか入力ファイルの解像度等の情報とか具体的なコマンドラインとかも出てる比較があるなら見たいところではある。
651:名無しさん@お腹いっぱい。
20/04/04 00:18:27 FRUSMnjN0.net
すごく初歩的な質問になるんですけど-vfでアンシャープとインターレース解除の2つの処理をする場合
1つの-vfで2つの処理をまとめることはできますか?
652:名無しさん@お腹いっぱい。
20/04/04 01:33:45 RXTyG+060.net
最初に書いてるものから適用されたような
653:名無しさん@お腹いっぱい。
20/04/11 16:51:25 nj5ljxb00.net
>>590
言葉足らずですみません。avs ファイルの中身は
mpeg2source("Douga.d2v")
Crop(8, 24, -8, -24)
LanczosResize(304, 192)
AddBorders(8, 24, 8, 24)
FieldDeinterlace()
VobSub("Douga_Eng")
VobSub("Douga_Jpn")
audio = Wavsource("Douga_Eng.wav")
AudioDub(audio)
Trim(300,4251)++Trim(5730,44703)
--------
こんな感じで、昔どこかのサイトに書いてあったのを見て私が作っています。
元データは DVD で、VOB ファイルを DGIndex で d2v と wav に分離して 字幕は VobSub で抜き出して載せています。
言われたことを忠実にバカの一つ覚えみたいに実行してるだけで Avisynth や ffmpeg の文法は全然理解していません。
動画や音声の仕組み等も全然分かっていません。
以前使ってた Win7+携帯動画変換君 の環境で H264 で mp4 を作ってから H265 で変換しても出来るのかもしれませんが、
せっかく綺麗な元データがあるので、VOB から H265 で綺麗に変換してから、VOB を消したいと思うんです。
654:名無しさん@お腹いっぱい。
20/04/11 17:12:19 1fCgMXm20.net
なにがどうなってる
655:名無しさん@お腹いっぱい。
20/04/11 18:12:24 Hnq5gygW0.net
よくわからんが、もう解決したという話なんだし放っておけばよろしい。
656:名無しさん@お腹いっぱい。
20/04/12 03:25:38.40 x/ikJ5x70.net
>>629
その内容ならいくつか言える事が増えるね
まずVOBファイルの(というかVOBはMPEG-2 PSの別名みたいなもので)中身はおそらく映像がMPEG-2、音声も適当なコーデックで入ってる(これはMPEG-2 PSの規格で決まってる)
字幕は珍しい変わった形
つまりは音声を変換無しにコピー、映像に字幕を焼き付けて変換して任意のコンテナに入れてやれば良い
あなたのやり方はかなり遠回りじゃないかな
以下のやり方は試してないから後は何とかして
-analyzeduration 120M -probesize 120M
-ifo_palette 'VTS_01_0.IFO'
-i "concat:'VTS_01_1.VOB'|'VTS_01_2.VOB'|'VTS_01_1.VOB'|<……ある数だけ>"
-filter_complex '[0:1][0:4]overlay[outVideo]'
-map [outVideo] -codec:v <映像コーデック>
-map 0:2 -codec:a copy
'出力.<コンテナに合わせた拡張子>'
<VOBファイル>/VIDEO_TS/以下に各入力ファイルあるはず
フィルタと-mapのstream指定子で指定するstreamは自分で確認すること:URLリンク(qiita.com)
参考:URLリンク(qiita.com)
657:名無しさん@お腹いっぱい。
20/04/12 11:24:42.73 FL0rVnZh0.net
>>632
>>629は1か月前の>>612とほぼ変わらん内容だし、当人は>>585にもあるように10年動画変換やって何も進歩する気のない人だから
多分そんな試してないコマンドや解説を提供しても・・・いやこれ以上は言わんけども。
658:名無しさん@お腹いっぱい。
20/04/12 11:38:54.43 9tJ3Fm530.net
色々フィルタやらなんやらでエンコ試行するならAVIベタ落とししたほうがいいんじゃねと思ってみたりするのはもう思考が古いのかなと不安になるの図
659:名無しさん@お腹いっぱい。
20/04/12 12:00:08 x/ikJ5x70.net
>>632のconcatプロトコルの2つ目のパイプ直後は'VTS_01_3.VOB'だった
>>633
確かに
まぁ後学にもなると覚え書きに思っとく
660:名無しさん@お腹いっぱい。
20/04/12 12:07:34 x/ikJ5x70.net
>>634
全然問題ないだろうし、むしろそっちが主流だと思う
ただAVIコンテナって他環境の標準規格でもないし、MP4とかMPEG-2システムに格納するのが丸い
あと字幕streamの表示機能が無い環境向けに、映像に焼き付ける需要はかなりあるね
661:名無しさん@お腹いっぱい。
20/04/12 18:12:30.14 x/ikJ5x70.net
連投ごめん、1つ質問頼む
評価式で色々処理したいから、何か修正できる箇所あれば教えてください
-i 入力音声 \
-af "silencedetect=noise=-60dB:duration=0.1,ametadata=mode=print:key=lavfi.silence_start:function=expr:expr='0'" \
-f null \
'pipe:1'
これで評価式が常に0だからログにmetadataは出力されないはずなのに、何故か出力されてしまう
function=equal:value=<てきとーな値>ならログに出力されないし、value=<一致する値>ならログに出力されるからametadata自体はちゃんと動作してるみたい
662:名無しさん@お腹いっぱい。
20/04/12 21:34:31.28 x/ikJ5x70.net
>>637の追記
この後mode=printとfunction=exprとexpr=print(<ここ色々変える>)、で試したけど(a)metadataでの評価式自体が機能してないっぽい
オープンソースと言っても内部処理には明るくないし、どこに報告すれば良いんだろうか
663:名無しさん@お腹いっぱい。
20/04/12 22:21:47.88 qep594pP0.net
URLリンク(trac.ffmpeg.org)
チケット作って報告して
664:名無しさん@お腹いっぱい。
20/04/12 23:35:28.56 x/ikJ5x70.net
>>639
ありがとう
>>375の時の報告と修正履歴あったよなーと探してたんだけど、正しくそれと同じだった
URLリンク(trac.ffmpeg.org)
URLリンク(git.videolan.org)
今度拙い英語で頑張ってみる
665:名無しさん@お腹いっぱい。
20/04/14 20:57:47 Q6hJxpCl0.net
>616
直った
URLリンク(git.videolan.org)
666:名無しさん@お腹いっぱい。
20/04/14 22:03:23 BHzKk81k0.net
>>641
おお、ありがとう
667:名無しさん@お腹いっぱい。
20/04/15 18:45:53 Ji1CGUp20.net
覚え書き:音声の入りと結びの(完全に信号強度が0の)無音切り詰め
-af 'silenceremove=start_periods=1:start_duration=0:start_threshold=0:stop_periods=1:stop_duration=0:stop_threshold=0:detection=peak'
668:名無しさん@お腹いっぱい。
20/04/19 16:05:59 rA1+8IfI0.net
覚え書き:音声のサンプル単位で「1~48000サンプル目」+
669:「48001~96000サンプル目の反復3回」+「96001~144000サンプル目」を結合 end_sampleを省略で入力の始めから、start_sampleを省略で入力の終わりまで -filter_complex '[0:a]atrim=start_sample=0:end_sample=48000[opening]; [0:a]atrim=48000:end_sample=96000,aloop=loop=2:size=2.14748e+009:start=0[3repeats]; [0:a]atrim=start_sample=96000:end_sample=144000[ending]; [opening][3repeats][ending]concat=n=3:v=0:a=1,asetpts=PTS-STARTPTS'
670:名無しさん@お腹いっぱい。
20/04/21 02:10:50 IeUqCPV00.net
今からffmpegをビルドしようと思ってるけど、ビルド方法が多過ぎて、正解はどれなのか分からない・・・
671:名無しさん@お腹いっぱい。
20/04/21 02:20:50 IeUqCPV00.net
msys2とmingw使う方法だけでなく、最近はwsl入れてffmpeg-windows-build-helpers使ってビルドする方法もあるからややこしい
672:名無しさん@お腹いっぱい。
20/04/21 04:30:01.03 qNQ72vIS0.net
どんな用途か知らんけどffmpeg単体で使いたいだけならLinux向けにビルドしてWSLで使ったほうが楽かもね
673:名無しさん@お腹いっぱい。
20/04/21 07:58:38.44 3Q3WudrR0.net
GPLの制約でソース公開してるだけで、ビルドできるとは言ってない
674:名無しさん@お腹いっぱい。
20/04/21 10:20:50 8biuLANL0.net
>>647
fdk-aacを使ってみたいからさ
675:名無しさん@お腹いっぱい。
20/04/21 10:36:15 CdPIDvJw0.net
>>645
自分はこれを使ってビルドしてる。
m-ab-s/media-autobuild_suite:
This Windows Batchscript helps setup a MinGW compiler environment for building ffmpeg and other media tools under Windows.
URLリンク(github.com)
いくつか質問に答えるだけで、ビルド環境も自動で構築してくれるし、関連ライブラリも自動で引っ張ってきてくれる。
必要機能のON/OFFもffmpeg_options.txtに--enable-libfdk-aacなど必要なものを指定しておけばいいだけ。
ついでに必要ならx264やx265などのバイナリもビルドできるし、ビルド環境はAviUtlのL-SMASH Worksのビルドとかにも流用できるし便利。
676:名無しさん@お腹いっぱい。
20/04/21 13:12:33 QTrNIPym0.net
バイナリ拾ったほうが楽
URLリンク(johnvansickle.com)
677:名無しさん@お腹いっぱい。
20/04/21 13:24:35 3Q3WudrR0.net
問題はaac
678:名無しさん@お腹いっぱい。
20/04/21 13:58:46 CdPIDvJw0.net
HEv2を使いたいというなら別だけど、AAC-LCでいいなら今は音に変態的なこだわりでも持たない限り
ビルトインのaacエンコーダでも十分らしいからなぁ・・・
679:名無しさん@お腹いっぱい。
20/04/21 15:27:32 MTpnp3A90.net
aacはサ行音に問題がある
680:名無しさん@お腹いっぱい。
20/04/21 18:04:27 +fACwI410.net
これからはAV1かH.265とOpusの時代だろうし早くAAC使わなくて良いようになってくれれば……
681:名無しさん@お腹いっぱい。
20/04/21 18:23:50 tIKEq/0n0.net
Opusは48kHz以外ネイティブ対応していないので、
今以上に普及するとは思えない
682:名無しさん@お腹いっぱい。
20/04/21 20:18:31 +fACwI410.net
完成品の音声ファイルの周波数に48kHz超えは不要だから、不可逆圧縮のコーデックとしては標準になると思うけどなぁ
制作過程ならより高い周波数・深度の需要あるけど、可逆圧縮/無圧縮で運用するだろうし
URLリンク(qiita.com)
683:名無しさん@お腹いっぱい。
20/04/21 20:41:38 3Q3WudrR0.net
上の話?
44.1kHzが使えなくて不便という話かと
684:名無しさん@お腹いっぱい。
20/04/21 22:22:01.10 +fACwI410.net
>>658
そう
48kHzで表現されるだけだから不便って事も無くない?
エンコーダは一定間隔で標本をだぶらせるんじゃなく、間の波形から変換して音も変わらない
685:訳だし
686:656
20/04/21 22:22:38.53 m51wyj+50.net
うん、そのつもり。
44.1kHzがネイティブで選択できないと、
音楽音源がかなりの割合でサンプリングレートコンバーターのお世話になることに。