最近は本家ffmpegしか使わなかったので、本日あべちんさん版のffmpegでやってみました。
あべちんさんのはCPUの種類別にCPU命令をそれぞれ変えているので、うちのPCはAMD-A10なのでAthron64のものを使います。
で、結果がこんな感じ
[libx264 @ 0000023bc33a1b40] coded y,uvDC,uvAC intra: 30.2% 30.5% 7.0% inter: 0.7% 0.9% 0.0%
[libx264 @ 0000023bc33a1b40] i16 v,h,dc,p: 58% 23% 13% 5%
[libx264 @ 0000023bc33a1b40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 13% 19% 4% 4% 7% 4% 8% 5%
[libx264 @ 0000023bc33a1b40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 12% 20% 5% 6% 8% 4% 8% 4%
[libx264 @ 0000023bc33a1b40] i8c dc,h,v,p: 66% 14% 19% 1%
[libx264 @ 0000023bc33a1b40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0000023bc33a1b40] ref P L0: 64.4% 17.6% 4.3% 4.4% 1.0% 4.7% 0.9% 2.3% 0.4%
[libx264 @ 0000023bc33a1b40] ref B L0: 93.8% 4.3% 1.5% 0.2% 0.1% 0.1% 0.0%
[libx264 @ 0000023bc33a1b40] ref B L1: 91.1% 8.9%
[libx264 @ 0000023bc33a1b40] kb/s:943.86
T>Finished.
T>test (\Transcoding.ini/ts(AAC) ⇒ MP4 ffmpeg-Athron test para)
E>”C:\Users\Owner\_software\携帯動画変換君\3GP_Converter_地デジ\cores\ffmpeg_athlon64″ -y -i “test.ts” -acodec copy -absf aac_adtstoasc -vcodec libx264 -metadata title-jpn=”<%Title()%>” -b 20000k -partitions pi4x4,pp8x8,pb8x8 -8x8dct 1 -r 59.940059 -deinterlace -crf 30 -mbd 2 -sws_flags lanczos+print_info -me_method umh -g 250 -qcomp 0.7 -qblur 0.5 -qmin 8 -qmax 61 -qdiff 4 -subq 7 -me_range 16 -b_strategy 1 -coder 1 -trellis 2 -sc_threshold 40 -flags +loop+ilme -mixed-refs 1 -mbtree 1 -fast-pskip 1 -keyint_min 0 -cmp chroma -level 51 -refs 8 -i_qfactor 0.714286 -f mp4 -threads 3 “test.mp4”
ffmpeg version N-77558-g15e1fd9 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: –enable-gpl –enable-version3 –enable-avisynth –enable-fontconfig –enable-gnutls –enable-libass –enable-libbluray –enable-libcaca –enable-libcdio –enable-libfreetype –enable-libfribidi –enable-libgme –enable-libgsm –enable-libilbc –enable-libkvazaar –enable-libmodplug –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenh264 –enable-libopenjpeg –enable-libopus –enable-librtmp –enable-libsoxr –enable-libspeex –enable-libtheora –enable-libtwolame –enable-libvidstab –enable-libvo-aacenc –enable-libvo-amrwbenc –enable-libvorbis –enable-libvpx –enable-libwavpack –enable-libwebp –enable-libx264 –enable-libx265 –enable-libxvid –enable-opengl –disable-outdev=sdl –enable-w32threads –disable-dxva2 –disable-debug –pkg-config-flags=–static –extra-ldflags=-static –extra-cflags=’-mtune=athlon64 -mfpmath=sse -msse’ –cpu=i686 –optflags=’-O2 -finline-functions’
libavutil 55. 11.100 / 55. 11.100
libavcodec 57. 20.100 / 57. 20.100
libavformat 57. 21.100 / 57. 21.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 22.100 / 6. 22.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mpegts, from ‘test.ts’:
Duration: 04:30:01.26, start: 0.473278, bitrate: 14335 kb/s
Program 1
Stream #0:0[0x1100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709), 1440×1080 [SAR 4:3 DAR 16:9], max. 24000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, 5.1, fltp, 104 kb/s
Stream #0:2[0x1102]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 156 kb/s
Stream #0:3[0x1103]: Data: bin_data ([6][0][0][0] / 0x0006)
Please use -b:a or -b:v, -b is ambiguous
[libx264 @ 0604d8c0] using SAR=4/3
[libx264 @ 0604d8c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0604d8c0] profile Main, level 5.1
[libx264 @ 0604d8c0] 264 – core 148 r2638 7599210 – H.264/MPEG-4 AVC codec – Copyleft 2003-2015 – http://www.videolan.org/x264.html – options: cabac=1 ref=8 deblock=1:0:0 analyse=0x1:0x131 me=umh subme=7 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=2 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=30.0 qcomp=0.70 qpmin=8 qpmax=61 qpstep=4 ip_ratio=1.40 aq=1:1.00
[NULL @ 04eedba0] [Eval @ 005fe75c] Undefined constant or missing ‘(‘ in ‘pi4x4,pp8x8,pb8x8’
[NULL @ 04eedba0] Unable to parse option value “pi4x4,pp8x8,pb8x8”
[NULL @ 04eedba0] Error setting option partitions to value pi4x4,pp8x8,pb8x8.
Error setting up codec context options.
Output #0, mp4, to ‘test.mp4’:
Metadata:
title-jpn : <%Title()%>
Stream #0:0: Video: h264 (libx264), yuv420p, 1440×1080 [SAR 4:3 DAR 16:9], q=8-61, 20000 kb/s, 59.94 fps, 59.94 tbn, 59.94 tbc
Metadata:
encoder : Lavc57.20.100 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream #0:1: Audio: aac, 48000 Hz, 5.1, 104 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (copy)
Last message repeated 1 times
A>Dialog : 処理実行中にエラーが発生しました [Error:1]
T>Finished.
Please use -b:a or -b:v, -b is ambiguousと怒られていますが、audioはコピーなので知ったことではありません。ほうっておいてもMAXを越えなければ影響ないでしょうし、十分以上の-b値を指定しているので大丈夫です。
さて次のエラー
[NULL @ 04eedba0] [Eval @ 005fe75c] Undefined constant or missing ‘(‘ in ‘pi4x4,pp8x8,pb8x8’
[NULL @ 04eedba0] Unable to parse option value “pi4x4,pp8x8,pb8x8”
[NULL @ 04eedba0] Error setting option partitions to value pi4x4,pp8x8,pb8x8.
Error setting up codec context options.
が問題です。パーティションのオプションがうまく拾えていません。
昔のflag2で指定するパラメータが新しくなったと知ったのはあべちんさんのHPでしたが、このパラメータの変換に失敗しています。
本家のffmpegでは以下の通りうまく変換しているので、パラメータの解釈処理でコンパイラがうまくコンパイルできていないのかもしれません。
ffmpeg version N-77953-gcc83177 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.2.0 (GCC)
configuration: –enable-gpl –enable-version3 –disable-w32threads –enable-avisynth –enable-bzlib –enable-fontconfig –enable-frei0r –enable-gnutls –enable-iconv –enable-libass –enable-libbluray –enable-libbs2b –enable-libcaca –enable-libdcadec –enable-libfreetype –enable-libgme –enable-libgsm –enable-libilbc –enable-libmodplug –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenjpeg –enable-libopus –enable-librtmp –enable-libschroedinger –enable-libsoxr –enable-libspeex –enable-libtheora –enable-libtwolame –enable-libvidstab –enable-libvo-aacenc –enable-libvo-amrwbenc –enable-libvorbis –enable-libvpx –enable-libwavpack –enable-libwebp –enable-libx264 –enable-libx265 –enable-libxavs –enable-libxvid –enable-libzimg –enable-lzma –enable-decklink –enable-zlib
libavutil 55. 14.100 / 55. 14.100
libavcodec 57. 22.100 / 57. 22.100
libavformat 57. 21.101 / 57. 21.101
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 25.100 / 6. 25.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mpegts, from ‘test.ts’:
Duration: 04:30:01.26, start: 0.473278, bitrate: 14335 kb/s
Program 1
Stream #0:0[0x1100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709), 1440×1080 [SAR 4:3 DAR 16:9], max. 24000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, 5.1, fltp, 104 kb/s
Stream #0:2[0x1102]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 156 kb/s
Stream #0:3[0x1103]: Data: bin_data ([6][0][0][0] / 0x0006)
Please use -b:a or -b:v, -b is ambiguous
[libx264 @ 000001ebcb0c9a20] using SAR=4/3
[libx264 @ 000001ebcb0c9a20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 000001ebcb0c9a20] profile High, level 5.1
[libx264 @ 000001ebcb0c9a20] 264 – core 148 r2638 7599210 – H.264/MPEG-4 AVC codec – Copyleft 2003-2015 – http://www.videolan.org/x264.html – options: cabac=1 ref=8 deblock=1:0:0 analyse=0x3:0x131 me=umh subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=30.0 qcomp=0.70 qpmin=8 qpmax=61 qpstep=4 ip_ratio=1.40 aq=1:1.00
[mp4 @ 000001ebca6467e0] Codec for stream 1 does not use global headers but container format requires global headers
Output #0, mp4, to ‘test.mp4’:
Metadata:
title-jpn : test
encoder : Lavf57.21.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1440×1080 [SAR 4:3 DAR 16:9], q=8-61, 20000 kb/s, 59.94 fps, 507992 tbn, 59.94 tbc
Metadata:
encoder : Lavc57.22.100 libx264
Side data:
unknown side data type 10 (24 bytes)
Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, 5.1, 104 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
<一部省略>
結論としては、以下のパターンかと
・あべちんさん版ffmpegではパラメータエラーとなるオプションを使わない。
使わないパラメータはデフォとなる
どーしても使いたい場合は パラメータを-partitions parti4x4+partp8x8+partb8x8 -8x8dct 1に替える
・本家ffmepgを使う。
x264などのライブラリがあべちんさん版に比べやや古い
変換君でプログレスが出ない
つーところでしょうか