Sunteți pe pagina 1din 9

preview video:

ffmpeg -i "23La Bella e la Bestia (1991).mp4" -vf "scale=1280:720" -pix_fmt


yuv420p -f matroska - | ffplay -

https://www.youtube.com/playlist?list=PLcT6A4N2CRF4Wo_jn-_DDdVX1R--TE0rV
cach join file:
voi file mp4 chuyen het ve .ts roi dung cau lenh sau: ffmpeg -i
"concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4

EQ audio:
equalizer=f=32:width_type=o:width=1:g=3,
equalizer=f=64:width_type=o:width=1:g=6,
equalizer=f=125:width_type=o:width=1:g=9,
equalizer=f=250:width_type=o:width=1:g=8,
equalizer=f=500:width_type=o:width=1:g=6,
equalizer=f=1000:width_type=o:width=1:g=5,
equalizer=f=2000:width_type=o:width=1:g=7,
equalizer=f=4000:width_type=o:width=1:g=9,
equalizer=f=8000:width_type=o:width=1:g=11,
equalizer=f=16000:width_type=o:width=1:g=8

//nguyen ly cai padd co size lon hon video. vi du: video nay scale lai la 720x480
co padding moi canh la 10 => video se phai scale lai 720-20 va 480-20 => la 700:460
ffmpeg -y -i a.mp4 -vf scale=700:460,pad=720:480:10:10:color=green out.mkv

cat file theo sequence:


ffmpeg -i b.mp4 -c copy -map 0 -segment_time 180 -f segment split/output%03d.mp4
ffmpeg -i b.mp4 -c copy -segment_time 180 -f segment split/output%03d.mp4

ffmpeg -i b.mp4 -acodec copy -f segment -segment_time 180 -vcodec copy


-reset_timestamps 1 split/output%03d.mp4

split ra nhieu file nho:


ffmpeg -i S11E16.mp4 -vf setpts=PTS/1.2 -af atempo=1.2,volume=2.0 -r 29 -ab 128k
-ar 48k -ac 2 -b 1049k -f segment -segment_time 60 -reset_timestamps 1 -map 0 ffff
%d.avi
ffmpeg -i S11E16.mp4 -f segment -segment_time 60 -reset_timestamps 1 -map 0 ffff
%d.avi

add subtitle to video


ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
voi file mp4:
c1: ffmpeg -i se.mp4 -i sub.srt -c:s mov_text -c:v copy -c:a copy outfile.mp4

extract subtitle
ffmpeg -i eye.mkv -an -vn -c:s:1 srct sub.srt

extract image:
ffmpeg -i bg.mp4 -t 05 -r 1 -f image2 bgs/image-%3d.png
In this example each image will have a duration of 5 seconds (the inverse of 1/5
frames per second). The video stream will have a frame rate of 30 fps by
duplicating the frames accordingly:
ffmpeg -framerate 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images
extract audio:
./ffmpeg -i dog1.mp4 -a:c copy -v:c copy -vn dog.mp3
./ffmpeg -i out.mp4 -vn eye.mp3
(-vn is no video)

remove audio:
./ffmpeg -i out_split.mp4 -c copy -an mtp_video_no_sound.mp4

add audio to video


./ffmpeg -i upload.mkv -i se1.mp3 -map 0:0 -map 1:0 output_mix.mkv

mix 2 audio:(longest, shortest)


./ffmpeg -i mtp_audio.mp3 -i noise.mp3 -filter_complex "[0:0][1:0]
amix=inputs=2:duration=shortest" -c:a libmp3lame mix_audio.mp3

rotate video:
ffmpeg -i in.mp4 -vf "rotate=PI/2" out.mp4
ffmpeg.exe -i 001.mp4 -vf "rotate=-PI/60" -t 00:00:30 out.mp4

crop video:
./ffmpeg -i a.mp4 -strict -2 -filter:v "crop=1280:720:20:20" out.mp4
http://video.stackexchange.com/questions/4563/how-can-i-crop-a-video-with-ffmpeg

//zoom video
ffmpeg -i 001.mp4 -vf scale=2*iw:-1 output_1028_001.mp4

