X



ffmpegならこちらへ 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
垢版 |
2017/02/21(火) 22:04:57.35ID:8J7qip0G0
公式サイト
http://ffmpeg.org/

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

ffmpegならこちらへ 2
http://potato.2ch.net/test/read.cgi/software/1420916868/
0495名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 12:22:13.04ID:QGievQM+0
>>493
感謝!
libassは考慮していませんでした。早速以下の通りに導入。

■ffmpeg入れ直し
$ ./configure --enable-libass --extra-ldflags="-L/usr/local/lib"

■共有ライブラリ参照
$ sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local-lib.conf'
$ ldconfig -v
$ ldd /usr/local/bin/ffmpeg | grep libass
libass.so.9 => /usr/local/lib/libass.so.9 (0x00007f17042ec000)

■ffmpeg実行中に動作確認
$ sudo lsof -c ffmpeg |grep libass
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
ffmpeg 11375 XXXX mem REG 253,0 913872 1966566 /usr/local/lib/libass.so.9.0.1

しかし、残念ながら結果は変わらず。。。
試しにコピーモードで変換しても、subtitlesがdataに変わってしまう。
0496名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 20:48:55.29ID:2MLusD+G0
ノイズがひどい動画のデノイズをしようとニコラボさんを参考に
ffplay -i input -vf "split=3[0][1][2];[0]sobel=1,lutyuv=255-gt(val¥,250)*255:128:128[0a];[1]hqdn3d[1a];[1a][0a]alphamerge[10];[2][10]overlay"
としてみるも、エッジ抽出でノイズを拾ってしまいます
0498名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 21:14:28.14ID:9bUiwaXz0
>495
-vn -an -map s:0 -scodec ass -ass_raw_mode 1 -f data output.ass
これで字幕だけ出力できるかどうか
>496
エッジ保持しながらデノイズするなら unsharp または smartblur を使うのが手軽
0499名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 21:34:09.45ID:QGievQM+0
>>498
ありがとうございます!
抽出はできました。ファイルの中身もOKです。
ということは、1コマンドで字幕付きで直接アウトプットする過程でダメになってしまうんですね。。。

$ ffmpeg -i 2040_20180214072600.ts -vn -an -map s:0 -scodec ass -ass_raw_mode 1 -f data output.ass
…snip…
video:0kB audio:0kB subtitle:9kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

$ ffprobe output.ass
ffprobe version n3.3-26-gb68f0b9b3b Copyright (c) 2007-2017 the FFmpeg developers
built with gcc 7 (GCC)
configuration: --enable-libass --extra-ldflags=-L/usr/local/lib
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
Input #0, ass, from 'output.ass':
Duration: N/A, bitrate: N/A
Stream #0:0: Subtitle: ass
$ file output.ass
output.ass: UTF-8 Unicode text
0500名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 22:07:54.12ID:pYG8WGD90
>>495 >>499
ASS字幕の様なレイアウト機能有りの字幕トラックはmp4には規定されてないから単なるデータとして保持してるんじゃないかな

SRT字幕はTimed Text形式として字幕トラック化できる(ffmpegで出来るかは試してないがmp4boxで出来る事なので"できる"としておく)
ffmpeg内でISDB字幕⇒Timed Text形式でmp4に格納、が出来るのかは内部処理見てないから分からないが
ASS以外のフォーマット指定ならどうなるか確認

あとは、mkvコンテナであればASS字幕も字幕トラックとして扱える
もしくは .mp4/.ass と外部字幕として分けて保持するのが無難 (テキストいじれて後調整が利く)
0502名無しさん@お腹いっぱい。
垢版 |
2018/02/14(水) 23:46:37.22ID:QGievQM+0
>>500
感謝!!
ご指摘のとおり、mp4→mkvに出力ファイルを変更してみました。

$ ffmpeg -c:s isdbsub -vaapi_device /dev/dri/renderD128 \
-hwaccel vaapi -hwaccel_output_format vaapi -y -i "2040_20180214072600.ts" \
-filter_complex "format=nv12|vaapi,hwupload,deinterlace_vaapi,scale_vaapi=w=300:h=-1" \
-c:v h264_vaapi -qp 27 -map s:0 -scodec ass -ass_raw_mode 1 -an \
-f matroska "output.mkv"
$ ffprobe "output.mkv"
…snip…
Stream #0:1: Subtitle: ass (default)
結果、字幕と認識されました!
ただし、vlcなどのプレーヤーでも字幕は表示されませんでした。
他ソフトでも表示はできませんが、プレーヤー機能から字幕の内容は取り出せます。

$ /usr/bin/wine /usr/local/bin/Caption2AssC_x64.exe output.mkv
[Source] output.mkv
[Target] output.mkv
[Format] ass
Invalid TS File.
惜しいところまで行きました。
外部字幕として分けて保持するのが無難のようですかな。
0504名無しさん@お腹いっぱい。
垢版 |
2018/02/15(木) 00:21:17.36ID:OMQPjeoH0
>>502
mkvでいいなら、

