{"id":1798,"date":"2017-11-18T20:00:10","date_gmt":"2017-11-18T11:00:10","guid":{"rendered":"http:\/\/now0930.tk\/wordpress\/?p=1798"},"modified":"2017-11-18T20:00:11","modified_gmt":"2017-11-18T11:00:11","slug":"ffmpeg%ec%9c%bc%eb%a1%9c-vob%eb%a5%bc-mp4%eb%a1%9c-%ec%9d%b8%ec%bd%94%eb%94%a9%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/now0930.pe.kr\/wordpress\/ffmpeg%ec%9c%bc%eb%a1%9c-vob%eb%a5%bc-mp4%eb%a1%9c-%ec%9d%b8%ec%bd%94%eb%94%a9%ed%95%98%ea%b8%b0\/","title":{"rendered":"ffmpeg\uc73c\ub85c VOB\ub97c MP4\ub85c \uc778\ucf54\ub529\ud558\uae30"},"content":{"rendered":"<p>\uc544\ub798 \uc0ac\uc774\ud2b8\uc5d0\uc11c \ucc38\uc870.<br \/>\nhttps:\/\/www.internalpointers.com\/post\/convert-vob-files-mkv-ffmpeg<\/p>\n<pre class=\"lang:sh decode:true \">ffmpeg \\\r\n  -analyzeduration 100M -probesize 100M \\\r\n  -i output.vob \\\r\n  -map 0:1 -map 0:3 -map 0:4 -map 0:5 -map 0:6 \\\r\n  -metadata:s:a:0 language=ita -metadata:s:a:0 title=\"Italian stereo\" \\\r\n  -metadata:s:a:1 language=eng -metadata:s:a:1 title=\"English stereo\" \\\r\n  -metadata:s:s:0 language=ita -metadata:s:s:0 title=\"Italian\" \\\r\n  -metadata:s:s:1 language=eng -metadata:s:s:1 title=\"English\" \\\r\n  -codec:v libx264 -crf 21 \\\r\n  -codec:a libmp3lame -qscale:a 2 \\\r\n  -codec:s copy \\\r\n  output.mkv<\/pre>\n<p>Let me dissect it:<\/p>\n<ul>\n<li>-analyzeduration 100M -probesize 100M \u2014 keep this one so that FFmpeg is able to find hidden streams;<\/li>\n<li>-i output.vob \u2014 the input file;<\/li>\n<li>-map 0:1 -map 0:3 -map 0:4 -map 0:5 -map 0:6 \u2014 here I&#8217;m mapping the streams, namely I&#8217;m telling FFmpeg to keep Stream 0:1, Stream 0:3, Stream 0:4, Stream 0:5, Stream 0:6 and put them in the output file in that specific order;<\/li>\n<li>-metadata[&#8230;] \u2014 this is used to give streams a title and other additional information, specifically to audio tracks (s:a:0 and s:a:1 where a stands for audio) and subtitles (s:s:0 and s:s:1 where s stands for subtitles);<\/li>\n<li>-codec:v libx264 -crf 21 \u2014 defines the video codec in use and the constant rate factor (crf), namely the quality level. This method allows the encoder to keep a constant quality level, regardless the output file size: 0 is lossless, 23 is default, and 51 is worst possible. The sane range is between 18 and 28;<\/li>\n<li>-codec:a libmp3lame -qscale:a 2 \u2014 defines the audio codec in use and the quality level: 0-3 will produce transparent results, 4 (default) should be close to perceptual transparency, 6-9 produces an &#8220;acceptable&#8221; quality. Using numbers from 0 to 9 means that the audio track will be encoded in variable bitrate (vbr) mode: smaller files, better quality;<\/li>\n<li>-codec:s copy \u2014 s stands for subtitles: copy them as they are;<br \/>\noutput.mkv \u2014 the output file.<\/li>\n<\/ul>\n<p>Bonus point: if your machine supports it, add the flag -threads N to enable multi-threading and give the encoding a boost. Replace N with the number of your CPU cores.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc544\ub798 \uc0ac\uc774\ud2b8\uc5d0\uc11c \ucc38\uc870. https:\/\/www.internalpointers.com\/post\/convert-vob-files-mkv-ffmpeg ffmpeg \\ -analyzeduration 100M -probesize 100M \\ -i output.vob \\ -map 0:1 -map 0:3 -map 0:4 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"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":"","ast-disable-related-posts":"","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":"default","ast-page-background-enabled":"default","ast-page-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":"","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-4)","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-4)","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-4)","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":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[12],"tags":[232,231,233],"class_list":["post-1798","post","type-post","status-publish","format-standard","hentry","category-12","tag-encodeing","tag-ffmpeg","tag-vob"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=1798"}],"version-history":[{"count":1,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1798\/revisions"}],"predecessor-version":[{"id":1800,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1798\/revisions\/1800"}],"wp:attachment":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=1798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=1798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=1798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}