{"id":3494,"date":"2020-08-07T12:34:44","date_gmt":"2020-08-07T03:34:44","guid":{"rendered":"\/blog\/?p=3494"},"modified":"2024-07-04T14:43:17","modified_gmt":"2024-07-04T05:43:17","slug":"ffmpeg-%ec%82%ac%ec%9a%a9-%ec%98%b5%ec%85%98","status":"publish","type":"post","link":"https:\/\/hasu0707.duckdns.org\/blog\/?p=3494","title":{"rendered":"ffmpeg \uc0ac\uc6a9 \uc635\uc158"},"content":{"rendered":"\n<span style=\"font-family: \ub3cb\uc6c0\uccb4, \uad74\ub9bc\uccb4, \ub098\ub214\uace0\ub515\ucf54\ub529, \uad81\uc11c\uccb4; font-size: 12pt;\">\u25a0\uc2a4\ud2b8\ub9ac\ubc0d \ucd94\ucd9c<br \/>ffmpeg\ub85c \uc2a4\ud2b8\ub9ac\ubc0d \ucd94\ucd9c<br \/>ffmpeg\ub85c \uc2a4\ud2b8\ub9ac\ubc0d\uc744 \ubc1b\uc73c\ub824\uba74 .m3u8\uc774\ub098 .mp4\ub85c \ub41c \uc8fc\uc18c\ub97c \uc54c\uc544\uc57c \ud55c\ub2e4<br \/>ffmpeg -i \"m3u8\uc8fc\uc18c\" -c copy \uc800\uc7a5\ud560\ud30c\uc77c\uba85.ts<br \/>\uc790\uc138\ud55c \ubc29\ubc95 \ubcf4\ub824\uba74 (ffmpeg\ub85c \uc2a4\ud2b8\ub9ac\ubc0d \ucd94\ucd9c \uc608\ub97c \ubcf4\ub824\uba74)<br \/><a href=\"https:\/\/blog.naver.com\/peche99\/220816504552\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.naver.com\/peche99\/220816504552<\/a> [\uba5c\ub860 \uc601\uc0c1 \ucd94\ucd9c\ubc95] \uc73c\ub85c \uac00\uc11c \ubcf4\uba74 \ub428.<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1 \uc77c\uad04 \ubcc0\ud658 \uc2a4\ud06c\ub9bd\ud2b8 \uc0d8\ud50c<br \/>@ECHO OFF<br \/>CHCP 65001 1&gt; NUL 2&gt; NUL<br \/><br \/>SET \"SRC_DIR=.\"<br \/><br \/>FOR \/F \"TOKENS=*\" %%A IN ('DIR \/B \/ON %SRC_DIR%\\*.*') DO (<br \/>&nbsp; CALL :FUNC_FFMPEG_CONV \"%SRC_DIR%\\%%A\"<br \/>)<br \/><br \/>:FUNC_FFMPEG_CONV<br \/>&nbsp; SET OUT_FILE=%~N1.mp3<br \/>&nbsp; ffmpeg -i %1 -vn -af \"volume=5dB\" -ar 48000 -ac 2 -ab 320k -f mp3 \"%OUT_FILE%\"<br \/>&nbsp; GOTO :EOF<br \/><br \/><br \/>\u25a0FLAC to MP3<br \/>ffmpeg -i sample.flac -af \"volume=5dB\" -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 sample.mp3<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1 \ud569\uce58\uae30<br \/># \uc778\ucf54\ub529\uc740 UTF-8, \uacbd\ub85c \uad6c\ubd84\uc790 \\\ub294 \\\\\ub85c \uc791\uc131\ud55c\ub2e4.<br \/># \ud569\uce58\ub824\ub294 \ub3d9\uc601\uc0c1 \uc55e\uc5d0 file \ud0a4\uc6cc\ub4dc\ub97c \ub123\uc5b4\uc11c \uc791\uc131\ud55c\ub2e4.<br \/># ffmpeg -f concat -safe 0 -i d:\\downloads\\\ud569\uce60\ub3d9\uc601\uc0c1\ubaa9\ub85d.txt -c copy d:\\_ffmpeg\\ffmpeg_encoded\\\ub3d9\uc601\uc0c1\ud30c\uc77c\uba85.avi<br \/>file d:\\\\_ffmpeg\\\\ffmpeg_encoded\\\\\ub3d9\uc601\uc0c1\ud30c\uc77c\uba85_1OF2.avi<br \/>file d:\\\\_ffmpeg\\\\ffmpeg_encoded\\\\\ub3d9\uc601\uc0c1\ud30c\uc77c\uba85_2OF2.avi<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1\uc5d0\uc11c \uc624\ub514\uc624 \ucd94\ucd9c\uacfc \uc624\ub514\uc624 \ud3ec\ub9f7 \ubcc0\ud658<br \/>ffmpeg -i sample.avi -vn -af \"volume=5dB\" -ar 48000 -ac 2 -ab 320k -f mp3 sample.mp3<br \/>ffmpeg -i sample.opus -ss \"00:46:44\" -to \"00:52:42\" -vn -ar 48000 -ac 2 -ab 320k -f mp3 \"D:\\0_tmp\\output.mp3\"<br \/>ffmpeg -i sample.opus -vn -ar 48000 -ac 2 -ab 320k -f mp3 \"sample.mp3\"<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1\uc5d0 \uc624\ub514\uc624 \ud569\uce58\uae30<br \/>\uc624\ub514\uc624 \ub123\uc744 \uc601\uc0c1\uc5d0 \uc624\ub514\uc624\uac00 \uc5c6\ub294 \uacbd\uc6b0-\uc7ac\uc778\ucf54\ub529 \ud560 \ub54c<br \/>ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4<br \/>\uc624\ub514\uc624\ub098 \ube44\ub514\uc624 \ub458 \uc911\ud558\ub098\uac00 \ub354 \uae38\ub54c, -shortest \uc635\uc158\uc744 \ub123\uc73c\uba74 ffmpeg\uac00 \uc9e7\uc740 \ucabd\uc774 \ub05d\ub0a0 \ub54c \uc790\ub3d9\uc73c\ub85c \uc911\uc9c0\ud55c\ub2e4\uace0 \ud568<br \/><br \/>\uc624\ub514\uc624 \ub123\uc744 \uc601\uc0c1\uc5d0 \uc624\ub514\uc624\uac00 \uc5c6\ub294 \uacbd\uc6b0-\uc7ac\uc778\ucf54\ub529 \uc5c6\uc774 \uce74\ud53c<br \/>ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv<br \/><br \/>\uc624\ub514\uc624 \ub123\uc744 \uc601\uc0c1\uc5d0 \uc774\ubbf8 \uc624\ub514\uc624\uac00 \uc788\ub294 \uacbd\uc6b0-\uc624\ub514\uc624 \uad50\uccb4<br \/>ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 output.mp4<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1 \ud06c\ub86d(Crop)<br \/>ffmpeg -i \uc6d0\ubcf8\uc601\uc0c1.mp4 -filter:v \"crop=\uc601\uc0c1\uac00\ub85c:\uc601\uc0c1\uc138\ub85c:X:Y\" \uacb0\uacfc\ubb3c.mp4<br \/>(\uc6d0\ubcf8\uc601\uc0c1.mp4 \ub97c X,Y \uc9c0\uc810\ubd80\ud130 \uc601\uc0c1\uac00\ub85cx\uc601\uc0c1\uc138\ub85c \uc601\uc5ed\ub9cc\ud07c\ub9cc \ubf51\uc544\ub0c4)<br \/><br \/>\ub450\uac1c\uc758 \uc601\uc0c1\uc744 \ud55c\ud654\uba74\uc5d0 \uc591\uc606\uc73c\ub85c \ub098\ub780\ud788(Side by Side)<br \/><br \/>ffmpeg -i \uc601\uc0c11.mp4 -vf \"[in] pad=2*iw:ih [left]; movie=\uc601\uc0c12.mp4 [right]; [left][right] overlay=main_w\/2:0 [out]\" \uacb0\uacfc\ubb3c.mp4<br \/><br \/>(\ud654\uba74\ud06c\uae30\uac00 \uac19\uc740 2\uac1c\uc758 \ub3d9\uc601\uc0c1 \uc601\uc0c11.mp4, \uc601\uc0c12.mp4 \ub97c \ub098\ub780\ud788 \uc88c\uc6b0\ub85c \ubd99\uc5ec \uacb0\uacfc\ubb3c.mp4\ub85c)<br \/><br \/>\ub450\uac1c\uc758 \uc601\uc0c1\uc744 \ud55c\ud654\uba74\uc5d0 \uc544\ub798 \uc704\ub85c<br \/><br \/>ffmpeg -i input0 -i input1 -filter_complex vstack output<br \/>ffmpeg -i ver1-5.mp4 -vf \"[in] pad=iw:2*ih [top]; movie=ver2-5.mp4 [bottom]; [top][bottom] overlay=0:main_h\/2 [out]\" ver5-2.mp4<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1 \ud504\ub808\uc784 \ub298\ub9ac\uae30(\uc2ac\ub85c\uc6b0\/\ud328\uc2a4\ud2b8 \ube44\ub514\uc624 \ub9cc\ub4e4\uae30)<br \/>ffmpeg -i ~baekrokdam.mov -vf \"setpts=(1\/4)*PTS\" -an baekrokdam4x.mov<br \/><br \/>setpts=(1\/4)*PTS\uc758 1\/4\ub97c \uc6d0\ud558\ub294 \ubc30\uc18d\uc73c\ub85c \uc218\uc815.<br \/><br \/>\uc624\ub514\uc624\ub294 \uc7ac\uc0dd \uc18d\ub3c4\uac00 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc73c\ubbc0\ub85c -an \uc635\uc158\uc73c\ub85c \uc624\ub514\uc624 \uc81c\uac70.<br \/><br \/><br \/>\u25a0\ud654\uba74 \ud68c\uc804<br \/>ffmpeg -i in.mov -vf \"transpose=1\" out.mov<br \/><br \/>0 = 90CounterCLockwise and Vertical Flip (default)<br \/>1 = 90Clockwise<br \/>2 = 90CounterClockwise<br \/>3 = 90Clockwise and Vertical Flip<br \/><br \/>\uc790\ub9c9\ud30c\uc77c smi &rarr; srt \ubcc0\ud658<br \/><br \/>ffmpeg -i \uc790\ub9c9\ud30c\uc77c.smi \uc790\ub9c9\ud30c\uc77c.srt<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1\uc758 \ub4b7\ubd80\ubd84\uc5d0\uc11c TAIL_CUT_SEC\ucd08 \ub9cc\ud07c \uc798\ub77c\uc11c \uc800\uc7a5<br \/>#####################################################################<br \/>#<br \/># \uc708\ub3c4\uc6b0\uc5d0\uc11c cywin bash\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc544\ub798\uc640 \uac19\uc774 \uc2e4\ud589\ud55c\ub2e4.<br \/># bash -c \".\/sca.sh\"<br \/>#<br \/>#####################################################################<br \/>TAIL_CUT_SEC=15<br \/>SRC_DIR=\"d:\\videos\\video\"<br \/>DST_DIR=\"d:\\0_tmp\"<br \/><br \/>ffmpeg_conv() {<br \/>&nbsp; DURATION=$(ffprobe -i \"${SRC_DIR}\/${1}\" -show_entries format=DURATION -v quiet -of csv=\"p=0\")<br \/>&nbsp; TRIM=$(echo $DURATION | awk \"{print $DURATION - $TAIL_CUT_SEC};\")<br \/>&nbsp; ffmpeg -t $TRIM -i \"${SRC_DIR}\/${1}\" -c copy \"${DST_DIR}\/${1}\"<br \/>}<br \/><br \/>ffmpeg_conv \"TEST.AVI\"<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1 \ubd84\ud560(\uc77c\uc815\uad6c\uac04 \uc790\ub974\uae30)<br \/>\uc9c0\uc815\ub41c \uc2dc\uac04 \uc0ac\uc774\uc758 \ub3d9\uc601\uc0c1 \ubd84\ud560 \uba85\ub839 \ubc0f \uc124\uba85<br \/><br \/>ffmpeg -y -i \u24d0 -ss \u24d1 -to \u24d2 -vcodec copy \u24d3 -acodec copy \u24d4 \u24d5<br \/><br \/>\u24d0 -i &lt;\ubd84\ud560\ud30c\uc77c\uc774\ub984&gt; : \ubd84\ud560\ud560 \ub3d9\uc601\uc0c1 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<br \/>\u24d1 -ss &lt;\uc22b\uc790&gt; : \ubd84\ud560 \uc2dc\uc791\ud560 \uc2dc\uac04 \uac12. \ucd08 \ub2e8\uc704\ub85c \uc801\uc5b4\uc8fc\uac70\ub098, HH:MM:SS \ub85c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4.<br \/>\u24d2 -to &lt;\uc22b\uc790&gt; : \ubd84\ud560 \uc644\ub8cc\ud560 \uc2dc\uac04 \uac12. \ucd08 \ub2e8\uc704\ub85c \uc801\uc5b4\uc8fc\uac70\ub098, HH:MM:SS \ub85c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4.<br \/>ex) 30\uc73c\ub85c \uc801\uc5b4\uc8fc\uba74 \ubd84\ud560\uc744 \uc2dc\uc791\ud55c \uc2dc\uac04\uc73c\ub85c \ubd80\ud130 30\ucd08\uac04\ub9cc \ubd84\ud560\ub41c\ub2e4.<br \/>\u24d3 -vcodec copy : \ube44\ub514\uc624 \ucf54\ub371\uc740 \uc6d0\ubcf8 \ub3d9\uc601\uc0c1\uacfc \uac19\uac8c \ud55c\ub2e4.<br \/>\u24d4 -acodec copy : \uc624\ub514\uc624 \ucf54\ub371\uc740 \uc6d0\ubcf8 \ub3d9\uc601\uc0c1\uacfc \uac19\uac8c \ud55c\ub2e4.<br \/>\u24d5 &lt;\ucd9c\ub825\ud30c\uc77c\uc774\ub984&gt; : \ubd84\ud560\ud558\uc5ec \uc800\uc7a5\ud560 \ub3d9\uc601\uc0c1 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815\ud55c\ub2e4.<br \/><br \/>* \ub367\ubd99\uc784: ss \uc635\uc158\uac12\uc774 \uc5c6\uc73c\uba74 \uc2dc\uc791\ubd80\ud130 \uc9c0\uc815\ud55c \uc2dc\uac04\uae4c\uc9c0 \ubd84\ud560\ud558\uace0, t \uc635\uc158\uac12\uc774 \uc5c6\uc73c\uba74 \uc2dc\uc791\uc73c\ub85c\ubd80\ud130 \ub05d\uae4c\uc9c0 \ubd84\ud560\ud55c\ub2e4.<br \/><br \/>\uac04\ub2e8 \ubc84\uc83c<br \/>ffmpeg -i \ub3d9\uc601\uc0c1.avi -ss 600 -t 120 \uacb0\uacfc\ubb3c.avi<br \/>(\ub3d9\uc601\uc0c1.avi \uc758 600\ucd08 \uc9c0\uc810\ubd80\ud130 120\ucd08\uac04 \uc790\ub974\uace0 \uacb0\uacfc\ubb3c.avi\ub85c \uc800\uc7a5)<br \/><br \/>ffmpeg -y -i input.mp4 -ss \"00:00:15\" -to \"00:07:07\" -c:v mpeg4 -q:v 5 -tag:v DIVX -s 800x480 -b:v 1200k -maxrate 1200k -qmax 51 -r 23.976 -c:a libmp3lame -b:a 192k \"output.avi\"<br \/>(00:00:15\ubd80\ud130 00:07:07\uae4c\uc9c0 \uc798\ub77c\uc11c \uc800\uc7a5)<br \/><br \/>ffmpeg -y -i sample.mp4 -ss 0 -t 3600 -vcodec copy -acodec copy sample1.mp4 -y<br \/>ffmpeg -y -i sample.mp4 -ss 3601 -vcodec copy -acodec copy sample2.mp4 -y<br \/>(\ub3d9\uc601\uc0c1\uc744 \ud55c\uc2dc\uac04 \uc9dc\ub9ac \ud558\ub098\uc640 \ub098\uba38\uc9c0\ub85c \ubd84\ub9ac\ud55c\ub2e4-\uc18d\ub3c4 \ube60\ub984)<br \/><br \/><br \/>\u25a0\uad00\ub828 \ub9c1\ud06c<br \/>ffmpeg \uae30\ubcf8 \uc635\uc158<br \/><a href=\"https:\/\/ffmpeg.org\/ffmpeg.html\" target=\"_blank\" rel=\"noopener\">https:\/\/ffmpeg.org\/ffmpeg.html<\/a><br \/><br \/>ffmpeg Filters<br \/><a href=\"https:\/\/ffmpeg.org\/ffmpeg-filters.html\" target=\"_blank\" rel=\"noopener\">https:\/\/ffmpeg.org\/ffmpeg-filters.html<\/a><br \/><br \/>H.264<br \/><a href=\"https:\/\/trac.ffmpeg.org\/wiki\/Encode\/H.264\" target=\"_blank\" rel=\"noopener\">https:\/\/trac.ffmpeg.org\/wiki\/Encode\/H.264<\/a><br \/><br \/>H.265(HEVC-High Efficiency Video Coding)<br \/><a href=\"https:\/\/trac.ffmpeg.org\/wiki\/Encode\/H.265\" target=\"_blank\" rel=\"noopener\">https:\/\/trac.ffmpeg.org\/wiki\/Encode\/H.265<\/a><br \/><br \/>\u200bAdvanced Audio Coding(AAC)<br \/><a href=\"https:\/\/trac.ffmpeg.org\/wiki\/Encode\/AAC\" target=\"_blank\" rel=\"noopener\">https:\/\/trac.ffmpeg.org\/wiki\/Encode\/AAC<\/a><br \/><br \/>MP3<br \/><a href=\"https:\/\/trac.ffmpeg.org\/wiki\/Encode\/MP3\" target=\"_blank\" rel=\"noopener\">https:\/\/trac.ffmpeg.org\/wiki\/Encode\/MP3<\/a><br \/><br \/>\u25a0\uc635\uc158<br \/>-L : \ub77c\uc774\uc13c\uc2a4 \ud45c\uc2dc<br \/>-h : \ud5ec\ud504\ud45c\uc2dc<br \/>-formats : \ud604\uc7ac \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud3ec\ub9f7, \ucf54\ub371, \ud504\ub85c\ud1a0\ucf5c\uc744 \ud45c\uc2dc<br \/>-f fmt : \ud3ec\ub9f7\uc744 \uc9c0\uc815 (fmt\uc758 \ubd80\ubd84\uc5d0 -formats \uadf8\ub9ac\uace0 \uc870\uc0ac\ud55c \ud3ec\ub9f7\uba85\uc774 \ub4e4\uc5b4\uac04\ub2e4)<br \/>-img img_fmt : \ud654\uc0c1\uc758 \ud3ec\ub9f7\uc744 \uc9c0\uc815 (img_fmt\uc758 \ubd80\ubd84\uc5d0 -formats \uadf8\ub9ac\uace0 \uc870\uc0ac\ud55c \ud3ec\ub9f7\uba85\uc774 \ub4e4\uc5b4\uac04\ub2e4)<br \/>-i filename : \uc785\ub825\ud30c\uc77c\uba85<br \/>-y : \ub3d9\uc77c \ud30c\uc77c \uc874\uc7ac\uc2dc \ub36e\uc5b4\uc4f0\uae30<br \/>-t duration : \uc644\uc131\ub418\ub294 \ud30c\uc77c\uc758 \uc2dc\uac04\uc744 \uc9c0\uc815\ud55c\ub2e4 (duration\uc758 \ubd80\ubd84\uc5d0 0\uc744 \ub123\uc73c\uba74 10\ucd08 \ubd80\ubd84\uae4c\uc9c0 \uae30\ub85d)<br \/>-ss : \ubcc0\ud658\uc2dc\uc791\ud560 \uc2dc\uac04<br \/>-sn : \uc785\ub825 \uc635\uc158\uc73c\ub85c \ud30c\uc77c\uc758 \ubaa8\ub4e0 \uc790\ub9c9 \uc2a4\ud2b8\ub9bc\uc774 \ud544\ud130\ub9c1\ub418\uac70\ub098 \ucd9c\ub825\uc5d0 \ub300\ud574 \uc790\ub3d9\uc73c\ub85c \uc120\ud0dd \ub610\ub294 \ub9e4\ud551\ub418\ub294 \uac83\uc744 \ucc28\ub2e8\ud55c\ub2e4.<br \/>-r &lt;\ud504\ub808\uc784 \uc218&gt;<br \/>-preset &lt;options&gt;<br \/>&nbsp; options: ultrafast,superfast,veryfast,faster,fast,medium(default),slow,slower,veryslow<br \/>&nbsp; \uc555\ucd95\uc744 \ud558\ub294\ub370 \uac78\ub9ac\ub294 \uc2dc\uac04 \ub610\ub294 \uc555\ucd95\ub960\uc744 \uc124\uc815\ud55c\ub2e4. \uc555\ucd95\ub960\uc774 \ub192\uc744\uc218\ub85d \ub370\uc774\ud130\ub97c \uc555\ucd95\ud558\ub294\ub370 \uc2dc\uac04\uc774 \uc624\ub798 \uac78\ub9b0\ub2e4. \uc555\ucd95\ub960\uc774 \ub0ae\ub2e4\uace0 \ud488\uc9c8\uc774 \uc88b\uac70\ub098 \ud558\uc9c0\ub294 \uc54a\uc73c\uba70 \uc555\ucd95\ub960\uc774 \ub192\ub2e4\uba74 \ud30c\uc77c \uc6a9\ub7c9\uc774 \uc904\uc5b4 \ub4e0\ub2e4.<br \/>&nbsp; ex) -preset slow<br \/>-codec:v \uc635\uc158\uc740 \ube44\ub514\uc624 \uc2a4\ud2b8\ub9bc\uc758 \ucf54\ub371\uc744 \uc9c0\uc815\ud55c\ub2e4. :v\ub294 \ube44\ub514\uc624\ub97c \uc758\ubbf8\ud55c\ub2e4.<br \/>&nbsp; ex) -c:v libx265<br \/>-maxrate<br \/>&nbsp; \ucd5c\ub300 \ube44\ud2b8\ub808\uc774\ud2b8\uc774\ub2e4. \uc55e\uc758 \ube44\ud2b8\ub808\uc774\ud2b8\ub294 \ud3c9\uade0\uc801\uc778 \uc124\uc815\uac12\uc774\uace0 \uadf8\ub807\uae30\uc5d0 \uc601\uc0c1\uc758 \uc5b4\ub5a4 \ud504\ub808\uc784\uc5d0\uc11c\ub294 \ube44\uc815\uc0c1\uc801\uc73c\ub85c \ud070 \uac12\uc744 \uac00\uc9c8 \uc218 \uc788\ub2e4. \uc774\ub97c \ub9c9\uae30 \uc704\ud574 \uc0c1\ud55c\uc120\uc744 \uc9c0\uc815\ud558\ub294 \uc5ed\ud560\uc744 \ud55c\ub2e4.<br \/>&nbsp; ex) -maxrate:v 1150k -minrate:v 1150k<br \/>-bufsize \uc635\uc158\uc740 \ucd9c\ub825 \ubc84\ud37c\ub97c \uc9c0\uc815\ud55c\ub2e4. \uc601\uc0c1\uc774 \uc7ac\uc0dd\ub420 \ub54c \uc774 \uac12\ub9cc\ud07c\uc758 \uc601\uc0c1\ub370\uc774\ud130\uac00 \uba54\ubaa8\ub9ac\uc5d0 \uc900\ube44\ub41c\ub2e4\uace0 \uc0dd\uac01\ud558\uc790.<br \/>&nbsp; ex) -bufsize:v 327680<br \/>-vf<br \/>&nbsp; \uc774 \uc635\uc158\uc740 -filter:v\uc758 alias\uc774\uba70, filtergraph\ub85c \uc9c0\uc815\ub41c \ud544\ud130 \uadf8\ub798\ud504\ub97c \uc0dd\uc131\ud558\uace0 \uc774\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2a4\ud2b8\ub9bc\uc744 \ud544\ud130\ub9c1\ud55c\ub2e4.<br \/>&nbsp; ex) -vf \"scale=-1:720,subtitles=sample.srt:force_style='FontName=MalgunGothic,FontSize=22'\"<br \/>&nbsp; ex) -vf \"split [main][tmp]; [tmp] crop=iw:ih\/2:0:0, vflip [flip]; [main][flip] overlay=0:H\/2\"<br \/>&nbsp; ex) -vf \"yadif=0:-1:0\"<br \/>-scale<br \/>&nbsp; \uc635\uc158\uc740 \ube44\ub514\uc624 \ud544\ud130\uc758 \ubd80\ubd84 \uc635\uc158\uc73c\ub85c \uc601\uc0c1\uc758 \ud574\uc0c1\ub3c4\ub97c \uc9c0\uc815\ud55c\ub2e4. 1024x768 \ud615\uc2dd\uc73c\ub85c \uc124\uc815\ud560 \uc218\ub3c4 \uc788\uc73c\ub098 \uc608\ubb38\uc5d0\uc11c\ucc98\ub7fc<br \/>&nbsp; -1:720 \ud615\uc2dd\uc758 \uc124\uc815\uc744 \uc8fc\ub85c \uc4f4\ub2e4. \uc774\ub294 \uc18c\uc704 \ub9d0\ud558\ub294 720p \uc601\uc0c1\uc774\ub77c\ub294 \ub73b\uc73c\ub85c \uc601\uc0c1\uc758 \ub192\uc774\uac00 720\ud53d\uc140\uc774\ub77c\ub294 \ub73b\uc774\ub2e4.<br \/>-threads<br \/>&nbsp; \uc635\uc158\uc740 \uc791\uc5c5\uc744 \ud558\ub294\ub370 \uc0ac\uc6a9\ud560 CPU \ucf54\uc5b4\uc758 \uac2f\uc218\ub97c \uc758\ubbf8\ud55c\ub2e4.<br \/>&nbsp; \ubb3c\ub860 \ub9ce\uc740 \ucf54\uc5b4\ub97c \uc0ac\uc6a9\ud558\uba74 \uc791\uc5c5 \uc18d\ub3c4\ub3c4 \ube60\ub974\ub2e4. 0\uc73c\ub85c \uc124\uc815\ud558\uba74 \uc54c\uc544\uc11c \ucd5c\uc801\ud654\ub41c \ucf54\uc5b4 \uac2f\uc218\ub97c \uc124\uc815\ud558\uc5ec \uc791\uc5c5\ud55c\ub2e4.<br \/>-crf<br \/>&nbsp; Constant Rate Factor(CRF)<br \/>&nbsp; 1\ucd08\uc5d0 \ud574\ub2f9\ud558\ub294 \ub3d9\uc601\uc0c1\uc5d0 \uc5bc\ub9c8\uc758 bit\ub97c \ub123\ub290\ub0d0\ub97c \uc758\ubbf8\ud55c\ub2e4. \ub192\uc744\uc218\ub85d \ub354 \ub9ce\uc740 \uc815\ubcf4\ub97c \ub2f4\uc544\uc11c \ud654\uc9c8\uc774 \uc88b\uc544\uc9c0\uac8c \ub41c\ub2e4. \ub300\ud45c\uc801\uc73c\ub85c CBR, VBR \ubc29\uc2dd\uc774 \uc788\uc73c\uba70, CBR(Constant Bitrate)\uc740 \uace0\uc815\ub41c bitrate\ub97c VBR(Variable Bitrate)\ub294 \ucd5c\ub300, \ucd5c\uc18c \ubc94\uc704\ub85c \ubcc0\ub3d9\ud558\ub294 bitrate\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc744 \uc758\ubbf8\ud55c\ub2e4. ffmpeg\ub294 \uae30\ubcf8\uc801\uc73c\ub85c CBR \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud558\uba70, \uc635\uc158(vbr)\uc744 \ud1b5\ud574\uc11c VBR \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<br \/>&nbsp; ex) -crf 23<br \/><br \/>\uc601\uc0c1\uc635\uc158<br \/>-s : \uc0ac\uc774\uc988 (\uac00\ub85cx\uc138\ub85c)<br \/>-sameq : \uc6d0\ubcf8\uacfc \ub3d9\uc77c\ud654\uc9c8<br \/>-qscale : 0 ~ 255 (\ub0ae\uc744\uc218\ub85d \uace0\ud654\uc9c8)<br \/>-r : frame rate (Hz value, fraction or abbreviation)<br \/>-aspect : \ube44\uc728 (4:3, 16:9 or 1.3333, 1.7777)<br \/>-b : bitrate (ex 512k)<br \/><br \/><br \/>\u25a0\ub3d9\uc601\uc0c1 \uae30\ubcf8 \uc778\ucf54\ub529<br \/>ffmpeg -y \u24d0 -i \u24d1 -acodec \u24d2 -ab \u24d3 -ar \u24d4 -ac \u24d5 -b:a \u24d6 -vcodec \u24d7 -level \u24d8 -b:v \u24d9<br \/>-r \u24da -s \u24db -threads \u24dc -strict experimental \u24dd \u24de<br \/><br \/>\u24d0 -y : \ucd9c\ub825\ud30c\uc77c\uc744 \uc4f8 \ub54c \uac19\uc740 \uc774\ub984\uc758 \ud30c\uc77c\uc774 \uc788\uc5b4\ub3c4 \ud655\uc778\uc5c6\uc774 \ub36e\uc5b4\uc4f0\uae30\ub97c \ud558\uaca0\ub2e4\ub294 \uc758\ubbf8.<br \/>\u24d1 -i &lt;\uc785\ub825\ud30c\uc77c\uc774\ub984&gt; : \ubcc0\ud658\ud560 \uc6d0\ubcf8 \ub3d9\uc601\uc0c1 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815.<br \/>\u24d2 -acodec &lt;\uc624\ub514\uc624\ucf54\ub371&gt; : \uc624\ub514\uc624 \ucf54\ub371\uc744 \uc9c0\uc815\ud55c\ub2e4. \uc5ec\uae30\uc11c\ub294 aac \ub85c \ud568.<br \/>\u24d3 -ab &lt;\uc22b\uc790&gt; : \uc624\ub514\uc624 \ube44\ud2b8\ub808\uc774\ud2b8\ub97c \uc9c0\uc815\ud55c\ub2e4.<br \/>\u24d4 -ar &lt;\uc22b\uc790&gt; : \uc624\ub514\uc624 \uc0d8\ud50c\ub9c1 \ub808\uc774\ud2b8\ub97c \uc9c0\uc815\ud55c\ub2e4.<br \/>\u24d5 -ac &lt;\uc22b\uc790&gt; : \uc624\ub514\uc624 \ucc44\ub110\uc744 \uc9c0\uc815\ud55c\ub2e4.<br \/>\u24d6 -b:a &lt;\uc22b\uc790&gt; : \uc624\ub514\uc624 \ube44\ud2b8\ub808\uc774\ud2b8\ub97c \uc9c0\uc815\ud55c\ub2e4.<br \/>\u24d7 -vcodec &lt;\ube44\ub514\uc624\ucf54\ub371&gt; : \ube44\ub514\uc624 \ucf54\ub371\uc744 \uc9c0\uc815\ud55c\ub2e4. \uc5ec\uae30\uc11c\ub294 libx264 \ub85c \ud568. (H.264 \ucf54\ub371)<br \/>\u24d8 -level &lt;\uc22b\uc790&gt; : Baseline \uac12. 30\uc774\uba74, Baseline 3.0<br \/>\u24d9 -b:v &lt;\uc22b\uc790&gt; : \ube44\ub514\uc624 \ube44\ud2b8\ub808\uc774\ud2b8\ub97c \uc9c0\uc815\ud55c\ub2e4.<br \/>\u24da -r &lt;\uc22b\uc790&gt; : \ucd9c\ub825 \ub3d9\uc601\uc0c1 \ud504\ub808\uc784 \ub808\uc774\ud2b8\ub97c \uc9c0\uc815\ud55c\ub2e4.<br \/>\u24db -s &lt;\uc22b\uc790&gt; : \ud654\uba74 \ud06c\uae30, \ud574\uc0c1\ub3c4\ub97c \uc9c0\uc815\ud55c\ub2e4. \uc6d0\ubcf8 \ud574\uc0c1\ub3c4\ubcf4\ub2e4 \ud06c\uac8c \ud560 \uacbd\uc6b0 \ud655\ub300\ub418\uc11c \ub098\uc628\ub2e4.<br \/>&nbsp; &nbsp; \ud504\ub9ac\uc14b\ucc98\ub7fc \ubbf8\ub9ac \uc9c0\uc815\ub41c \ubb38\uc790\uac00 \uc788\uc5b4\uc11c \uc9c1\uc811 \ud574\uc0c1\ub3c4\ub97c \uc9c0\uc815\ud558\uc9c0 \uc54a\uc544\ub3c4 \ub41c\ub2e4.<br \/>&nbsp; &nbsp; ex) vga &ndash; 640 x 480, sxga 1280 x 1024, wvga 852 x 480, hd720 &ndash; 1280 x 720 \ub4f1<br \/>\u24dc -threads &lt;\uc22b\uc790&gt; : \uc4f0\ub808\ub4dc\uc218\ub97c \uc9c0\uc815\ud55c\ub2e4. \uc18d\ub3c4 \ud5a5\uc0c1\uc744 \uc704\ud574 \uba40\ud2f0\uc4f0\ub808\ub4dc\ub97c \uc9c0\uc815\ud574\uc904 \uc218 \uc788\ub2e4.<br \/>\ubc18\ub4dc\uc2dc CPU \ucf54\uc5b4 \uac2f\uc218\uc640 \uc77c\uce58\uc2dc\ud0ac \ud544\uc694\ub294 \uc5c6\uc9c0\ub9cc, \ubcf4\ud1b5\uc740 \ucf54\uc5b4 \uac2f\uc218\uc5d0 \ub9de\ucd98\ub2e4.<br \/>\u24dd -strict experimental : \uc635\uc158\uc758 \uc5c4\uaca9\ud568\uc744 \ub290\uc2a8\ud558\uac8c \ud480\uc5b4\uc8fc\ub294 \uc635\uc158<br \/>\u24de &lt;\ucd9c\ub825\ud30c\uc77c\uc774\ub984&gt; : \ubcc0\ud658\ud558\uc5ec \uc800\uc7a5\ud560 \ub3d9\uc601\uc0c1 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815\ud55c\ub2e4.<br \/><br \/>\ub3d9\uc601\uc0c1 \ubcc0\ud658 \uc635\uc158 \uc608)<br \/><br \/>ffmpeg -y -i \ubcc0\ud658\uc804\ub3d9\uc601\uc0c1\ud30c\uc77c\uba85.avi -acodec aac -ab 192k -ar 48000 -ac 2 -b:a 300k &nbsp;-vcodec libx264 -level 30 -b:v 3000k -r 29.97 -s 1280:720 -threads 4 -strict -2 \ubcc0\ud658\ud6c4\ub3d9\uc601\uc0c1\ud30c\uc77c\uba85.mp4<br \/><br \/>* \ub367\ubd99\uc784: \ubcf8\uc778\uc774 \uc0dd\uac01\ud558\uae30\uc5d0 \ud544\uc694\uc5c6\uac70\ub098 \uc911\uc694\uce58 \uc54a\ub2e4\uace0 \uc0dd\uac01\ud558\ub294 \ubd80\ubd84\uc740 \uc0dd\ub7b5\ud560 \uc218 \uc788\ub2e4. \ub098\ub294 f, i, m, n\uc740 \ud56d\uc0c1 \uc548 \uc4f4\ub2e4.<br \/>\uc544\uc608 \ub2e4\ub978 \ubd80\ubd84\uc740 \ub2e4 \uc0dd\ub7b5\ud558\uace0<br \/><br \/>ffmpeg -i \ubcc0\ud658\uc804\ub3d9\uc601\uc0c1\ud30c\uc77c\uba85.avi \ubcc0\ud658\ud6c4\ub3d9\uc601\uc0c1\ud30c\uc77c\uba85.mp4<br \/><br \/>\uc774\ub807\uac8c \uc785\ub825\ud574\ub3c4 ffmpeg\uac00 \uc54c\uc544\uc11c \uc778\ucf54\ub529 \ud574\uc900\ub2e4.<\/span>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@ECHO OFF\nCHCP 65001 1> NUL 2> NUL\nCLS\nECHO ############################################################\nECHO #\nECHO # \ub3d9\uc601\uc0c1 \ud30c\uc77c\uc744 \ud569\uce58\ub294 \uc2a4\ud06c\ub9bd\ud2b8.\nECHO #\nECHO ############################################################\nSET \"SRC_DIR=m:\\0_tmp\"\nSET \"SRC_FILES=20221029*.MP4\"\nSET \"OUTPUT_FILE=m:\\0_tmp\\output.mp4\"\n\nREM \ucd94\uac00\ud560 \ub3d9\uc601\uc0c1 \ubaa9\ub85d\uc744 \ub9cc\ub4e0\ub2e4.\nSET \"TMP_LIST_FILE=ffmpeg_concat.list\"\nIF EXIST %TMP_LIST_FILE% DEL \/Q %TMP_LIST_FILE%\nSET \/A FILE_COUNT=0\nFOR \/F \"TOKENS=*\" %%A IN ('DIR \/B \/ON \"%SRC_DIR%\\%SRC_FILES%\"') DO (\n  ECHO file '%SRC_DIR%\\%%A'>>%TMP_LIST_FILE%\n  ECHO file '%SRC_DIR%\\%%A'\n  SET \/A FILE_COUNT+=1\n)\nECHO.\nECHO *** \uc704\uc758 \ud30c\uc77c\ub4e4\uc744 \ud569\uce58\uaca0\uc2b5\ub2c8\ub2e4. \ub3d9\uc758\ud558\uba74 ENTER\ud0a4\ub97c \ub20c\ub7ec\uc8fc\uc138\uc694 ***\nPAUSE\n\nffmpeg -f concat -safe 0 -i \"%TMP_LIST_FILE%\" -c copy \"%OUTPUT_FILE%\"\nDEL \/Q \"%TMP_LIST_FILE%\"\nPAUSE<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u25a0\uc2a4\ud2b8\ub9ac\ubc0d \ucd94\ucd9cffmpeg\ub85c \uc2a4\ud2b8\ub9ac\ubc0d \ucd94\ucd9cffmpeg\ub85c \uc2a4\ud2b8\ub9ac\ubc0d\uc744 \ubc1b\uc73c\ub824\uba74 .m3u8\uc774\ub098 .mp4\ub85c \ub41c \uc8fc\uc18c\ub97c \uc54c\uc544\uc57c \ud55c\ub2e4ffmpeg -i &#8220;m3u8\uc8fc\uc18c&#8221; -c copy \uc800\uc7a5\ud560\ud30c\uc77c\uba85.ts\uc790\uc138\ud55c \ubc29\ubc95 \ubcf4\ub824\uba74 (ffmpeg\ub85c \uc2a4\ud2b8\ub9ac\ubc0d \ucd94\ucd9c \uc608\ub97c \ubcf4\ub824\uba74)https:\/\/blog.naver.com\/peche99\/220816504552 [\uba5c\ub860 \uc601\uc0c1 \ucd94\ucd9c\ubc95] \uc73c\ub85c \uac00\uc11c \ubcf4\uba74 \ub428. \u25a0\ub3d9\uc601\uc0c1 \uc77c\uad04 \ubcc0\ud658 \uc2a4\ud06c\ub9bd\ud2b8 \uc0d8\ud50c@ECHO OFFCHCP 65001 1&gt; NUL 2&gt; NUL SET &#8220;SRC_DIR=.&#8221; FOR \/F &#8220;TOKENS=*&#8221; %%A IN (&#8216;DIR \/B \/ON %SRC_DIR%\\*.*&#8217;) DO (&nbsp; [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[15],"tags":[],"class_list":["post-3494","post","type-post","status-publish","format-standard","hentry","category-computing_tools"],"_links":{"self":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3494"}],"version-history":[{"count":0,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3494\/revisions"}],"wp:attachment":[{"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasu0707.duckdns.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}