最初にmp4コンテナで作成(映像・音声)
→mkvtoolnix(mkvmerge)で別途抽出した字幕をマージしてmkvコンテナ作成
で、ほぼ全てのmkvパーサー(VLC含む)で字幕を再生できるよ

ffmpegでもできるんだけど、やや互換性に難がある印象。
0505名無しさん@お腹いっぱい。
垢版 |
2018/02/15(木) 00:53:18.34ID:CvKsYjmO0
>>502
>ただし、vlcなどのプレーヤーでも字幕は表示されませんでした。
>他ソフトでも表示はできませんが、プレーヤー機能から字幕の内容は取り出せます。

・VLCの字幕メニューから字幕トラックを指定したら表示されるというオチは無いか?

・他のソフトって何を試したんだ?

> $ /usr/bin/wine /usr/local/bin/Caption2AssC_x64.exe output.mkv
> ・・・
> Invalid TS File.

よく知らんがCaption2AssってMPEG-TSから字幕を取り出すツールであってmkvに使えるものじゃないのでは?
0506名無しさん@お腹いっぱい。
垢版 |
2018/02/15(木) 11:50:40.98ID:2vUw3R580
>>505
返答ありがとう。

> ・VLCの字幕メニューから字幕トラックを指定したら表示されるというオチは無いか?
>
そのオチではないですよ。何回も確認した。

> ・他のソフトって何を試したんだ?
>
他にはPotPlayerとKMPlayer。その2つなら「字幕ブラウザー」「字幕エクスプローラー」で字幕の中身を表示できる。
蛇足ですが、2つとも字幕表示を動画領域表示外の余白領域に表示できるので、元のテロップに被らないところが優位点。

> よく知らんがCaption2AssってMPEG-TSから字幕を取り出すツールであってmkvに使えるものじゃないのでは?
そうだった。いつもTSファイルから抽出していました。
0507名無しさん@お腹いっぱい。
垢版 |
2018/02/15(木) 12:10:21.10ID:2vUw3R580
続きです。

ffmpegで抽出したassファイルをmkvファイルにマージしようとしたところエラーで失敗。
ffmpeg -y -i temp/2040_20180214072600.mkv -i 2040_20180214072600_HD.ass -c:s mov_text -c:v copy -c:a copy -map 0:v -map 0:a -map 1:0 -metadata:s:s:0 language=jpn -f matroska output.mkv
...snip...
[matroska @ 0x2705e60] Subtitle codec 94213 is not supported.
av_interleaved_write_frame(): Function not implemented
Error writing trailer of output.mkv: Function not implemented

代替策で以下のやり方ならうまくいきました。各種プレーヤーで表示もばっちり。
1. wine /usr/local/bin/Caption2AssC_x64.exe 〜
assファイルを抽出
2. ffmpeg 〜 -f matroska temp/2040_20180214072600.mp4
字幕無しのmp4ファイル作成
3. ffmpeg -y -i temp/2040_20180214072600.mp4 -i "temp/2040_20180214072600.ass" \
-c:s mov_text -c:v copy -c:a copy -map 0:v -map 0:a -map 1:0 -metadata:s:s:0 language=jpn \
./2040_20180214072600.mp4"
字幕をマージ
以上

mkvtoolnix(mkvmerge)の紹介もありがとう。こちらもオプションが多くて多機能ですね。
まとまった時間ができたらトライしてみます。
最終的には保管目的で、CMカット&字幕付きで変換できることが目標です。
0508名無しさん@お腹いっぱい。
垢版 |
2018/02/15(木) 14:31:43.81ID:PQUQY0VS0
>>498
hq3dで7以上、nlmeansで10をかけなきゃならんくらいひどいから
アンシャープ→デノイズだとノイズは残ったまま
デノイズ→アンシャープだとエッジは潰れたまま
0509名無しさん@お腹いっぱい。
垢版 |
2018/02/15(木) 14:39:08.52ID:62FUj//u0
>>507
> ffmpegで抽出したassファイルをmkvファイルにマージしようとしたところエラーで失敗。
> ・・・ -c:s mov_text ・・・
> [matroska @ 0x2705e60] Subtitle codec 94213 is not supported.

エラーの内容を見れば原因は一目瞭然だろ。なんでmkvなのにmov_textを指定してるんだ。
>>500が「mkvコンテナであればASS字幕も字幕トラックとして扱える」と書いてくれてるのに。
0510名無しさん@お腹いっぱい。
垢版 |
2018/02/15(木) 16:09:51.30ID:2vUw3R580
>>509
ご指摘大変ありがとう。やり直してみた。

$ ffmpeg -y -i output.mkv -i output.ass \
-c:s ass -c:v copy -c:a copy -map 0:v -an -map 1:0 -metadata:s:s:0 language=jpn \
-f matroska output2.mkv