scale video:
ffmpeg -i 001.mp4 -vf scale=1280:-1 output_1028_001.mp4
https://trac.ffmpeg.org/wiki/Scaling%20(resizing)%20with%20ffmpeg

zoom video and crop: e.g. to zoom in with a factor of 2, assuming an input video of
1280×720 pixels:
ffmpeg -i input.mp4 -vf "scale=2*iw:-1, crop=iw/2:ih/2" output.mp4

chinh spitch video:


https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video

Split video to multi part:


./ffmpeg -i a.mp4 -acodec copy -f segment -segment_time 10 -vcodec copy
-reset_timestamps 1 -map 0 -an a%d.mp4
./ffmpeg -i a.mp4 -codec copy -t 00:00:25.5 out1.mp4 -codec copy -ss 00:00:25.5 -t
00:00:33.75 out2.mp4
split by time:
./ffmpeg -ss 00:01:45 -i rs/vtv3_27052015.ts -t 00:47:45 -c:v libx264 -c:a aac
-strict experimental -b:a 128k out_upload.mp4
./ffmpeg -ss 00:00:25 -i "data/Tom_And_Jerry Diary.avi" -t 00:06:17 -c:v libx264
-c:a aac -strict experimental -b:a 128k Tom_And_Jerry_Diary.mp4

cat 1 trogn 1 thoi diem:


./ffmpeg -v quiet -y -i ts_562015.mp4 -vcodec copy -acodec copy -ss 00:00:25 -t
00:26:02 -sn thoi_su_05062015.mkv

//noi 2 file
ffmpeg -i concat:"001.ts|002.ts|003.ts|004.ts" -c copy output.ts
voi mp4 phai chuyen ve ts
ffmpeg -i BMH1_01.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts BMH1_01.ts
ffmpeg -i BMH1_02.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts BMH1_02.ts
ffmpeg -i "concat:BMH1_01.ts|BMH1_02.ts" -c copy -bsf:a aac_adtstoasc
BAN_MUON_HEN_HO_14062015.ts

//cat 2 doan strong 1 thoi diem


echo "Two commands"
time ./ffmpeg -v quiet -y -i rs/vtv1_28052015_12_00.ts -vcodec copy -acodec copy
-ss 00:01:30 -t 00:54:10 -sn thoi_su_12h.mkv
time ffmpeg -v quiet -y -i input.ts -vcodec copy -acodec copy -ss 00:30:00 -t
01:00:00 -sn test2.mkv
echo "One command"

./ffmpeg -v quiet -y -i ts_19h.mp4 -vcodec copy -acodec copy -ss 00:00:19 -t


00:37:11 -sn thoi_su_19h_04062015.mkv
12:27 25:00-

chuong trinh 60s


./ffmpeg -v quiet -y -i raw.mp4 -vcodec copy -acodec copy -ss 00:00:32 -t 00:06:38
-sn 60s_01.mp4 -vcodec copy -acodec copy -ss 00:09:50 -t 00:04:00 -sn 60s_02.mp4
-vcodec copy -acodec copy -ss 00:16:36 -t 00:08:22 -sn 60s_03.mp4
ffmpeg -i "concat:60s_01.ts|60s_02.ts|60s_03.ts" -c copy -bsf:a aac_adtstoasc
60s_14062015.mkv

ffmpeg -i 60s_01.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 60s_01.ts


ffmpeg -i 60s_02.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 60s_02.ts
ffmpeg -i 60s_03.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 60s_03.ts

./ffmpeg -v quiet -y -i BAN_MUON_HEN_HO_14_06_2015.mp4 -vcodec copy -acodec copy


-ss 00:00:00 -t 00:09:35 -sn BMH1_01.mp4 -vcodec copy -acodec copy -ss 00:12:27 -t
00:12:33 -sn BMH1_02.mp4

./ffmpeg -v quiet -y -i rs/60s_05062015_raw.ts -vcodec copy -acodec copy -ss


00:10:33 -t 00:04:10 -sn 60s_02.ts

./ffmpeg -v quiet -y -i rs/60s_05062015_raw.ts -vcodec copy -acodec copy -ss


00:17:32 -t 00:08:31 -sn 60s_03.ts

./ffmpeg -v quiet -y -i 60s_01062015.ts -vcodec copy -acodec copy -ss 00:08:33 -t


