天天看點

ffmpeg 學習筆記

轉換視訊

1

2

<code>ffmpeg -i input.mp4 output.mp4</code>

<code>ffmpeg -i input.mp4 -c:</code><code>v</code> <code>libx264 -c:a libfaac output.mp4</code>

提取音頻:

<code>ffmpeg -i 0.mp4 -id3v2_version 3 out.mp3</code>

提取視訊:

<code>ffmpeg -i 0.mp4 -c:</code><code>v</code> <code>libx264 -an output5.mp4</code>

把音視訊檔案合并

<code>ffmpeg -i out.mp3 -i output5.mp4 -map 0:0 -map 1:0 -c:</code><code>v</code> <code>copy -c:a copy output6.mp4</code>

視訊中添加文字

<code>ffmpeg -i output5.mp4 -vf </code><code>"drawtext=text='lihuibin':fontfile=/usr/share/fonts/truetype/ttf-indic-fonts-core/utkal.ttf:fontsize=24:[email protected]:x=w-tw-20:y=h-th-20"</code> <code>-c:</code><code>v</code> <code>libx264 -c:a copy output8.mp4</code>

把圖檔轉化成透明

<code>convert logo.png -channel a -evaluate </code><code>set</code> <code>60% logo1.png</code>

給視訊打水印

<code>ffmpeg -i 0.mp4 -i logo.png -filter_complex </code><code>'overlay=main_w-overlay_w-20:20'</code> <code>output11.mp4</code>

把視訊轉變成gif

3

<code>ffmpeg -i 0.mp4 -r 5 tmp/%03d.png</code>

<code>convert -delay 1x5 tmp/*.png output.gif</code>

<code>convert -delay 1x5 tmp/*.png -layers OptimizeTransparency output3.gif</code>

截取視訊

<code>ffmpeg -i 0.mp4 -ss 25 -t 15 output.mp4</code>

鏡面倒影特效

<code>ffmpeg -i input.mp4 -vf </code><code>'split[up][down];[up]pad=iw:ih*2[up];[down]vflip[down];[up][down]overlay=0:h'</code> <code>output.mp4</code>

給視訊添加字幕

<code>ffmpeg -i input.mp4 -i input.srt -c copy output3.mkv</code>

input.srt字幕資訊

4

5

6

7

8

9

<code>1</code>

<code>00:00:00,000 --&gt; 00:00:03,000</code>

<code>大家好,我是宅鳥</code>

<code>2</code>

<code>00:00:05,000 --&gt; 00:00:09,000</code>

<code>我們可以使用&lt;b&gt;ffmpeg&lt;/b&gt;,在視訊中嵌入字幕</code>

<code>3</code>

<code>00:00:11,000 --&gt; 00:00:15,000</code>

<code>請關注我的微網誌:&lt;font color="red"&gt;http://birdinroom.blog.51cto.com/&lt;/font&gt;</code>

合并視訊檔案

<code>printf</code> <code>"file '%s'\n"</code> <code>mp4/*.mp4|ffmpeg -f concat -i - -c copy output012.mp4</code>

分割檔案

<code>ffmpeg -i tig.mov -c copy -map 0 -f segment -segment_time 300 parts</code><code>/tig_</code><code>%d.flv</code>

擷取視訊第一幀截圖

<code>timeout 3 ffmpeg -i </code><code>test</code><code>.mp4 -y -f image2 -ss 00:00:00 -vframes 1 -s 320*480 </code><code>test</code><code>.jpg</code>

<code>timeout 3  ffmpeg -ss 00:00:00 -i test_video.ts -vcodec mjpeg -vframes 1 -an -f rawvideo -s 240x480 -y </code><code>test</code><code>.jpg</code>

<code>ffmpeg -ss 00:10:05 -i gongfuyujia.mp4  -f image2  -vframes 1 -s 1024*960  -y test6.jpg</code>

mac下ffmpeg采集攝像頭和麥克風 推流到rtmp伺服器端

<code>ffmpeg -f avfoundation -framerate 30 -video_size 1280x720 -i </code><code>"0:0"</code>  <code>-tune zerolatency  -vcodec libx264 -preset faster -acodec libmp3lame -ar 44100 -ac 1 -b:</code><code>v</code> <code>3m -b:a 128K -f flv rtmp:</code><code>//localhost/rtmpdemo/test1</code>

<code>ffplay </code><code>"rtmp://localhost/rtmpdemo/test1 live=1"</code>

多ts檔案合并成mp4

<code>ffmpeg -i concat:1.ts|2.ts|3.ts|4.ts|5.ts -bsf:a aac_adtstoasc -c copy -vcodec copy 1.mp4</code>

本文轉自birdinroom 51CTO部落格,原文連結:http://blog.51cto.com/birdinroom/1661088,如需轉載請自行聯系原作者

繼續閱讀