これでプレーヤーで字幕表示できました。
色々助けていただき感謝!!
0511名無しさん@お腹いっぱい。
垢版 |
2018/03/02(金) 05:03:21.80ID:1QlKnswC0
ちょっと知っている人がいたら教えてください。
Ffmpeg ver2,2 で、音声波形が一枚の画像でとれるコマンドは、ありますか?
コマンド名だけでも教えてくれると、ありがたいのですが。
0512名無しさん@お腹いっぱい。
垢版 |
2018/03/02(金) 23:57:29.97ID:8my2/mXE0
おそらく2.2 に限定しなければあるが
ttps://git.videolan.org/?p=ffmpeg.git;a=blob;f=Changelog#l472
以下にいくつかあるので試せれば
ttps://ffmpeg.org/ffmpeg-filters.html#Multimedia-Filters
0514名無しさん@お腹いっぱい。
垢版 |
2018/03/04(日) 05:43:49.10ID:gdi8Uafx0
>>512
511です。変更履歴の情報ありがとうございます。
確かに2.2では難しそうなので、他の方法を考えてみます。
0515名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 00:04:39.30ID:Wu2g8Dly0
Windowsでlibvmafを有効にしたffmpegが使いたくて色々探してたら自動ビルドスクリプトがあった。
 https://github.com/jb-alvarado/media-autobuild_suite

説明どおり、ダウンロードしてmedia-autobuild_suite.batを実行して色々な質問に答えたら、
あとは自動でMSYS2環境を作って、必要なライブラリや実行バイナリをビルドしてくれる。

自分はlibvmafが使いたいだけだったので--enable-avisynth --enable-libvmafの
ffmpegだけビルドするようにしたけど、質問に適切に答えればx264やx265などもビルドしてくれる模様。
実行前にmedia-autobuild_suite.batの中身を見て質問内容とかを確認しておくといいと思う。

"Choose ffmpeg and mpv optional libs:"の質問で1(Yes)にすると、
build\ffmpeg_options.txt、buld\mpv_options.txtが生成されて
そこで有効にしたい機能を選べるのだけど、ffmpegだけほしいという場合でも
ffmpeg_options.txtだけでなくmpv_options.txtも見て、不要なものは無効にしておくこと。
そうじゃないとmpv用ライブラリのビルドが入ってしまい、無駄に時間がかかる。
(mpv自体をビルドしないようにする質問もあるのだけど、これでNoにしておいても
 なぜかmpv_options.txtを見てmpv用ライブラリのビルドにいってしまう模様。)
0517名無しさん@お腹いっぱい。
垢版 |
2018/03/14(水) 01:44:48.55ID:+sUERpBc0
8bitのyuv420p.mp4と、10bitのyuv420p10le.mp4があり、SSIMの計算をしたいと考えています。

 8bit,10bitの順で渡す(yuv420pで計算される)
 ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "ssim" -an -f null -
  →0.922619

 10bit,8bitの順で渡す(yuv420p10leで計算される)
 ffmpeg.exe -i yuv420p10le.mp4 -i yuv420p.mp4 -filter_complex "ssim" -an -f null -
  →0.924664

これをyuv444p16leで計算させたいのですが、うまくいきません。

●-pix_fmt yuv444p16leを指定してみる
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -pix_fmt yuv444p16le -filter_complex "ssim" -an -f null -
 →0.922619となり、SSIMの計算には影響を与えていない。

●scaleでyuv444p16leに変換してからssimに渡す
set destFmt=yuv444p16le
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "[0:v]scale=flags=+print_info:dst_format=%destFmt%[s0];[1:v]scale=flags=+print_info:dst_format=%destFmt%[s1];[s0][s1]ssim" -an -f null -
 →クラッシュしてしまう。yuv422pやyuv444pも同様。

●yuv420しかダメなのかなということで妥協してscaleでyuv420p16leに変換してからssimに渡す
set destFmt=yuv420p16le
ffmpeg.exe -i yuv420p.mp4 -i yuv420p10le.mp4 -filter_complex "[0:v]scale=flags=+print_info:dst_format=%destFmt%[s0];[1:v]scale=flags=+print_info:dst_format=%destFmt%[s1];[s0][s1]ssim" -an -f null -
 →値が0.049253と異様に低くなってしまう

どうすればうまくいくでしょうか。
試したバイナリはZeranoe版の3.4.1-win64-staticと20180313-688060f-win64-staticです。
0518名無しさん@お腹いっぱい。
垢版 |
2018/03/14(水) 22:08:37.44ID:L5LjhPTZ0
おそらく異なるビット深度で比較しているからエラーが出るのかと。
入力の時点でビット深度を揃えた方がよさそう。
ffmpeg.exe -f lavfi -i movie=yuv420p.mp4,format=yuv444p16le -f lavfi -i movie=yuv420p10le.mp4,format=yuv444p16le -filter_complex "ssim" -an -f null -