00:02:11 -sn 60s_01.ts -vcodec copy -acodec copy -ss 00:12:18 -t 00:03:09 -sn
60s_02.ts -vcodec copy -acodec copy -ss 00:17:35 -t 00:05:07 -sn 60s_03.ts -vcodec
copy -acodec copy -ss 00:25:32 -t 00:07:42 -sn 60s_04.ts
* note: nen dat ss truoc -i de video ko bi black frame
ffmpeg -y -ss 00:08:33 -i "Nick Cannon Presents Wild N Out S07E01 - Fabolous_Kevin
Hart.mp4" -vcodec copy -acodec copy -t 00:02:11 -sn 60s_01.mkv

./ffmpeg -loop 1 -i img.png -r 25 -vframes 2500 -an -vcodec libx264 -b 1500k -vf
"movie=a0.mp4 [logo]; [in][logo] overlay=0:0 [out]" -s 800x464 -y output.mp4

./ffmpeg -i a0.mp4 -i img.png -filter_complex \


"[0:v]pad=0:ih+20[bg];[bg][1:v]overlay=0:H-h,format=yuv420p[v]" \
-map "[v]" -c:v libx264 -c:a aac -strict -2 -movflags +faststart output.mp4

./ffmpeg -loop 1 -i img.png -i out1.mp4 -filter_complex overlay=0:0 out.mp4

//add image frame front video


./ffmpeg -i chorma_ok.jpg -i out.mp4 -filter_complex "overlay=(main_w-
overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output.mp4
./ffmpeg -i output_compress.mp4 -i bg1.png -filter_complex overlay=00:00 -codec:a
copy upload.mp4
./ffmpeg -i out.mp4 -i chorma_ok.jpg -filter_complex "overlay=00:00" -codec:a copy
output.mp4

==> add video len image


+ add 2 video
./ffmpeg -loop 1 -i img.png -i out1.mp4 -i out2.mp4 -filter_complex
"[0:v]scale=1280:-2[bg]; [1:v]scale=800:-1,setpts=PTS-STARTPTS[fg1];
[2:v]scale=100:-1,setpts=PTS-STARTPTS[fg2]; [bg][fg1]overlay=70:70:shortest=1[ol];
[ol][fg2]overlay=300:70,format=yuv420p[v]" output.mp4
+add 1 video
./ffmpeg -loop 1 -i 2048.png -i input.mp4 -filter_complex "[0:v]scale=2048:480[bg];
[1:v]scale=800:-1[fg1]; [bg][fg1]overlay=(main_w-overlay_w)/2:(main_h-
overlay_h)/2:shortest=1" -t 00:04:30 output.mp4

ffmpeg -loop 1 -i bg.jpg -i 002.mp4 -filter_complex "[0:v]scale=1920:1080[bg];


[1:v]scale=1280:-1,setpts=PTS-STARTPTS[fg1]; [bg][fg1]overlay=(main_w-overlay_w)/2:
(main_h-overlay_h)/2:shortest=1" output.mp4
ffmpeg -i output.mp4 -vf "rotate=-PI/60" 002_rotate.mp4
ffmpeg -i 002_rotate.mp4 -filter:v "crop=1280:720:320:180" 001_upload.mkv

+ image + audio => video:


ffmpeg -loop 1 -y -i index.jpg -i output.mp3 -acodec copy -vf "scale=1280:720"
result.mp4

==> giam pass


./ffmpeg -i eng.mp3 -af "highpass=f=100, lowpass=f=1000" out.mp3

==>tang bitrate
./ffmpeg -i eng.mp3 -ab 320 outputfile.mp3

=> tang volume:


./ffmpeg -i noise.mp3 -af 'volume=0.5' -ab 320k noise-50.mp3
./ffmpeg -i noise.mp3 -af 'volume=50dB' -ab 128k noise-50.mp3

=> giam volume:


./ffmpeg -i noise.mp3 -af 'volume=-0.5' -ab 320k noise-50.mp3
./ffmpeg -i noise.mp3 -af 'volume=-50dB' -ab 128k noise-50.mp3

./ffmpeg -ss 00:00:45 -i stmpt.mp4 -t 00:04:50 -c:v libx264 -c:a aac -strict
experimental -b:a 128k out_upload.mp4
./ffmpeg -i out_split.mp4 -af "highpass=f=100, lowpass=f=1000" out_split_1.mp4

