Erinevus lehekülje "FFmpeg" redaktsioonide vahel

Allikas: Kuutõrvaja
(Ffmpeg)
174. rida: 174. rida:
 
Algses näites on nii server kui klient ühes masinas aga tüüpiliselt võib neid
 
Algses näites on nii server kui klient ühes masinas aga tüüpiliselt võib neid
 
kasutada ka täiesti eraldi.  
 
kasutada ka täiesti eraldi.  
 +
 +
Soovides kiiremat reaktsiooniaega ning olles kvaliteetsemas võrgus võib buffreid väiksemaks keerata.
  
 
*http://ubuntuforums.org/archive/index.php/t-665607.html info algselt pärit siit lingilt
 
*http://ubuntuforums.org/archive/index.php/t-665607.html info algselt pärit siit lingilt

Redaktsioon: 16. juuni 2011, kell 13:57

Kasutamine

http://www.ffmpeg.org/

ffmpegi toetatud formaate saab vaadata käsurealt, vastavalt:

$ ffmpeg -codecs
$ ffmpeg -formats

Videokohta infot saab

$ ffmpeg -i video.avi

Muudame aktiivses kataloogis olevad jpg failid mpg failiks

$ ffmpeg -f image2 -i image%d.jpg video.mpg

Lammutame vastupidi videofaili jpg failideks

$ ffmpeg -i video.mpg image%d.jpg

(This will create 25 images for every 1 second, but it may serve us to have more or less images, this can be achieved with the parameter -r, -r fps Set frame rate [default 25])

Eemaldame videost heli ja salvestame mp3 formaati

$ ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3

Pakime avi faili divx koodekiga

$ ffmpeg -i source_video.avi -s 320x240 -vcodec msmpeg4v2 final_video.avi

Konverdime avi faili mpg formaati

$ ffmpeg -i video_origine.avi video_finale.mpg

Konverdime avi faili dvd mängijatele sobivaks mpeg failiks

$ ffmpeg -i source_video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 finale_video.mpeg

Ffmpeg suudab salvestada X11 pilti

$ ffmpeg -f x11grab -r 24 -s cif -i :0.0 /tmp/out.mpg

0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.

Kopeeri ainult lõik vieost

$ ffmpeg -vcodec copy -acodec copy -i orginalfile -ss 00:01:30 -t 0:0:20 newfile

Salvesta lõik veebikaamerast

$ ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 out.mpg

Nii heli kui video salvestamiseks

$ ffmpeg -f oss -i /dev/dsp -f video4linux2 -s 320x240 -i /dev/video0 out.mpg

Kodeerime tihendamata video kokku x264 formaati ja .mkv konteinerisse ffmpeg abil

$ ffmpeg -i 00000.m2ts -vf "crop=1920:816, scale=1280:544" -vcodec libx264 -preset veryfast -tune film -crf 18 \
-acodec ac3 -ab 256k -sn -threads 0 Videofail.3.crf18.mkv

Algfailiks 00000.m2ts ja lõppfailiks Videofail.3.crf18.mkv

Crop ja scale tuleb iga konkreetse video puhul järgi vaadata. Kui mustad ääred ei häiri siis lihtsalt -vf "scale=1280:720"

Audio 5 kanaliga saamiseks muuta parameetrit -ab 448k

FFmpeg server

Eesmärk, jagada veebikaamera streami võrku

Avame selleks faili /etc/ffserver.conf

Ja kirjutame sinna järgneva info

Port 8090 
# bind to all IPs aliased or not 
BindAddress 0.0.0.0 
# max number of simultaneous clients 
MaxClients 1000 
# max bandwidth per-client (kb/s) 
MaxBandwidth 10000 
# Suppress that if you want to launch ffserver as a daemon. 
# NoDaemon

<Feed feed1.ffm> 
File /tmp/feed1.ffm 
FileMaxSize 5M 
</Feed> 

# FLV output - good for streaming 
<Stream test.flv> 
# the source feed 
Feed feed1.ffm 
# the output stream format - FLV = FLash Video 
Format flv 
VideoCodec flv 
# this must match the ffmpeg -r argument 
VideoFrameRate 15 
# generally leave this is a large number 
VideoBufferSize 80000 
# another quality tweak 
VideoBitRate 200 
# quality ranges - 1-31 (1 = best, 31 = worst) 
VideoQMin 1 
VideoQMax 5 
VideoSize 352x288 
# this sets how many seconds in past to start 
PreRoll 0 
# wecams don't have audio 
Noaudio 
</Stream> 

# ASF output - for windows media player 
<Stream test.asf> 
# the source feed 
Feed feed1.ffm 
# the output stream format - ASF 
Format asf 
VideoCodec msmpeg4 
# this must match the ffmpeg -r argument 
VideoFrameRate 15 
# generally leave this is a large number 
VideoBufferSize 80000 
# another quality tweak 
VideoBitRate 200 
# quality ranges - 1-31 (1 = best, 31 = worst) 
VideoQMin 1 
VideoQMax 5 
VideoSize 352x288 
# this sets how many seconds in past to start 
PreRoll 0 
# wecams don't have audio 
Noaudio 
</Stream> 

Stardime tehtud konfiga ffserveri, selleks

# ffserver


Ning seejärel paneme kliendi pumpama ffserveri peale videpilti

# ffmpeg -r 15 -s 352x288 -f video4linux -i /dev/video0 http://localhost:8090/feed1.ffm 

Video vaatamiseks tuleb enda lemmik videomängijaga avada url http://localhost:8090/test.flv või http://localhost:8090/test.asf.

Windows playeri puhul mms://<ip adress of ffserver machine>:8090/test.asf in IE

Võimalik on videot kodeerida ka swf, mpg või mõnda teise formaati. Dokumentatsioonis seletakse pikemalt Juhul kui interneti ühendus on aegnale võib seadistada VideoFrameRate madalamaks (1-5).

Selleks, et streamida flashi mängijale (swf)

Tuleb lisada ffserver.conf faili järgnevad read

<Stream test.swf>
Feed feed1.ffm
Format swf
VideoCodec flv
VideoFrameRate 2
VideoBufferSize 80000
VideoBitRate 100
VideoQMin 1
VideoQMax 5
VideoSize 352x288
PreRoll 0
Noaudio
</Stream>

Algses näites on nii server kui klient ühes masinas aga tüüpiliselt võib neid kasutada ka täiesti eraldi.

Soovides kiiremat reaktsiooniaega ning olles kvaliteetsemas võrgus võib buffreid väiksemaks keerata.