けどこういう意見もある
ffmpeg フレームごとのSSIMをリアルタイムで表示してみる - 脳内メモ(アドレスが貼れない
今のところffmpegのssimフィルタは8bit/チャンネルのフォーマットのみ対応で10bitや16bitは内部で8bitフォーマットに変換されてから計算されます。もっとも10bitの末尾2bit分の違いで現れる数値に意味があるかは疑問ではあります。
0519名無しさん@お腹いっぱい。
垢版 |
2018/03/14(水) 22:56:52.12ID:CV3gLgJE0
CPUの違いで結果に差が出るもんですか?
i7 2600とi3 2100の環境で同ソース、同パラメータでサイズが数十MBも違うファイルが出来たんですが
0520名無しさん@お腹いっぱい。
垢版 |
2018/03/14(水) 23:06:18.60ID:UhJiZh1I0
>>518
できました!ありがとうございます。 -f lavfi -i movie=〜 という入力手法は知らなかったので勉強になりました。
1つ難があるとしたら、movie=で渡すファイル名やパスのエスケープが必要ってとこですね。
色々試していて
 ffmpeg.exe -i yuv420p.mp4 -strict -1 -pix_fmt yuv444p16le -f yuv4mpegpipe - | ffmpeg.exe -i - -i yuv420p10le.mp4 -filter_complex "ssim" -an -f null -
という、やや回りくどい方法も思いついたのですが、どちらを使うか少し考えてみようと思います。

なお 8bit以上の深度でのSSIM計測には、その記事が出た後の2016年12月に対応していて、
2017年7月初頭にバグ修正もされたので、それ以降のバージョンであれば問題なさそうです。
0522名無しさん@お腹いっぱい。
垢版 |
2018/03/16(金) 14:28:06.28ID:tQ954ep40
SponsoringPrograms/GSoC/2018 - FFmpeg
https://trac.ffmpeg.org/wiki/SponsoringPrograms/GSoC/2018

Google Summer of Code 2018のリストが来てたのね。
面白そうなものもあるし、頑張ってほしい。

Mentored Projects
 ・Cineform improvements
 ・DICOM support
 ・HEIF support
 ・MPEG-4 ALS codec improvements
 ・Super Resolution filter
 ・360° video filter
 ・Motion search on the GPU using Vulkan
 ・Video filtering with OpenCL
 ・Replacement for ffserver

Unmentored Projects
 ・VC-1 interlaced
 ・JPEG 2000
0523名無しさん@お腹いっぱい。
垢版 |
2018/03/24(土) 14:36:06.50ID:3Dc82Uip0
libopusやlibvorbisで音声をダウンミックスせずにマルチチャンネル(5.1ch)のままエンコードするには
どうしたら良いのでしょうか?
0524523
垢版 |
2018/03/24(土) 14:42:08.41ID:3Dc82Uip0
-ac 6にしたら5.1chでエンコードできました。自己レスですみません。
ところで、-acを明示せずに変換元の音声に応じて自動的に2chエンコや6chエンコ
するようにしたいのですが、ffmpegは-ac未指定だと2chにダウンミックスしてしまうよう
なんですが、なにかいいお知恵があれば拝借したいのですが。
0525名無しさん@お腹いっぱい。
垢版 |
2018/03/24(土) 14:55:50.37ID:2xa7zQKB0
>>524
ffprobeを使えばchannelsとかchannel_layoutが取れるから、
それを取得してffmpegの引数に利用するバッチを書くといいのでは。
0531名無しさん@お腹いっぱい。
垢版 |
2018/03/26(月) 10:44:41.15ID:dlG1YL+a0
公式ビルドのffmpeg3.4.2でlibx264でエンコードするとなぜか画質がとんでもなく悪くなる。ブロックノイズどころか、ブロックの塊みたいになってマトモに視聴できないレベル

ビットレートを上げていって、10000でもかなり悪く、30000とかいうアホみたいな数値にするととかなり良くなった。HWエンコード(AMF)を使うとノイズはやはり多いけどブロック状にはならない

気になるのがHandBrakeでx264を使うとfpsが20弱で画質は綺麗なのに、ffmpegでx264を使うとfpsがなぜか60くらいまで上がること。原因がわかる人いない?前までこんなことはなかった
0533名無しさん@お腹いっぱい。
垢版 |
2018/03/26(月) 16:32:16.38ID:dlG1YL+a0
すまない。自己解決した。コマンドを書き込もうとしたらビットレートにkを付けるのを忘れてたことに気付いただけだった。本当に申し訳ない
0534524
垢版 |
2018/03/26(月) 17:41:59.67ID:QUiCbzKr0
>>525
レスありがとうございます。その方法でやってみます。
0543名無しさん@お腹いっぱい。
垢版 |
2018/04/02(月) 10:28:27.59ID:AXnhTdnS0
arib-ts2assを使ってmkvファイルに字幕をつけると字幕のフォントや大きさが
tsファイルのarib字幕と異なてしまうのですが、仕方がないのでしょうか?
arib-ts2assで生成されるassファイルを見るとMS UI Gothicを指定しているのですが、
当方の環境はLinuxでサブ機のWin7から一時的にMS UI Gothicを借りてきて/usr/local/fonts
以下に放り込んだのですが、mkvのass字幕のフォントや大きさは変わりませんでした。
tsのarib字幕ってどんなフォントを使ってるんですか?

https://github.com/johnoneil/arib
arib-ts2ass
0545544
垢版 |
2018/04/02(月) 10:47:00.39ID:AXnhTdnS0
どうもtsファイルのarib字幕はvlcのsubtitleの設定に従ってくれるようです。
assだとvlcの設定を無視するみたいです。
0546名無しさん@お腹いっぱい。
垢版 |
2018/04/02(月) 11:21:49.51ID:AXnhTdnS0
assから変換したsrtファイルを埋め込んだmkvでもvlcの字幕の設定は反映されませんでした。
srtファイルにフォントや大きさなどがしてされているからのようですが。
0547名無しさん@お腹いっぱい。
垢版 |
2018/04/02(月) 13:52:40.05ID:CqkMQkHJ0
ffmpegニキヘルプミー

EPGstationというTV予約・録画ソフトにライブ配信機能があってffmpegが使われてるんだが、
PCが非力すぎてデフォルトのエンコードオプションでFPS14程度しか出ない。
それでQSVを使いたいけどもうまくいかない。

デフォルトのオプション
%FFMPEG% -re -dual_mono_mode main -i pipe:0 -c:a aac -ar 48000 -ab 192k -ac 2 -c:v libx264 -s 1280x720 -vf yadif -preset veryfast -aspect 16:9 -vb 3000k -f mpegts pipe:1

考えたオプション
%FFMPEG% -init_hw_device qsv:hw -re -dual_mono_mode main -i pipe:0 -global_quality 30 -c:a aac -ar 48000 -ab 192k -ac 2 -c:v h264_qsv -preset veryfast -vcm 1 -look_ahead 0 -vf yadif -f mpegts pipe:1

これをvlcで再生しようとするとエラーでうまくいかない。
何が間違ってるのか、どうしたらいいのかわかる人教えてください。
0550名無しさん@お腹いっぱい。
垢版 |
2018/04/02(月) 14:23:48.09ID:CqkMQkHJ0
>>549
ごめんなさい
ffmpegはhttps://ffmpeg.zeranoe.com/builds/
ffmpeg-3.4.2-win64-shared
VLCは3.0.1 Vetinari
エラーは
入力を開くことができません:
VLCはMRL 'http://192.168.12.60:8887/api/streams/live/3185757352/mpegts?mode=2'を開けません。詳細はログを確認してください。
ってなる。

VLCのログは見てみたけど、長すぎてここに貼ってもいいものやら…
0551名無しさん@お腹いっぱい。
垢版 |
2018/04/02(月) 14:40:32.46ID:TO3cmXcN0
>>550
EPGstationがどこかにffmpegのログを吐いてるんじゃないか?
それ探してみれば何らかの情報が得られると思うけど。
EPGstation側で残してないなら-reportつければログとれると思う。
0552547
垢版 |
2018/04/02(月) 15:04:33.88ID:CqkMQkHJ0
>>551
ありがとう。-reportやってみた
ログの最後にこんなエラーがあった。
[AVHWDeviceContext @ 000002002f1f7b20] Failed to create Direct3D device
Device creation failed: -1313558101.
Failed to set value 'qsv:hw' for option 'init_hw_device': Unknown error occurred
Error parsing global options: Unknown error occurred

ググったらこんなページがあった
https://trac.ffmpeg.org/ticket/6827

解決不能なんかなorz
0553名無しさん@お腹いっぱい。
垢版 |
2018/04/02(月) 16:32:17.57ID:TO3cmXcN0
>>552
-init_hw_deviceを外したらどうなるんだ?

それでもダメなら単にQSVが使えない状況なだけじゃないの。
rigaya氏のサイトからQSVEncを落とすと、「QSVが利用可能か確認 [ダブルクリック].bat」ってのがあるから
それを実行して、QSVが使える状況になってるのか確認してみるといいのでは。

OSやdGPUの有無にもよるけど、モニタつないでないとダメとか仮想画面割り当てとかないとダメとかあったろ、たしか。
そのあたりの環境情報も出したほうがいいかもね。
0555547
垢版 |
2018/04/02(月) 17:17:18.91ID:CqkMQkHJ0
>>553
お世話になります。
QSVencの「QSVが利用可能か確認.bat」やってみました。

QSVが使用できます。
使用可能なMediaSDK: Hardware API v1.19
だそうです。

環境は
MB: ASRock N3700-ITX(CPU onboard)
OS: Windows10 home 64bit
チューナー: PT-3
グラボはつけてなくてモニタはあり、仮想画面は使ったことないです。

言われた通り-init_hw_device qsv:hw を抜いてみたら動いた!
これって必須じゃなかったの?!

しばらく動かしてるけど大丈夫そうです。
すごい!いろいろ考えてくれてありがとう(人''▽`)☆
0557名無しさん@お腹いっぱい。
垢版 |
2018/04/02(月) 19:22:34.84ID:jLZHPggh0
>>546
assのまま、Aegisubのような字幕エディタで調整すればいいよ。
普通のエディタでも最初の方にフォントの指定があるから、できないことはないけど、
知識がないとちょっと難しいかな。
0558名無しさん@お腹いっぱい。
垢版 |
2018/04/03(火) 03:20:55.81ID:Q3RJNkZg0
そういえば>>541のAV1エンコード速度の件ですが、現在のffmpegのlibaom-av1エンコーダは
-tile-columnsをサポートしてないようで、マルチスレッドが効かないようです。
マルチスレッドありでの速度計測はaomenc.exeで試すかffmpegの更新を待つしかない模様。
後日aomenc.exeで再計測してみる予定です。
0560名無しさん@お腹いっぱい。
垢版 |
2018/04/03(火) 12:26:02.75ID:jjUKXrn90
AV1系のハードウェア実装は2020年頃になるらしいけど、CUDAやらハイブリッドやらで
早めに実装してきたりする可能性もあったりするんだろうか。よくわからないけど。
0562名無しさん@お腹いっぱい。
垢版 |
2018/04/04(水) 08:38:40.44ID:RU736jXf0
音声多重放送に対応するにはどうすればよいのでしょうか?
多重放送じゃないときも同じスクリプトファイルを使いたいので、できれば両対応の-mapが書ければ良いのですが、
どうすればよいのかいまいちわかりません。
0564名無しさん@お腹いっぱい。
垢版 |
2018/04/04(水) 11:28:44.31ID:RU736jXf0
>>563
それじゃ主音声しかとれなくないですか?
webを参考にして次のパイプでいけました。

numberofmap=$(ffmpeg -i temp.ts 2>&1 | grep Audio | grep -o -e 0:[0-9] | sed -e "s/0:/-map 0:/" | sed -z 's/\n/ /g')

#numberofmapをffmpegの-map 0:1の位置におく。
0566564
垢版 |
2018/04/04(水) 17:29:02.39ID:RU736jXf0
>>565
-map 0:aだと当方の環境(debian stretch ffmpeg 昨日のsnapshot)だと主ストリームしかとれませんでした。
あと、#numberofmapは$numberofmapの間違いです。(bashのシェルスクリプトで利用)
0568名無しさん@お腹いっぱい。
垢版 |
2018/04/05(木) 00:20:57.42ID:vGegpIl50
>>541ですが、1920x1080、10フレームのAV1エンコード速度(-cpu-used毎)を測りなおしました。

●aomenc.exe で --tile-columns=3 をつけてタイル分割エンコードした場合
  エンコーダ: aomenc.exe-20180401-0.1.0-9011-g0ec805145 (>>515のMABSで自ビルド)
  結果: 0.0054〜0.1046fps
  http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3488.jpg

●自ビルドしたffmpegでエンコードした場合 (現時点では-tile-columns指定不可)
  エンコーダ: ffmpeg x64 20180403-N-90590-g197a4e8fee (libaom 0.1.0-9028-geeda6d2de)
  結果: 0.0029〜0.0597fps
  http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3487.jpg

●Zeranoe ffmpegでエンコードした場合 (現時点では-tile-columns指定不可)
  エンコーダ: ffmpeg x64 20180402-N-90578-g02ae52db87 (libaom 0.1.0-9012-ge83c6624f)
  結果: 0.0004〜0.0275fps
  http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3486.jpg

まとめ

●--tile-columns=3をつけることでエンコード速度は2倍くらいになる。
  ただ、無しの場合に12%程度だったCPU使用率が100%くらいになるのに2倍程度にしかならないとも言える。

●Zeranoe版ffmpegのエンコード速度がやけに遅い。MABSで57.5分だったのがZeranoeだと378.2分。
  libaomのビルドをミスってる可能性があるので連絡済み。反応待ち。
0570名無しさん@お腹いっぱい。
垢版 |
2018/04/06(金) 14:37:58.98ID:b+77Vg710
>>568で書いた、「Zeranoe版のAV1エンコードが遅い」という件ですが、次のビルドで修正されるそうです。
今はまだffmpeg-20180404-53688b6になってるので、その次ですね。
0571名無しさん@お腹いっぱい。
垢版 |
2018/04/07(土) 00:24:43.70ID:G9INCiK80
Zeranoe版ffmpeg-20180405-e54679b-win64-static.zipでlibaom問題の修正確認。

テスト

ffmpeg.exe -f lavfi -i testsrc2=duration=10:size=1920x1080:rate=1/1 -an -strict -2 -c:v libaom-av1 -b:v 0 -crf 30 -cpu-used 4 -threads 8 -f matroska testsrc2.mkv"

●MABS-20180403-N-90590-g197a4e8fee (libaom 0.1.0-9028-geeda6d2de)
  EncodeTime (sec): 00:01:48.24 (108.24sec)
  Result: 10frames, 354.3kbps, 0.1fps (10/108.24=0.0924fps)

●MABS-20180405-N-90627-ge54679b6c1 (libaom 0.1.0-9082-gab1e1db19)
●Zeranoe-20180405-N-90627-ge54679b6c1 (libaom 0.1.0-9080-g55c95f8c1)
  修正されたので両方ともだいたい同じくらい。
  EncodeTime (sec): 00:02:52.43 (172.43sec)
  Result: 10frames, 331.2kbps, 0.1fps (10/172.43=0.058fps)

同じ設定でも0403版だと108秒だったのが、0405版で172秒になってるので、
おそらくこの間にlibaom側で速度に影響のある変更があったと思われ。
しばらくは色々な修正が続きそう。
0572名無しさん@お腹いっぱい。
垢版 |
2018/04/08(日) 17:59:01.15ID:1WQcEONk0
Zeranoe版の 20180406-9703b7d ビルドからVP9の10bitが追加された。

---

10-bit VP9 support added - FFmpeg
https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=2&;t=5620

10-bit VP9 support has been added with the 20180406-9703b7d build.
To use 10-bit mode set the appropriate pixel format, for example:

 ffmpeg -f lavfi -i testsrc2=duration=10 -c:v libvpx-vp9 -pix_fmt yuv420p10le o.mkv
0573名無しさん@お腹いっぱい。
垢版 |
2018/04/13(金) 15:54:33.09ID:TveKIn0A0
ffmpegでaribB24字幕やデータ放送を保存したまま映像だけエンコードする(h.264のtsファイルにしたいのです)にはどうすればいいんでしょうか?
-,ap0v -map:0aのような-map0:dというパラメータがあることまでは調べがついたのですが、使い方がイマイチわかりません。
dtv版のlinuxテレビスレに投稿しましたが、こちらのほうが詳しい方が多いと思い再投稿します。
0575573
垢版 |
2018/04/13(金) 16:27:59.49ID:TveKIn0A0
自分で実験してみたのですが、一応-c:d copy -map 0:dでData binのコピーはできるようです。
ただ、vlcでオリジナルのtsにはあったaribB24字幕の選択肢がなくなってますし(字幕として認識されない)、
あまり意味のあることではないようです。
そう簡単にaribB24字幕がコピーできたらarib-ts2assのようなツールも必要ないんでしょうけど・・・
0576名無しさん@お腹いっぱい。
垢版 |
2018/04/16(月) 18:18:59.02ID:rBuzsuAd0
ffmpegでtsのaac 5.1chからlibopus 5.1chに変換すると
This stream seems to incorrectly report its last channel as LFE[5], mapping to LFE[0]
ってメッセージが出るんですが、まずいですか?
検索しても10件ぐらいしか引っかからないんですが。
番組はNHKクラシック音楽館と名曲アルバム+です。
0577576
垢版 |
2018/04/16(月) 19:30:39.11ID:rBuzsuAd0
libfdk_aacを使っても同様のメッセージがでました。
問題なければ良いのですが。

それはそうと、5.1chの場合、AAC(放送波やlibfdk_aac)が5.1ch side speakerを想定するのに対し、
opusはrear speakerを想定するようですが、5.1chaacなtsをopus 5.1chに変換する時に特段問題などはないの
でしょうか?
0579576
垢版 |
2018/04/17(火) 17:50:07.45ID:GW5wD1MB0
今の所2chバーチャルサラウンドしかやっていないので、実際の5.1chスピーカーの場合が
わからんのですよ。今年中に7.1ch揃えようと思って入るのですが。
0580名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 09:48:40.63ID:0+VgQe3i0
質問させてください。

複数枚JPEG画像を連結しMPEGに変換していますが、入力JPEG画像の色合いと違った結果になってしまいます。
白っちゃけるというか、明るく滲みボヤけるような…。

入力JPEG: https://i.imgur.com/4jLjVQP.jpg
変換後キャプチャ: https://i.imgur.com/LMlS3ZL.png

コマンドラインは下記の通りです。
ffmpeg.exe -r 30.00 -i US_%d.jpg -vb 16000k -c:v:1 libx264 -s 800x600 -r 30 test.mpg

↓下記の2オプションにて明度彩度を調整しても、滲みボヤけたあとに適用されるようで、効果が感じられません。
-vf eq=brightness=-0.02:saturation=2

入力JPEGの画質を劣化させず、または劣化を最小限に抑えてMPEG変換する方法、ありますでしょうか、
どなたかお分かりになりましたらご教授願います、よろしくお願いいたします。
0582名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 11:54:47.81ID:3ylU2AP70
JPEGはフルレンジで記録されてるけどMPEGはリミテッドレンジか基本だからリミテッドレンジでエンコードしないと色がおかしくなるのは分かる
でもffmpegでフルレンジ→リミテッドレンジ変換するコマンドは知らない
0583名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 12:12:53.78ID:3ylU2AP70
あんまり自信ないけどこうかな
-vf scale="in_range=full:in_color_matrix=bt601:out_range=limited:out_color_matrix=auto"
0584名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 12:54:12.31ID:3ylU2AP70
実際にエンコードしてみたらvf scale付けたほうがおかしくなった
無指定で正しいレンジに変換してくれたけどもしかして再生環境の問題?
0585名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 13:01:20.96ID:0+VgQe3i0
>>581
ありがとうございます、試したところ残念ながら効果的ではなかったようです。

>>582-584
ありがとうございます、ちょうどご提示いただいたオプションを試していたところですが、
Unable to parse option value "limited" と表示され、つまづいていました。
再生環境はWindows7WindowsMediaPlayer12です。
他のプレイヤーでしたら変わるでしょうか?
0587名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 17:03:28.72ID:0+VgQe3i0
>>586
たびたびご対応いただき、本当にありがとうございます。

現在使用中のffmpegは、windows32bit版で、引数なし実行で

ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.3.0 (GCC)

と表示します。
ダウンロードサイトがよくなかったでしょうか…他のバイナリダウンロードを探してみます。
0588名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 18:51:25.31ID:cDZZ+EwU0
>>580
> ffmpeg.exe -r 30.00 -i US_%d.jpg -vb 16000k -c:v:1 libx264 -s 800x600 -r 30 test.mpg

●800x600の30fpsで16Mbpsはいくらなんでも盛りすぎだと思う。
●-c:v:1としてるからlibx264の指定は無視され、mpeg1videoでエンコードされてしまっている。
 (ただ、この場合自動でyuvj420p→yuv420p変換が行われるので
  >>580のようなレンジ異常は起きないはずなんだが・・・)
●mp4じゃなくmpgにしたいの?libx264でエンコするならmp4の方がいいと思うよ。
●jpgソースをそのままlibx264に渡すと自動的にフルレンジにされてしまう。
 再生環境(EVRなど)によってはフルレンジフラグが反映されずレンジ異常に見えるので
 明示的にリミテッドレンジに変換したほうが良い。
●HD(BT.709)とSD(BT.601)の境界判定はモノによって異なるが
 縦>=578をHDとみなすことが多い(EVR/madVR等)ので、800x600ならHD(BT.709)として再生されることが多い。
 BT.601のフラグをつけてもいいんだけど、BT.709に変換してBT.709のフラグをつけたほうがより良い。
●-rは最初のだけでいいと思うよ。

ということで、以下のようにすればよさげかな。
フレームレートはとりあえず30.00のままにしてあるけど、30000/1001じゃなくていいのかな?
ビットレートもとりあえず4Mbpsにしといたけど、調整するなり-crf 20とかにするなりしてくれ。

ffmpeg.exe -r 30.00 -i US_%d.jpg -vf scale=out_color_matrix=bt709:out_range=tv:flags=+accurate_rnd -c:v libx264 -b:v 4000k -pix_fmt yuv420p -colorspace bt709 -s 800x600 test.mp4
0589名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 19:04:51.76ID:cDZZ+EwU0
>>588を試してて気づいたけど、-vf scale で

 flags=+accurate_rndなしの場合: (235, 235, 235) → (232, 235, 232) ★RとBが下がる

 flags=+accurate_rndありの場合: (235, 235, 235) → (236, 233, 236) ★Gが下がりRとBは微妙に上がる

という結果になった。
まあ目視で気づくことはまずないだろうけど、もうちょい正確に変換する方法ってないんだろうか?
0590名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 19:24:38.70ID:cDZZ+EwU0
ああ、ごめん。bitexactもつければいいのか・・・。
ということで>>588のコマンドを更新。

ffmpeg.exe -r 30.00 -i US_%d.jpg -vf scale=out_color_matrix=bt709:out_range=tv:flags=+accurate_rnd+bitexact -c:v libx264 -b:v 4000k -pix_fmt yuv420p -colorspace bt709 -s 800x600 test.mp4
0591名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 20:59:27.28ID:0+VgQe3i0
>>558-590
詳しくご解説いただきまして、本当にありがとうございます。

最終的にご提示いただいたコマンドを試してみたのですが、
残念ながら大きな変化は起きておらず、白く滲んだような状況は変わらずです、申し訳ありません。

https://i.imgur.com/OffRcQT.png
↑この部分差画像を作っていてわかったのですが、全体が白く滲んでいるわけではなく、
暗いけどなんとか見えていた部分が逆に見えなくなる程に暗くなっていたりと、
素人ながら勝手にコントラスト調整されている?ような感じにも見受けられます…。

ご解説いただいた部分、まだ理解が及んでおりませんで、調べながら調整してみます、ありがとうございます。
0592名無しさん@お腹いっぱい。
垢版 |
2018/04/18(水) 21:09:07.31ID:cDZZ+EwU0
>>591
なら多分再生側の問題だね。変な補正が入ってるんだと思う。

1.WMPじゃなく、他の再生ソフトで試してみる。

2.他の再生ソフトでもおかしくなる場合は、グラボ側の画質補正機能が働いてる可能性もあるので
  グラボ側の設定を見て画質補正を切ってみる。
  また、再生ソフトに内臓デコーダがある場合は、一応DXVAもオフにしてみる。

これらを試してみればいいと思う。
0593名無しさん@お腹いっぱい。
垢版 |
2018/04/19(木) 08:47:36.97ID:rCrvq3Fr0
>>592
おはようございます、度々ご対応いただきまして、本当にありがとうございます。
再生環境ということで、早速確認してみます。
■ このスレッドは過去ログ倉庫に格納されています

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