//nen hinh
./ffmpeg -i output_mix.mp4 -c:v libx264 -strict -2 -crf 45 -b:v 1M -c:a aac
output_compress.mp4

change pitch:
./ffmpeg -i out_split_add_frame.pm3 -f:a atempo=1.25 out.mp3
./ffmpeg -i output_compress.mp4 -strict -2 -filter:a "atempo=1.25,atempo=1.25"
out_ok.mp4

scale:
ffmpeg -loop 1 -i bg.png -i Input-001.mkv -filter_complex "[0:v]scale=1280:-2[bg];
[1:v]scale=645:-1,setpts=PTS-STARTPTS[fg1]; [bg][fg1]overlay=324:83:shortest=1"
output2mkv

streaming link m3u8:


./ffmpeg -i 'http://m3.xemtvhd.com/chn/vtv3/v.m3u8' -strict -2 -hls_list_size 0
-hls_time 10 -hls_segment_filename 'rs/file%03d.ts' rs/out.m3u8

./ffmpeg -i 'http://m3.xemtvhd.com/chn/vtv3/v.m3u8' -strict -2


'rs/vtv3_27052015.ts'
./ffmpeg -i 'http://m3.xemtvhd.com/chn/vtv1/v.m3u8' -strict -2
'rs/vtv1_28052015_09_00.ts'

streming theo thoi gian:

ffmpeg -i
"http://htqjrpsv.cdnviet.com/htjzzsg/_definst_/htv7.720p.stream/playlist.m3u8?
t=1bc15bdab7daf1070be66401f49df8df&e=1433210696" -strict -2 -t 00:05:00
"C:\ffmpeg\bin\rs\htv_01062015.mp4"

metadata
./ffmpeg -i Tom_And_Jerry_Diary_update.mp4 -metadata title="Tom & Jerry channel"
-metadata encoder="h264" -metadata artist="Tom & Jerry" -metadata album="Tom &
Jerry" Tom_And_Jerry_Diary.mp4

extract image:
./ffmpeg -i Tom_And_Jerry_Diary.mp4 -r 1 -f image2 image-%3d.jpeg
-r This is used to set the frame rate of video. i.e. no. of frames to be extracted
into images per second. The default value is 25, using which, would have yielded a
large number of images.
-f This option defines the format we want to force/use, although removing this
option shouldn't cause any problem.
image-%3d.jpeg By %3d, we mean that we want the naming of the image files to be of
the format "image-001.jpeg, image-002.jpeg.." and so on. If we had used image-%2d
the names would have been image-01.jpeg, image-02.jpeg. You can use any format as
per your choice.

chuyen m2t -> mkv


cach 1:
ffmpeg -i input.mt2s -scodec copy -acodec copy -vcodec copy -f matroska input.mkv
cach 2:
The easiest tool to use is mkvmerge, which is part of the mkvtoolnix package. To
convert your file:
sudo apt-get install mkvtoolnix
mkvmerge -o output.mkv input.m2ts
cach 3: https://handbrake.fr

Tao 4 video tren 1 man hinh nhu camera theo doi


https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input
%20videos
ffmpeg
-i 1.avi -i 2.avi -i 3.avi -i 4.avi
-filter_complex "
nullsrc=size=640x480 [base];
[0:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft];
[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright];
[2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft];
[3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright];
[base][upperleft] overlay=shortest=1 [tmp1];
[tmp1][upperright] overlay=shortest=1:x=320 [tmp2];
[tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3];
[tmp3][lowerright] overlay=shortest=1:x=320:y=240
"
-c:v libx264 output.mkv

Delogo
ffmpeg -i 2.mp4 -vf delogo=x=0:y=1000:w=100:h=50:band=10 out.mp4

Stereo:
https://trac.ffmpeg.org/wiki/AudioChannelManipulation

+ Join file theo file dinh nghia san:


- ffmpeg -f concat -i join.txt -c copy outputmp4
- cau truc file:
# this is a comment
file 'bg_.mp4'
file 'bg_.mp4'
file 'bg_.mp4'

+ cho overlay ben tren co opacity


