Rev 783 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?
╟ряшё№ тшфхю т Unreal Speccy emulator (psb)
-------------------------------------
╟ряшё№ тшфхю Ёхрышчютрэр ё яюью∙№■ єЄшышЄ√ ffmpeg. ╥ръшь юсЁрчюь, тё╕, ўЄю
єьххЄ ffmpeg - тёх фюёЄєяэю фы шёяюы№чютрэш ё Unreal Speccy.
╤юфхЁцрэшх:
* ╬ёэютэ√х тючьюцэюёЄш
* ╬ёэют√ ЁрсюЄ√ ё ffmpeg
* ═рёЄЁющър ¤ьєы ЄюЁр
* ╧рЁрьхЄЁ√ фы чряшёш: эрсюЁ png/bmp
* ╧рЁрьхЄЁ√ фы чряшёш: h264/mp3
* ╧рЁрьхЄЁ√ фы чряшёш: DVD
* ╬эырщэ-ЄЁрэёы Ўш тшфхю т шэЄхЁэхЄ
* ═рыюцхэшх чтєър ьшъЁюЇюэр
* ├фх ёърўрЄ№ ffmpeg?
* ╧юыхчэ√х ёё√ыъш яю ffmpeg
╬ёэютэ√х тючьюцэюёЄш
--------------------
* ╟ряшё№ тшфхю т Їрщы. ╧юффхЁцштр■Єё Ёрчышўэ√х ъюфхъш (xvid/h264/mpeg2/bmp/png/
wav/mp3/... - тёх юэш тёЄЁюхэ√ т ffmpeg, фюяюыэшЄхы№эю єёЄрэртыштрЄ№ эх
эєцэю), ъюэЄхщэхЁ√ (avi/flv/mpg/mkv);
* ╧Ёшьхэхэшх Ёрчышўэ√ї Їшы№ЄЁют яхЁхф ёцрЄшхь (эряЁшьхЁ, ¤Єю яючтюы хЄ эр їюфє
чряшё√трЄ№ тшфхю т ЇюЁьрЄх, яЁшуюфэюь фы шёяюы№чютрэш яЁш чряшёш DVD -
25 fps interlaced);
* ╬ёє∙хёЄтыхэшх юэырщэ тх∙рэш т шэЄхЁэхЄх (ё тючьюцэюёЄ№■ эрыюцхэш чтєър
ьшъЁюЇюэр яютхЁї чтєър ¤ьєы ЄюЁр);
* └тЄюьрЄшўхёър яюффхЁцър ьэюую фхЁэ√ї яЁюЎхёёюЁют фы ъюфшЁютрэш тшфхю.
╬ёэют√ ЁрсюЄ√ ё ffmpeg
----------------------
╚чэрўры№эю ffmpeg яЁхфэрчэрўхэ фы ъюэтхЁЄрЎшш/ёцрЄш тшфхю. ╨рсюЄр ё ffmpeg
тхфхЄё шч ъюьрэфэющ ёЄЁюъш. ╧Ёш ¤Єюь, чрфр■Єё шёЄюўэшъш ш яЁшхьэшъш фрээ√ї,
р Єръ цх юяЎшш, юяЁхфхы ■∙шх ЇюЁьрЄ√ фрээ√ї/їрЁръЄхЁшёЄшъш ёцрЄш . ╧ЁшьхЁ:
ffmpeg -i input.avi output.flv
┬ ¤Єюь ёыєўрх тшфхю шч input.avi яхЁхъюэтхЁЄшЁєхЄё т output.flv (Єшя ъюэЄхщэхЁр
юяЁхфхы хЄё ртЄюьрЄшўхёъш яю Ёрё°шЁхэш ь Їрщыют, эю эх тёхуфр, шэюуфр эєцэю хую
єърч√трЄ№ тэю, эряЁшьхЁ: -f flv).
┬ юс∙хь тшфх ярЁрьхЄЁ√ ъюьрэфэющ ёЄЁюъш шьх■Є Єръющ ЇюЁьрЄ:
ffmpeg [input1 options] -i input1 [input2 options] -i input2 ... [output1 options] output1 [output2 options] output2 ...
╩ы■ў -i чрфрхЄ шёЄюўэшъ фрээ√ї, яЁш ¤Єюь ─╬ ¤Єюую ъы■ўр фюыцэ√ с√Є№ чрфрэ√ тёх
юяЎшш фы ¤Єюую шёЄюўэшър. ┬ёх, ўЄю єърчрэю яюёых -i, сєфхЄ ёўшЄрЄ№ё юяЎш ьш
фы ёыхфє■∙хую шёЄюўэшър/яЁшхьэшър.
╬яшёрэшх тёхї юяЎшщ ffmpeg ьюцэю эрщЄш т рЁїштх ё яЁюуЁрььющ шыш эр юЇшЎшры№эюь
ёрщЄх (ёё√ыър тэшчє).
═рёЄЁющър ¤ьєы ЄюЁр
-------------------
─ы ЁрсюЄ√ ЇєэъЎшш ёюїЁрэхэш тшфхю, т ini-Їрщых ¤ьєы ЄюЁр эхюсїюфшью эрёЄЁюшЄ№
ёыхфє■∙шх ярЁрьхЄЁ√:
ffmpeg.exec яєЄ№ ш шь єЄшышЄ√ ffmpeg, эряЁшьхЁ, ffmpeg.exe шыш
C:\ffmpeg\ffmpeg.exe, фю 256 срщЄ;
ffmpeg.newconsole 1 - юЄъЁ√трЄ№ фы ffmpeg эютє■ ъюэёюы№;
0 - шёяюы№чютрЄ№ ъюэёюы№ ¤ьєы ЄюЁр фы т√тюфр ffmpeg
(яюыхчэю фы юЄырфъш ярЁрьхЄЁют);
ffmpeg.parm ярЁрьхЄЁ√ т√їюфэюую Їрщыр, фю 1024 срщЄ;
ffmpeg.vout шь т√їюфэюую Їрщыр (ьюцэю шёяюы№чютрЄ№ ёшьтюы "#" фы
яюфёЄрэютъш яюЁ фъютюую эюьхЁр тшфхю, эряЁшьхЁ, video#.avi),
фю 512 срщЄ.
─ы чряшёш тшфхю Unreal Speccy чряєёърхЄ ffmpeg т ёыхфє■∙хь ЇюЁьрЄх:
"%exec%" -i %pipename% %parm% -y %vout%
%exec% - ярЁрьхЄЁ ffmpeg.exec шч ini-Їрщыр;
%pipename% - шь ърэрыр (pipe), ўхЁхч ъюЄюЁ√щ яхЁхфрхЄё эхёцрЄюх тшфхю -
эхфюёЄєяэю фы шчьхэхэш ;
%parm% - ярЁрьхЄЁ ffmpeg.parm шч ini-Їрщыр;
%vout% - ярЁрьхЄЁ ffmpeg.vout шч ini-Їрщыр.
╟ряшё№ тшфхю эрўшэрхЄё яЁш яхЁтюь эрцрЄшш CTRL+F8 (хёыш ¤Єю эх шчьхэхэю т
ini-Їрщых) ш юёЄрэртыштрхЄё яЁш тЄюЁюь. ═р ёырс√ї ъюья№■ЄхЁрї (фрцх 2ї- фхЁэ√ї)
тючьюцэю ЄюЁьюцхэшх ¤ьєы ЄюЁр яЁш чряшёш - ¤Єю эюЁьры№эю, эр ърўхёЄтю тшфхю ¤Єю
эх тыш хЄ.
╧рЁрьхЄЁ√ фы чряшёш: эрсюЁ png/bmp
-----------------------------------
─ы чряшёш ърЁЄшэюъ фюёЄрЄюўэю єърчрЄ№ Ёрё°шЁхэшх .png/.bmp є т√їюфэюую Їрщыр.
ffmpeg.parm=-r 25
ffmpeg.vout=video#_%06d.png
╟фхё№ "-r 25" чрфрхЄ ўрёЄюЄє ърфЁют т√їюфэюую тшфхю - 25 ъ/ёхъ, Є.х., хёыш
¤ьєы ЄюЁ сєфхЄ фртрЄ№ 50 ъ/ёхъ, Єю ърцф√щ тЄюЁющ ърфЁ сєфхЄ юЄсЁю°хэ. ┼ёыш эх
чрфртрЄ№ эшъръшї ярЁрьхЄЁют, сєфхЄ ёюїЁрэ Є№ё 50 ъ/ёхъ.
"video#_%06d.png" ЁрчтхЁэхЄё т "video0_000000.png", "video0_000001.png",
"video0_000002.png" ш Є.ф. фы яхЁтюую тшфхю, "video1_000000.png",
"video1_000001.png", "video1_000002.png" ш Є.ф. фы тЄюЁюую тшфхю.
╧рЁрьхЄЁ√ фы чряшёш: h264/mp3
------------------------------
H264 - ёЄрэфрЁЄ ёцрЄш тшфхю, яЁхфэрчэрўхээ√щ фы фюёЄшцхэш т√ёюъющ ёЄхяхэш
ёцрЄш тшфхю яюЄюър яЁш ёюїЁрэхэшш т√ёюъюую ърўхёЄтр. ┬ ffmpeg фы ЁрсюЄ√ ё ¤Єшь
ЇюЁьрЄюь шёяюы№чєхЄё ъюфхъ libx264.
─ы ёцрЄш чтєър т mp3 шёяюы№чєхЄё ъюфхъ libmp3lame.
┬юЄ юёэютэ√х ярЁрьхЄЁ√ (фы шёяюы№чютрэш т ffmpeg.parm):
-c:a copy ъюяшЁютрэшх рєфшю яюЄюър схч шчьхэхэш ЇюЁьрЄр
(т эр°хь ёыєўрх - схч ёцрЄш , wav)
-c:a libmp3lame ёцрЄшх чтєър т mp3
-b:a 320k ё сшЄЁхщЄюь 320
-af volume=3.0 єтхышўхэшх уЁюьъюёЄш чтєър т 3 Ёрчр (яюыхчэю,
Є.ъ. т ¤ьєы ЄюЁх чтєъ Єшїшщ)
-c:v copy ъюяшЁютрэшх тшфхю яюЄюър схч шчьхэхэш ЇюЁьрЄр
(т эр°хь ёыєўрх - схч ёцрЄш , rgb24)
-c:v libx264 ёцрЄшх тшфхю т h264,
-pix_fmt yuvj420p ЇюЁьрЄ яшъёхыхщ; схч ¤Єющ юяЎшш эх ЁрсюЄрхЄ :)
-preset:v veryfast Єшя ёцрЄш (тыш хЄ эр ёъюЁюёЄ№ ш ёЄхяхэ№ ёцрЄш )
-profile:v baseline Єшя яЁюЇшы (ёь. юяшёрэшх h264)
-crf 10 ърўхёЄтю ёцрЄш 0-51 (0 - схч яюЄхЁ№, 51 - їєф°хх)
-ss 00:00:00.500 яЁюяєёЄшЄ№ яхЁт√х 500 ьё тшфхю (эх чряшё√трЄ№ ърфЁ√
ё эрфяшё№■ "start saving video")
-an шёъы■ўшЄ№ рєфшю
-vn шёъы■ўшЄ№ тшфхю
─ы ёючфрэш ётюшї эрёЄЁюхъ ъюфшЁютрэш тшфхю, фюёЄрЄюўэю яЁюёЄю "ёъыхшЄ№"
т√°хєърчрээ√х юяЎшш тьхёЄх, Ёрчфхы шї яЁюсхырьш.
═ряЁшьхЁ, ь√ їюЄшь яюыєўшЄ№ эхёцрЄ√щ чтєъ ш ёцрЄюх тшфхю схч яюЄхЁ№:
ffmpeg.parm=-c:a copy -af volume=3.0 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -crf 0 -ss 00:00:00.500
ffmpeg.vout=video#.avi
╚ыш ёцрЄ√щ чтєъ ш сюыхх ёцрЄюх тшфхю:
ffmpeg.parm=-c:a libmp3lame -b:a 320k -af volume=3.0 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -profile:v baseline -crf 10 -ss 00:00:00.500
ffmpeg.vout=video#.avi
─ы чряшёш тшфхю т h264 эрёЄю Єхы№эю ЁхъюьхэфєхЄё ёЄртшЄ№ Ёхцшь юЄюсЁрцхэш
double size (2x) т ¤ьєы ЄюЁх (шэрўх сєфєЄ яюЄхЁш т ЎтхЄх).
╧Ёш чряшёш тшфхю ё ўрёЄюЄющ 25 ърфЁют/ёхъ (эряЁшьхЁ, YouTube яЁшэєфшЄхы№эю
яхЁхцшьрхЄ т Єръє■ ўрёЄюЄє), ърцф√щ тЄюЁющ ърфЁ сєфхЄ т√ярфрЄ№. ─ы ¤ЇЇхъЄют
Єшяр gigascreen ¤Єю ъЁшЄшўэю. ─ы шёяЁртыхэш ёшЄєрЎшш яЁш чряшёш Єръшї тшфхю
эрёЄю Єхы№эю ЁхъюьхэфєхЄё т эрёЄЁющърї ¤ьєы ЄюЁр тъы■ўрЄ№ Ёхцшь Noflic
(тъырфър Video). ─р ш фрцх эр тшфхю т 50 ърфЁют/ёхъ Noflic т√уы фшЄ єсхфшЄхы№эхх
эр gigascreen-¤ЇЇхъЄрї.
╧рЁрьхЄЁ√ фы чряшёш: DVD
-------------------------
┬шфхю фы PAL-DVD фюыцэю ёюфхЁцрЄ№ 25 ърфЁют/ёхъ, ърцф√щ ърфЁ фюыцхэ ёюёЄю Є№ шч
яюыхщ (яюыєърфЁют). ╟рфрўр - єяръют√трЄ№ ярЁє ёюёхфэшї ¤ъЁрэют ¤ьєы ЄюЁр т юфшэ
interlaced-ърфЁ. ─ы ¤Єюую т ffmpeg хёЄ№ Їшы№ЄЁ tinterlace. ╥ръцх т ffmpeg хёЄ№
юяЎш -target pal-dvd, ъюЄюЁр ёЁрчє єёЄрэртыштрхЄ эхюсїюфшь√х ъюфхъш, ЁрчьхЁ
ърЁЄшэъш (720x576 яшъёхыхщ) фы ЇюЁьрЄр DVD.
─ы ёюсы■фхэш юЁшушэры№э√ї яЁюяюЁЎшщ ЁхъюьхэфєхЄё фхырЄ№ юсЁхчрэшх/фюяюыэхэшх
шёїюфэюую ърфЁр фю ЁрчЁх°хэш 720x576. ▌Єю фхырхЄё Їшы№ЄЁрьш crop/pad
ёююЄтхЄёЄтхээю.
┬юЄ яЁшьхЁ юяЎшщ фы чряшёш DVD (шёїюфэр ърЁЄшэър т ¤ьєы ЄюЁх фюыцэр с√Є№
сюы№°х 720x576 яшъёхыхщ - double size (2x) + full border, шэрўх сєфхЄ ю°шсър):
ffmpeg.parm=-af volume=3.000000 -bf 2 -vf "crop=720:576,tinterlace=mode=interlacex2" -aspect 4:3 -target pal-dvd -r 25 -b:v 2800k -ss 00:00:00.500
ffmpeg.vout=video#.mpg
┼∙х яЁшьхЁ (шёїюфэр ърЁЄшэър ьхэ№°х 720x576 яшъёхыхщ - фюяюыэ хЄё фю ¤Єюую
ЁрчЁх°хэш ўхЁэющ Ёрьъющ):
ffmpeg.parm=-af volume=3.000000 -bf 2 -vf "pad=720:576:(ow-iw)/2:(oh-ih)/2,tinterlace=mode=interlacex2" -aspect 4:3 -target pal-dvd -r 25 -b:v 2800k -ss 00:00:00.500
ffmpeg.vout=video#.mpg
╧Ёш шёяюы№чютрэшш ¤Єшї ярЁрьхЄЁют ъюфшЁютрэш , т ¤ьєы ЄюЁх эхюсїюфшью яюёЄртшЄ№
Ёхцшь юЄюсЁрцхэш double size (2x) фы ъюЁЁхъЄэющ ЁрсюЄ√ Їшы№ЄЁр interlacex2.
╬яЎш -b:v 2800k чрфрхЄ сшЄЁхщЄ тшфхю (яюфсшЁрхЄё эр уырч).
╬эырщэ-ЄЁрэёы Ўш тшфхю т шэЄхЁэхЄ
----------------------------------
┼ёЄ№ эхёъюы№ъю яєсышўэ√ї ёхЁтхЁют, яючтюы ■∙шї юЁурэшчют√трЄ№ юэырщэ ЄЁрэёы Ўшш
т шэЄхЁэхЄ, эряЁшьхЁ: justin.tv, twitch.tv, own3d.tv. ▌Єш ёхЁтхЁр ьюуєЄ
яЁшэшьрЄ№ тшфхю яюЄюъ яю яЁюЄюъюыє rtmp ш яюърч√трЄ№ хую ўхЁхч тхс-ёрщЄ.
╩Ёюьх Єюую, тёх яхЁхфрээюх тшфхю чряшё√трхЄё эр ърэрых ш хую ьюцэю яюёьюЄЁхЄ№
яючцх.
─ы Єюую, ўЄюс√ юЁурэшчютрЄ№ ЄЁрэёы Ўш■, эхюсїюфшью чрЁхушёЄЁшЁютрЄ№ё эр
ёхЁтшёх ш яюыєўшЄ№ тр° ёюсёЄтхээ√щ шфхэЄшЇшърЄюЁ ЄЁрэёы Ўшш - ёЄЁюъє Єшяр
live_74829844_mfrdpoeg034tn03gn03ring3f0rngc. ╟рЄхь ¤ЄюЄ шфхэЄшЇшърЄюЁ эєцэю
тёЄртшЄ№ т рфЁхё ЄЁрэёы Ўшш т ярЁрьхЄЁх ffmpeg.vout.
╧юёых Єюую, ъръ эрёЄЁющъш уюЄют√, чряєёърхь ¤ьєы ЄюЁ, чряєёърхь чряшё№ тшфхю -
ЄЁрэёы Ўш эрўрырё№. ╟ЁшЄхыш ьюуєЄ тшфхЄ№ ¤ъЁрэ ¤ьєы ЄюЁр эр тр°хщ ёЄЁрэшўъх.
╧ЁшьхЁ фы justin.tv (шфхэЄшЇшърЄюЁ яюфёЄртшЄ№ ётющ):
ffmpeg.parm=-af volume=3.000000 -r 10 -ss 00:00:00.500 -f flv -tune zerolatency
ffmpeg.vout=rtmp://live.justin.tv/app/live_74829844_mfrdpoeg034tn03gn03ring3f0rngc
╧ЁшьхЁ фы own3d.tv (шфхэЄшЇшърЄюЁ яюфёЄртшЄ№ ётющ):
ffmpeg.parm=-af volume=3.000000 -r 25 -ss 00:00:00.500 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -profile:v baseline -crf 10 -f flv -tune zerolatency
ffmpeg.vout=rtmp://live.eu.own3d.tv/live/b8493921_949585_kjhb5632l3l1
╧ЁшьхЁ фы twitch.tv (шфхэЄшЇшърЄюЁ яюфёЄртшЄ№ ётющ):
ffmpeg.parm=-af volume=3.000000 -r 30 -ss 00:00:00.500 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -profile:v baseline -crf 35 -f flv -tune zerolatency
ffmpeg.vout=rtmp://live.justin.tv/app/live_sub_5b8ed4fae83fe83e920227337beab7e73b7a3ba3
═рыюцхэшх чтєър ьшъЁюЇюэр (ьюцхЄ ЁрсюЄрЄ№ эхъюЁЁхъЄэю)
------------------------------------------------------
ffmpeg єьххЄ чрїтрЄ√трЄ№ чтєъ ёю чтєъютющ ърЁЄ√ ш ърЁЄшэъє ё ¤ъЁрэр/ърьхЁ.
─ы т√тюфр тёхї шьх■∙шїё т ёшёЄхьх єёЄЁющёЄт эхюсїюфшью т√яюыэшЄ№ ъюьрэфє:
ffmpeg -list_devices true -f dshow -i dummy
╩юьрэфр т√тхфхЄ яЁшьхЁэю ёыхфє■∙хх:
ffmpeg version N-48785-g2ea3f37 Copyright (c) 2000-2013 the FFmpeg developers
built on Jan 12 2013 20:40:36 with gcc 4.7.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-
avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --
enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable
-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-
amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --
enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib --enable-
filter=frei0r
libavutil 52. 14.100 / 52. 14.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.107 / 54. 59.107
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
[dshow @ 02444020] DirectShow video devices
[dshow @ 02444020] Could not enumerate video devices.
[dshow @ 02444020] DirectShow audio devices
[dshow @ 02444020] "Realtek AC97 Audio"
dummy: Immediate exit requested
╟фхё№ ь√ тшфшь, ўЄю фюёЄєяэю чтєъютюх єёЄЁющёЄтю "Realtek AC97 Audio". ─ы
ьшъ°шЁютрэш чтєър ьшъЁюЇюэр ш чтєър шч ¤ьєы ЄюЁр, эєцэю фюсртшЄ№ шёЄюўэшъ чтєър
-f dshow -i audio="Realtek AC97 Audio"
ш шёяюы№чютрЄ№ юяЎш■
-filter_complex amix=inputs=2:duration=shortest
фы ьшъ°шЁютрэш фтєї чтєъют√ї яюЄюъют т юфшэ (т ьшъ°хЁх чряшёш Windows фюыцхэ
с√Є№ т√сЁрэ ьшъЁюЇюэ).
ffmpeg.parm=-f dshow -i audio="Realtek AC97 Audio" -r 10 -ss 00:00:00.500 -f flv -tune zerolatency
ffmpeg.vout=rtmp://live.justin.tv/app/live_74829844_mfrdpoeg034tn03gn03ring3f0rngc
├фх ёърўрЄ№ ffmpeg?
-------------------
* ╬ЇшЎшры№э√щ ёрщЄ: http://ffmpeg.org/
* ╤сюЁър яюф windows: http://ffmpeg.zeranoe.com/builds/
╧юыхчэ√х ёё√ыъш яю ffmpeg
-------------------------
* http://ffmpeg.org/documentation.html - фюъєьхэЄрЎш
* http://ffmpeg.org/trac/ffmpeg/wiki - ъєўр яЁшьхЁют шёяюы№чютрэш ,
ЁєъютюфёЄтр яю ёцрЄш ь, ЄЁрэёы Ўшш ш Є.я.