ffmpeg -y -i b.mkv -filter_complex "[0:v]scale=800:-1[v1];[0:v]scale=800:-
1,format=yuva420p,colorchannelmixer=aa=0.5[v2];[a]pan=stereo|c0<c0+0*c1|
c1<c0+0*c1,aeval=val(0)|-val(1)[audio];[v1][v2]overlay=100:100[video]" -vcodec
libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 2500k -acodec libmp3lame -b:a 128k -ar
44100 -preset ultrafast -map [video] -map [audio] out.mkv
=> thay set aa la opacity mong muon
ffmpeg -i input.mp4 -af "atempo=1.27,volume=1.6" -vf "hflip
,setpts=PTS/1.27,"crop=iw/2:ih/2",scale=1280:720,boxblur=1:1 [mv]; movie=90xanh.png
[f1]; [mv][f1]overlay=0:0" -vcodec libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 2500k
-acodec libmp3lame -b:a 128k -ar 44100 -preset ultrafast output.mp4
ffmpeg -i input.mp4 -af "atempo=1.27,volume=1.6" -vf "hflip
,setpts=PTS/1.27,scale=1280:720,"crop=iw/2:ih/2",boxblur=1:1 [mv];
movie=90xanh.png[opacity=50%];[mv][opacity=50%]overlay=0:0" -vcodec libx264
-pix_fmt yuv420p -r 30 -g 60 -b:v 2500k -acodec libmp3lame -b:a 128k -ar 44100
-preset ultrafast -preset ultrafast output.mp4

lach full:
ffmpeg -y -i a.mp4 -filter_complex "[0:v]scale=800:-1[v1];[0:v]scale=800:-
1,boxblur=10:6,format=yuva420p,colorchannelmixer=aa=0.15[v2];[a]pan=stereo|
c0<c0+0*c1|c1<c0+0*c1,aeval=val(0)|-val(1)[audio];[v1][v2]overlay=0:0[video]"
-vcodec libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 2500k -acodec libmp3lame -b:a
128k -ar 44100 -preset ultrafast -map [video] -map [audio] out.mkv

* lap lai 1 loat background image:


+ ffmpeg -i bg1.mp4 -f image2 bgs/image-%3d.png
+ ffmpeg -y -loop 1 -i bgs/image-%3d.png -i b.mp4 -r 29.97 -ab 128k -ar 48k -ac 2
-filter_complex "[0:v] scale=858:480[v0];[1:v]setpts=PTS/1.15,scale=541:302[v2];
[1:a]atempo=1.15,aecho=0.8:0.88:6:0.4[audio];[v0][v2]overlay=main_w-overlay_w - 11:
(main_h-overlay_h)/2+9:shortest=1[video]" -map "[video]" -map "[audio]" abc1.mkv
Flip video:
1. Flip video vertically:
ffmpeg -i INPUT -vf vflip -c:a copy OUTPUT

2. Flip video horizontally:


ffmpeg -i INPUT -vf hflip -c:a copy OUTPUT

3. Rotate 90 degrees clockwise:


ffmpeg -i INPUT -vf transpose=1 -c:a copy OUTPUT

4. Rotate 90 degrees counterclockwise:


ffmpeg -i INPUT -vf transpose=2 -c:a copy OUTPUT

//lach nhac nghe tren mobile luon:


ffmpeg -y -i one_pice.mp4 -vf "setpts=PTS/1.15,crop=in_w/5:in_h/5" -acodec
libmp3lame -ab 128k -ar 48k -ac 2 -af
"atempo=1.15,equalizer=f=32:width_type=o:width=1:g=-
5,equalizer=f=64:width_type=o:width=1:g=-5,equalizer=f=125:width_type=o:width=1:g=-
5,equalizer=f=250:width_type=o:width=1:g=-
5,equalizer=f=500:width_type=o:width=1:g=-
5,equalizer=f=1000:width_type=o:width=1:g=-
5,equalizer=f=2000:width_type=o:width=1:g=-
5,equalizer=f=4000:width_type=o:width=1:g=-
5,equalizer=f=8000:width_type=o:width=1:g=-
5,equalizer=f=16000:width_type=o:width=1:g=-5,aecho=0.8:0.88:6:0.4,pan=1c|
c0=0.9*c0+0.1*c1,pan=stereo|FL<FL+0.5*FC+0.6*BL+0.6*SL|FR<FR+0.5*FC+0.6*BR+0.6*SR"
-vcodec libx264 -pix_fmt yuv420p -r 29 -g 60 -b:v 2500k -preset ultrafast out.mkv

ffmpeg -y -i wmyb.mp4 -vf "setpts=PTS/1.13,crop=300:100" -af


"atempo=1.13,equalizer=f=250:width_type=o:width=1:g=-
5,equalizer=f=500:width_type=o:width=1:g=-
5,equalizer=f=1000:width_type=o:width=1:g=-
5,equalizer=f=2000:width_type=o:width=1:g=-
5,equalizer=f=4000:width_type=o:width=1:g=-
5,equalizer=f=8000:width_type=o:width=1:g=-
5,equalizer=f=16000:width_type=o:width=1:g=-5,aecho=0.8:0.88:6:0.4,pan=stereo|
c0=c0|c1=-1*c1,aeval='-val(0)':c=same,volume=1.5" wm.mkv

ffmpeg -y -i wmyb.mp4 -af


"highpass=f=200,lowpass=f=3500,atempo=1.15,equalizer=f=400:width_type=o:width=2:g=5
,equalizer=f=999:width_type=h:width=220:g=-12,compand=.3|.3:1|1:-90/-60|-60/-40|-
40/-30|-20/-20:6:0:-90:0.2,aecho=0.8:0.8:12:0.4,pan=stereo|c0=c0|c1=-1*c1,aeval='-
val(0)':c=same,volume=1.5" -preset ultrafast a.mp3

//lach background hinh dong


https://www.youtube.com/c/hongthuonghd/videos
ffmpeg -i bg1.mp4 -vf "scale=1280:720" -f image2 bgs/image-%3d.png

//(main_w-overlay_w)/2:(main_h-overlay_h)-10
ffmpeg -y -loop 1 -i bgs/image-%3d.png -i one_pice.mp4 -r 29.97 -ab 128k -ar 48k
-ac 2 -filter_complex "[0:v] scale=1280:720[v0];
[1:v]setpts=PTS/1.15,scale=896:504[v2];
[1:a]atempo=1.15,aecho=0.8:0.88:6:0.4,pan=1c|c0=0.9*c0+0.1*c1[audio];[v0]
[v2]overlay=10:(main_h-overlay_h)-10:shortest=1[video]" -map "[video]" -map
"[audio]" -b:v 1000k -t 00:14:00 -preset ultrafast out.mkv
ffmpeg -i 000001.mp4 -vf scale=1280:720,setdar=16:9 -r 29.97 -b:v 44100K -ab 128k
-ar 44100 -ac 2 out.avi

//nối 2 file hình vào đầu và đuôi của videoffmpeg -i "OSSSO Fusion Musical
Experience - The Concert on July 14, Russia!.mp4" -r 24 -b:v 4000k -vf
scale=1920:1080 -threads 3 -t 01:23:05 out1.avi
ffmpeg -y -loop 1 -i 1.jpg -i audio.mp3 -r 24 -b:v 4000k -t 00:00:05 1.avi
ffmpeg -y -loop 1 -i 2.jpg audio.mp3 -r 24 -b:v 4000k -t 00:00:05 2.avi
ffmpeg -f concat -i mylist.txt -c:v copy c:a copy final.avi

Vẽ sóng âm cho âm thanh:


ffmpeg -y -i nguoi_kien.mp3 -loop 1 -i overlay.png -r 21.5784 -ac 2 -filter_complex
"[0:a]volume=2,asetrate=r=48000*(21.5784/23.976),atempo=23.976/21.5784,aecho=0.3:0.
48:6:0.4,highpass=f=200,equalizer=f=222:width_type=o:width=2:g=5,equalizer=f=444:wi
dth_type=h:width=220:g=-10,compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-
90:0.2,compand=attacks=0:points=-80/-80|-12.4/-12.4|-6/-8|0/-6.8|20/-
2.8,aecho=0.3:0.48:5:0.4,aresample=async=50,volume=25dB,bs2b=profile=jmeier,allpass
=f=950,treble=g=10,bandpass=f=2500:csg=1,earwax,aemphasis,tremolo=d=0.5,acompressor
=threshold=0.0135:ratio=20:attack=200:release=1000:makeup=3:mix=1,volume=2,volume=2
,aresample=10100,pan=stereo|c0<c0+c1|
c1<c1+c0,showwaves=s=1280x720:mode=line,colorkey=0x000000:0.01:0.1,format=yuva420p[
v];[1:v]scale=480:360[v1];[v1][v]overlay[outv]" -map "[outv]" -pix_fmt yuv420p -map
0:a -c:v libx264 -c:a copy -shortest -preset ultrafast nguoi_kien.mp4

***join mp3 lai voi nhau:


ffmpeg -i concat:"out1.mp3|out2.mp3" -acodec copy yo.mp3

***lay nhieu thumbnail tren 1 tam hinh


http://askubuntu.com/questions/377579/ffmpeg-output-screenshot-gallery
ffmpeg -y -i "23La Bella e la Bestia (1991).mp4" -vf
"select=gt(scene\,0.4),scale=160:-1,tile" -frames:v 1 -qscale:v 3 preview.jpg

****red green blue


https://trac.ffmpeg.org/wiki/FancyFilteringExamples

*convert avi chuan:


ffmpeg -y -ss 00:00:00 -i "a.mp4" -t 00:05:00 -vcodec libx264 -pix_fmt yuv420p -r
30 -g 60 -b:v 2500k -acodec libmp3lame -b:a 128k -ar 44100 -preset ultrafast
out.avi

* Meta title:
ffmpeg.exe -y -i wmyb.mp4 -vf "scale=858:480,eq=gamma_r=6:gamma_g=8:gamma_b=10"
-metadata title="" -metadata artist="" -metadata album_artist="" -metadata album=""
-metadata date="" -metadata track="" -metadata genre="" -metadata publisher=""
-metadata encoded_by="" -metadata copyright="" -metadata composer="" -metadata
performer="" -metadata TIT1="" -metadata TIT3="" -metadata disc="" -metadata
TKEY="" -metadata TBPM="" -metadata language="eng" -metadata encoder="" -an -preset
ultrafast out_rbg6810.mkv

cach lach zoom, chua test:


Bước 1: Thu nhỏ video chính lại còn 1/2 hoặc 1/3 hoặc 1/4, sử dụng 1 video nền
động phía sau để vượt qua bộ quét frame hình của thuật toán Youtube
Bước 2: Từ video xuất ra tiến hành zoom gần, phóng to dần video cho tới khi khung
hình của video nhỏ khớp với khung hình của toàn video
==> Vậy là ta sẽ được 1 video full màn hình (mất vài chục giây đầu video sẽ ko
full màn do chưa zoom xong hết)

ffmpeg -i bground.mp4 -i input.mp4 -filter_complex "nullsrc=size=1280x720 [vmain];


[0:v] setpts=PTS-STARTPTS, scale=1280:720 [vback]; [1:v] setpts=PTS-STARTPTS,
scale=640:468 [video]; [vmain][vback] overlay=shortest=1 [vid]; [vid][video]
overlay=shortest=0:x=320:y=180" -vcodec libx264 -profile:v high -level 4.0 -coder 1
-refs 3 -preset ultrafast -b:v 2932k -minrate 2932k -maxrate 2932k -bufsize 0k -an
outinput.mp4

ffmpeg -i outinput.mp4 -vf "zoompan=z='min(max(zoom,pzoom)+0.0015,2)':d=1:x='iw/2-


(iw/zoom/2)':y='ih/2-(ih/zoom/2)'" -vcodec libx264 -pix_fmt yuv420p -r 30 -g 60
-b:v 2932k -c:a copy -metadata title="" -metadata artist="" -metadata
album_artist="" -metadata album="" -metadata date="" -metadata track="" -metadata
genre="" -metadata publisher="" -metadata encoded_by="" -metadata copyright=""
-metadata composer="" -metadata performer="" -metadata TIT1="" -metadata TIT3=""
-metadata disc="" -metadata TKEY="" -metadata TBPM="" -metadata language="eng"
-metadata encoder="" -preset superfast output.mp4

S-ar putea să vă placă și