<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Guides &amp; Tutorials - OCFreaks!</title>
	<atom:link href="https://www.ocfreaks.com/cat/guides-tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ocfreaks.com/cat/guides-tutorials/</link>
	<description>Overclocking , Gaming , Technology , Robotics &#38; DIY!</description>
	<lastBuildDate>Sun, 19 Nov 2023 04:29:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.4</generator>
<site xmlns="com-wordpress:feed-additions:1">42777727</site>	<item>
		<title>The benefits to investing in Metal Fabricators for Industrial Needs</title>
		<link>https://www.ocfreaks.com/benefits-investing-metal-fabricators-industrial-needs/</link>
					<comments>https://www.ocfreaks.com/benefits-investing-metal-fabricators-industrial-needs/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[OCFreaks!]]></dc:creator>
		<pubDate>Fri, 17 Nov 2023 14:19:10 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=3154</guid>

					<description><![CDATA[<p>If you are thinking about hiring a metal fabricator to help you create different metal structures, components, and products for your industry, you might wonder whether or not it worth hiring a reliable sheet metal fabrication company to do it for you? Or should you do it yourself? Well! Doing it yourself can be super [&#8230;]</p>
<p>The post <a href="https://www.ocfreaks.com/benefits-investing-metal-fabricators-industrial-needs/">The benefits to investing in Metal Fabricators for Industrial Needs</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/misc/metal_fab.jpg" alt="" /></p>
<p>If you are thinking about hiring a metal fabricator to help you create different metal structures, components, and products for your industry, you might wonder whether or not it worth hiring a reliable <a href="https://www.bayviewmetals.com/" target="_blank">sheet metal fabrication</a> company to do it for you? Or should you do it yourself? </p>
<p>Well! Doing it yourself can be super rewarding! If you’d like to know some of the benefits that you can enjoy from hiring such a company, here are some of the benefits in detail:</p>
<h3>1. Access to High-Quality Metal Components</h3>
<p>Metal fabricators have the required specialized skills in working with various metal materials. </p>
<p>They also have experience using different fabrication techniques. This much-needed experience helps determine what works and what doesn’t. If you’re a manufacturer, you can be sure of getting high-quality metal components for your products with a highly skilled fabricator on your team.</p>
<p>In addition to this, your company will then have access to some of the most advanced technology used in cutting, bending, and assembling raw metals.</p>
<h3>2. Your Company Saves Money</h3>
<p>This would mean several things if you want to fabricate all the raw metals yourself. First, you need to buy expensive equipment, which you may only use some of the time. Additionally, you need to hire in-house metal fabricators to do the job for you.</p>
<p>From a financial standpoint, this could be expensive since you need to hire people to do the job, maintain the equipment, and ensure safety in your warehouse. Hence, it’d be reasonable to outsource these services to a company offering them on demand.</p>
<h3>3. It Improves Efficiency and Speed</h3>
<p>Metal fabricators are that they have the needed equipment and advanced technologies for the fabrication process. How does this benefit your company?</p>
<p>It enhances the speed and efficiency of the fabrication process. This means you get the fabricated products on time, meet deadlines, and respond to market demands efficiently. </p>
<h3>4. The Manufacturer Scales up Easily</h3>
<p>Market demands affect how much a manufacturer needs to produce at a given point. For instance, you might need more components at a particular time than other times. The benefit of hiring a metal fabricator is that it’s easier to meet market demands.</p>
<p>This also means that it’s easy to scale up or down as a company depending on what the market demands at a given time.</p>
<h3>5. Your Focus on the Core Business</h3>
<p>Metal fabrication is a process that involves transforming the raw sheet metals into the respective components you need to create a product or device. The process is long, and if you have to do that, this can have a direct effect on the daily activities of your business.</p>
<p>So, hiring metal fabricators removes the hustle of including this in your production cycle. It then allows you to focus on the integral parts of your business, which can affect your overall output.  </p>
<h3>Wrapping it Up</h3>
<p>There you have it! If you have any doubts about hiring a metal fabricator, we hope the above five reasons can help you start looking for a reliable fabricator for your business. Remember, the two main benefits of hiring a metal fabricator are saving on the cost of production and quality assurance.</p>
<p>The post <a href="https://www.ocfreaks.com/benefits-investing-metal-fabricators-industrial-needs/">The benefits to investing in Metal Fabricators for Industrial Needs</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/benefits-investing-metal-fabricators-industrial-needs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3154</post-id>	</item>
		<item>
		<title>Using a Paraphrasing Tool to Improve Your SEO</title>
		<link>https://www.ocfreaks.com/paraphrasing-tools-to-improve-seo/</link>
					<comments>https://www.ocfreaks.com/paraphrasing-tools-to-improve-seo/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[OCFreaks!]]></dc:creator>
		<pubDate>Fri, 30 Apr 2021 11:33:58 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=3147</guid>

					<description><![CDATA[<p>One of the SEO problems faced by writers today is duplication in content. Today the cases of plagiarism have increased more than you can ever imagine. This is all because people worldwide are writing and publishing content on the same topics. People who are working in similar niches would always face plagiarism issues. Here you [&#8230;]</p>
<p>The post <a href="https://www.ocfreaks.com/paraphrasing-tools-to-improve-seo/">Using a Paraphrasing Tool to Improve Your SEO</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>One of the SEO problems faced by writers today is duplication in content. Today the cases of plagiarism have increased more than you can ever imagine. This is all because people worldwide are writing and publishing content on the same topics. People who are working in similar niches would always face plagiarism issues. Here you should know that there are multiple types of duplication/plagiarism in the digital world. Each one has its adverse effects on the seo score and credibility of your website.</p>
<p>The online paraphrasing tools are considered quite helpful for improving seo as they can help you avoid and remove plagiarism from your content and help you create new content without any hassle. Creating original and fresh content is quite impossible today. Still, if you start using the online paraphrasing tools, you can easily create the best content for your websites/pages!</p>
<p>There are hundreds of paraphrasing tools and article rewriter tools on the web. It can be quite difficult for you to select the perfect ones for you. For this reason, we have shortlisted the free and easiest-to-use ones for you guys!</p>
<h3>Best Paraphrasing Tools that can help in SEO</h3>
<p>Here we have listed out some of the top options for you guys!</p>
<h4>RewriteGuru</h4>
<p>As the name tells us, <a href="https://rewriteguru.com" target="_blank">Rewrite Guru</a> is the tool that would help you in rewriting content like a pro. This is one of the leading tools found online, and the reason that it is famous is that it is free and very easy to use. You should know that Rewriteguru can be used on all sorts of devices due to its universal compatibility. This designated paraphrasing tool is considered to be best for rewriting all sorts of content posts. You have to enter the duplicate content in the input box of the article rewriter and hit the &#8216;rewrite&#8217; button. This article spinner would spin the duplicate input into a fresh and original article. You should know that rewrite guru offers three different types of spinning modes, and you can select the one which suits your requirements the most!</p>
<h4>SEO Magnifier paraphrasing tool</h4>
<p>This is another online paraphrasing tool that can help you in creating unique and informative content. One should know that the quality of content on a website is very important. If the content on the website is not of good quality, it will seriously affect the seo score. This online paraphrasing tool is best for creating unique and informative content. The tool is also famous for its speed. It can help you rewrite content quickly and with complete reliability.</p>
<h4>Paraphrasing tool by SmallSeoTools</h4>
<p>The paraphrasing tool by <a href="https://smallseotools.com/paraphrasing-tool/" rel="noopener" target="_blank">SmallSeoTools</a> is also among the most popular tools in this league. You should know that this online paraphrasing tool has no limitations to its use and is considered very easy to use. The paraphrasing tool is one out of dozens of seo tools offered by this website. So you don&#8217;t have to worry about its accuracy/reliability. This rewriter tool is considered to be best for website content writers and students who are looking to create unique assignments!</p>
<h4>Paraphrasing tool by Duplichecker</h4>
<p>Duplichecker is a complete website that is famous for checking plagiarism of all sorts. The website can check plagiarism and provide you article rewriting services for free with the help of its paraphrasing tool. The paraphrasing tool by Duplichecker is not only free. Still, it is also considered to be one of the easiest to use tools on the web. This paraphrasing tool can rewrite all sorts of content if you respect the input limit of it. There are no such limitations to the use of the tool, so we would suggest you give it a shot. The content created by this paraphrasing tool is free of plagiarism and grammatical mistakes!</p>
<h4>Paraphrasing tool by PlagiarismDetector.net</h4>
<p>The paraphrasing tool by <a href="https://plagiarismdetector.net/paraphrasing-tool" rel="noopener" target="_blank">plagiarismdetector.net</a> is considered to be best for many reasons. The tool can help you improve your website&#8217;s seo score, which is because it can help you create unique and readable content. Most of the paraphrasing tools on the web would rewrite your content by only changing the words with synonyms; this surely makes them unique but would surely affect the post&#8217;s readability. Suppose you want to create simple, readable, informative, and unique content for your website. In that case, you should connect with this online tool!</p>
<h4>Spin Bot</h4>
<p><a href="https://spinbot.com/" rel="noopener" target="_blank">Spin bot</a> online article spinning tool that can help you in rewriting the best content. AI powers the tool, and this is why the working of it is quite original and reliable. Search engines are always searching for unique posts. The spin bot can help you create perfect quality and unique content capital. The quality of the resultant content is too good that you cannot simply differentiate it from the content written by a professional writer.</p>
<p>Using either of these paraphrasing tools would help you create new content for free and in a short amount of time. You cannot only create seo friendly content with these paraphrasing tools, but you can also save a lot of your expense and time wasted in the manual rewriting of content!</p>
<p>The post <a href="https://www.ocfreaks.com/paraphrasing-tools-to-improve-seo/">Using a Paraphrasing Tool to Improve Your SEO</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/paraphrasing-tools-to-improve-seo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3147</post-id>	</item>
		<item>
		<title>The Importance Of Google Ads In A Marketing Strategy</title>
		<link>https://www.ocfreaks.com/importance-google-ads-marketing-strategy/</link>
					<comments>https://www.ocfreaks.com/importance-google-ads-marketing-strategy/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[OCFreaks!]]></dc:creator>
		<pubDate>Sat, 03 Nov 2018 16:09:43 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=3120</guid>

					<description><![CDATA[<p>In today’s modern world, advertising is the lifeblood of your business. For you to generate income and succeed in business, you must keep your customers informed about all your products and where they can get them. The Google Ads program formerly known as Google Adwords is an online advertising plan that enables advertisers to place [&#8230;]</p>
<p>The post <a href="https://www.ocfreaks.com/importance-google-ads-marketing-strategy/">The Importance Of Google Ads In A Marketing Strategy</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/misc/online_mark.jpg" alt="" /></p>
<p>In today’s modern world, advertising is the lifeblood of your business. For you to generate income and succeed in business, you must keep your customers informed about all your products and where they can get them.</p>
<p>The Google Ads program formerly known as Google Adwords is an online advertising plan that enables advertisers to place their ads on Google search result pages and other websites within the Adwords network. </p>
<p>As an advertiser, you can opt to pay for your advertisement when a viewer clicks on it (CPC) or when someone sees your ad (CPM) or cost per thousand. Google ads are highly scalable and effective. They can also work for almost any business. But why are Google Ads so important in a marketing strategy?<br />
Here are a few reasons why.</p>
<h4>Google Ads Work Better Than SEO</h4>
<p>The main aim of your marketing strategy is to provide you with an overall game plan to promote and sell your products and services to your customers. If you are looking for a fast way of generating leads, then Pay Per Click is the way to go. This is because Google Ads allow you to focus on multiple keywords in one go.<br />
 For startups and new companies especially, Google ads can be very beneficial in that they can test their products, check on their website effectiveness and even find new customers in such a short time. You can also choose to turn the campaign off when you want to. </p>
<h4>Google Ads Enable You To Measure Your Performance</h4>
<p>As an entrepreneur, increasing visibility should be at the top of your marketing strategy goals. Ensuring that your message is seen and received by your target audience is the key to business growth. However, when using traditional advertising methods such as television or newspaper, it can be difficult to measure the outcome.</p>
<p>Google Ads, on the other hand, will help you measure your performance consistently. You will be able to know who clicked your ad, how much it cost you for one lead and which keywords generated the most leads and traffic. Working with a Google partner like <a href="https://oneoutcreative.com.au/google-adwords-brisbane/" target="blank">this Google Adwords company in Brisbane</a> will help you understand how your campaign is performing and how you can make it more profitable.</p>
<h4>Google Ads Is Scalable And Flexible</h4>
<p>Every business wants to generate leads. With Google ads, once you ascertain that your ads and your marketing campaigns are paying off, you can always increase your Pay Per Click budget and get even more traffic. You can also customize your ads in order to target the specific target audience you intend to reach out to. Google ads allow you to narrow down to an audience by using location, language, device type and time parting.</p>
<h4>Quality Customer Leads</h4>
<p>Google Ads will ultimately give you quality customer leads. This is because you will be able to know the customers&#8217; state when they encountered your ad. Were they ready to buy? Or, were they just inquiring about the product? Google ads will help you identify all the opportunities and use them to your advantage.<br />
Paid search advertising is what you need to grow your business quickly and improve visibility.  </p>
<p>The post <a href="https://www.ocfreaks.com/importance-google-ads-marketing-strategy/">The Importance Of Google Ads In A Marketing Strategy</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/importance-google-ads-marketing-strategy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3120</post-id>	</item>
		<item>
		<title>Create new LPC1768 project in Keil uVision 5 tutorial</title>
		<link>https://www.ocfreaks.com/create-new-lpc1768-project-in-keil-5-tutorial/</link>
					<comments>https://www.ocfreaks.com/create-new-lpc1768-project-in-keil-5-tutorial/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Umang Gajera]]></dc:creator>
		<pubDate>Thu, 31 Aug 2017 15:53:31 +0000</pubDate>
				<category><![CDATA[Embedded]]></category>
		<category><![CDATA[Guides & Tutorials]]></category>
		<category><![CDATA[lpc1768]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=2829</guid>

					<description><![CDATA[<p>In this tutorial we see how to create new projects in KEIL uVision 5 for LPC1768 Cortex-M3 MCU. It also applies for other lpc176x devices like LPC1769. Keil uV 5 is much different than older KEIL uV4. uVision 5 has integrated pack installer which can used to install specific MCU family packs and other libraries. [&#8230;]</p>
<p>The post <a href="https://www.ocfreaks.com/create-new-lpc1768-project-in-keil-5-tutorial/">Create new LPC1768 project in Keil uVision 5 tutorial</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" src="https://www.ocfreaks.com/imgs/embedded/common/keil_5_title.png" class="aligncenter" alt="" width="445px" height="227px" /></p>
<p>In this tutorial we see how to create new projects in KEIL uVision 5 for LPC1768 Cortex-M3 MCU. It also applies for other lpc176x devices like LPC1769. Keil uV 5 is much different than older KEIL uV4. uVision 5 has integrated pack installer which can used to install specific MCU family packs and other libraries. To create project for any Cortex-M or other ARM based MCU you will first need to install <strong>MDK5 software packs</strong> for your microcontroller family. Either you can download it separately or do it from with the IDE. I recommend adding software packs using IDE. The steps are as given below:</p>
<h2 class="shead">1) Installing prerequisite &#8211; LPC1700 Keil software pack</h2>
<p><strong>Step A.</strong> Download latest Keil MDK uVision5 from <a href="https://www.keil.com/demo/eval/arm.htm" target="_blank">Keil&#8217;s website</a>.</p>
<p><strong>Step B.</strong> Install Keil uVision 5 to default path.</p>
<p><strong>STEP C.</strong> Open Keil 5 and click on <span class="doc_ref">&#8220;Pack Installer&#8221;</span> icon as shown below:</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/embedded/common/keil5_pack_installer.png" class="aligncenter" alt="" width="687px" height="179px" /></p>
<p><strong>STEP D.</strong> On the left half on the window, under <span class="doc_ref">&#8220;Devices&#8221;</span> type <span class="doc_ref">&#8220;lpc1768&#8221;</span> in search box and select the MCU in the list below. Now, on the right half of the window click on the <span class="doc_ref">&#8220;install&#8221;</span> button which is towards to the right of <span class="doc_ref">&#8220;Keil:LPC1700_DFP&#8221;</span>. After this pack installer will download the required pack files for our MCU.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/keil_5_install_lpc1768_pack.png" class="aligncenter" alt="keil install software pack" width="691px" height="355px" /></p>
<p>Alternatively, you can manually download the software pack and install it directly from <a href="https://www.keil.com/dd2/pack/">MDK5 Software Packs</a>. It will be present Under <span class="doc_ref">&#8220;KEIL->NXP LPC1700 Series Device Support, Drivers and Examples for MCB1700&#8221;</span>.</p>
<p><strong>STEP E.</strong> After installing from Pack Installer you will get a confirmation to reload packs. Click <span class="doc_ref">&#8220;Yes&#8221;</span> as shown below:</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/embedded/common/keil5_pack_install_confirm.png" class="aligncenter" alt="" width="322px" height="165px" /></p>
<h2 class="shead">2) Step by step Keil 5 new project Tutorial</h2>
<p>Okay, so now we have the necessary packs installed to create our first project in Keil 5. Just follow the steps mentioned below to create a new project in Keil uV 5 or if your project is not working properly:</p>
<p><strong>Step 1.</strong> Open the Keil IDE, under main menu goto <span class="doc_ref">&#8220;Project->New uVision Project&#8230;&#8221;</span> and a window prompt will open asking to save the new project. Type your desired project name and save.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/embedded/common/keil5_new_project.png" class="aligncenter" alt="new project" width="513px" height="141px" /></p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/2_save_project.png" class="aligncenter" alt="" width="611px" height="368px" /></p>
<p><strong>Step 2.</strong> After that, a new window will appear as shown below. Make sure <span class="doc_ref">&#8220;Software Packs&#8221;</span> is selected for the 1st drop down. In the search box below it, type <span class="doc_ref">&#8220;lpc1768&#8221;</span> and then select the device from list below. Finally click <span class="doc_ref">&#8220;OK&#8221;</span>. </p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/3_select_mcu.png" class="aligncenter" alt="select target MCU" width="626px" height="468px" /></p>
<p><strong>Step 3.</strong> Now, inside the <span class="doc_ref">&#8220;Manage Run-Time Environment Window&#8221;</span> select the check boxes for <span class="doc_ref">&#8220;CORE&#8221;</span> under <span class="doc_ref">&#8220;CMSIS&#8221;</span> and <span class="doc_ref">&#8220;Startup&#8221;</span> under <span class="doc_ref">&#8220;Device&#8221;</span>. If you want to select any other libraries you can do so by selecting the respective checkboxes. Selecting <span class="doc_ref">&#8220;Startup&#8221;</span> will automatically added all the necessary startup/boot files required for LPC17xx device, so we don&#8217;t have to import them from external sources. The selection of libraries can be changed any time later.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/4_CMSIS_startup.png" class="aligncenter" alt="Select libraries" width="667px" height="451px" /></p>
<p><strong>Step 4.</strong> Now click on <span class="doc_ref">&#8220;Options for Target&#8221;</span> button as shown below:</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/5_target_options.png" class="aligncenter" alt="Options for Target" width="533px" height="193px" /></p>
<p>Make sure the settings match as shown below.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/6_settings.png" class="aligncenter" alt="Target settings" width="626px" height="468px" /></p>
<p><strong>Step 5.</strong> Now, click on the <span class="doc_ref">&#8220;Output&#8221;</span> tab. If you want to generate hex file then you can check <span class="doc_ref">&#8220;Create HEX File&#8221;</span>.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/7_output_hex_file.png" class="aligncenter" alt="Create Hex File" width="595px" height="281px" /></p>
<p><strong>Step 6.</strong> Then click on the <span class="doc_ref">&#8220;Linker&#8221;</span> tab and Under that tab check the checkbox option which says <span class="doc_ref">&#8220;Use Memory Layout from Target Dialog&#8221;</span>.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/embedded/common/keil5_linker_options.png" class="aligncenter" alt="keil linker options" width="626px" height="268px" /></p>
<p><strong>Step 7.</strong>Now, under the <span class="doc_ref">&#8220;Debug&#8221;</span> tab, change the values for <span class="doc_ref">&#8220;Dialog DLL&#8221;</span> and <span class="doc_ref">&#8220;Parameter&#8221;</span> under both simulation and hardware debugger settings group. You can select <span class="doc_ref">&#8220;Use Simulator&#8221;</span> to debug your code using simulator itself. If you are using JTAG programmer or any other hardware debugger supported by KEIL then you can select it from top-right drop down box. We will see flashing and debugger options in detail in an upcoming post. Finally to click <span class="doc_ref">&#8220;OK&#8221;</span> to apply settings and close window.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/8_debug_options.png" class="aligncenter" alt="Debug options" width="626px" height="468px" /></p>
<div class="special sp_red notewarning">If your simulator was not working properly then using these settings(DARMP1.DLL and -pLPC1768) will most probably make it work and resolve the following error:</p>
<pre><code class="language-cpp">
*** error 65: access violation at 0x400FC1A0 : no 'write' permission
</code></pre>
</div>
<p><strong>Step 8.</strong> Now, in the source navigation pane on the left area, right click on <span class="doc_ref">&#8220;Source Group 1&#8221;</span> and select <span class="doc_ref">&#8220;Add New Item to Group &#8216;Source Group 1&#8242;&#8221;</span>.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/9.png" class="aligncenter" alt="add new item to source" width="544px" height="300px" /></p>
<p><strong>Step 9.</strong> A new window will pop-up to add an item as shown below. Select <span class="doc_ref">&#8220;C++ File (.cpp)&#8221;</span> or C File (.c) , then enter the name of the file in the text box to the right of <span class="doc_ref">&#8220;Name:&#8221;</span> and click <span class="doc_ref">&#8220;Add&#8221;</span>.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/embedded/common/keil5_create_new_source.png" class="aligncenter" alt="" width="455px" height="435px" /></p>
<p><strong>Step 10.</strong> Now you can write your code in the editor. To compile your program Press <span class="doc_ref">&#8220;F7&#8221;</span> key or in the main menu goto <span class="doc_ref">&#8220;Project->Build Target&#8221;.</span> To check for any compilation errors you can have a look at the build output at the bottom of main window. A screenshot of the Keil MDK uVision 5 is given below. The top red box shows the Source Tree Navigation and the bottom red box shows the build output.</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/11_compile.png" class="aligncenter" alt="Keil IDE screenshot" width="667px" height="587px" /></p>
<p><strong>Step 11.</strong> To initiate a debug session using simulator or debug hardware/probe click <span class="doc_ref">&#8220;Debug->Start/Stop Debug Session&#8221;</span> or you can hit <span class="doc_ref">&#8220;Ctrl+F5&#8221;</span> as shown below:</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/embedded/common/keil5_start_debug_session.png" class="aligncenter" alt="" width="546px" height="102px" /></p>
<p>Keil 5 under Debug Session :</p>
<p><img decoding="async" src="https://www.ocfreaks.com/imgs/lpc1768-tutorial/keil_mdk_uv_5/13_debugging_window.png" class="aligncenter" alt="" width="688px" height="596px" /></p>
<p>You can stop the session using the <span class="doc_ref">&#8220;Debug&#8221;</span> menu or but hitting <span class="doc_ref">&#8220;Ctrl+F5&#8221;</span> again.</p>
<h3 class="msize"> Keil 5 example project download </h3>
<p>Download Keil uVision 5 LPC1768 example/demo project archive below:</p>
<ul>
<li><a href="https://www.ocfreaks.com/imgs/_downloads/lpc1768/LPC1768_keil_uv5_CMSIS.zip">LPC1768_keil_uv5_CMSIS.zip</a></li>
</ul>
<p>After this, you are now ready to create your own <strong>Cortex-M3 LPC176x projects in Keil uVision5</strong>. If you are facing any problems/issues making or compiling projects for lpc1768/lpc1769 or any other Cortex-M MCU in Keil uVision 5 let me know by commenting to this post below.</p>
<p>The post <a href="https://www.ocfreaks.com/create-new-lpc1768-project-in-keil-5-tutorial/">Create new LPC1768 project in Keil uVision 5 tutorial</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/create-new-lpc1768-project-in-keil-5-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2829</post-id>	</item>
		<item>
		<title>Tutorial on Using MCUXpresso to create Cortex-M projects with CMSIS</title>
		<link>https://www.ocfreaks.com/tutorial-using-mcuxpresso-create-cortex-m-project-cmsis/</link>
					<comments>https://www.ocfreaks.com/tutorial-using-mcuxpresso-create-cortex-m-project-cmsis/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Umang Gajera]]></dc:creator>
		<pubDate>Wed, 23 Aug 2017 16:51:06 +0000</pubDate>
				<category><![CDATA[Embedded]]></category>
		<category><![CDATA[Guides & Tutorials]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=2826</guid>

					<description><![CDATA[<p>After getting your Cortex-M development board now its time for getting started with MCUXpresso IDE. In this Step by Step tutorial we will go through how to create projects in MCUXpresso IDE for Cortex-M series Microcontrollers by NXP(Founded by Philips) based on CMSIS (Cortex Microcontroller Software Interface Standard). MCUXpresso is a derivative of LPCXpresso and [&#8230;]</p>
<p>The post <a href="https://www.ocfreaks.com/tutorial-using-mcuxpresso-create-cortex-m-project-cmsis/">Tutorial on Using MCUXpresso to create Cortex-M projects with CMSIS</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/title.png" height="251px" width="435px" /></p>
<p>After getting your Cortex-M development board now its time for getting started with MCUXpresso IDE. In this Step by Step tutorial we will go through how to create projects in MCUXpresso IDE for Cortex-M series Microcontrollers by NXP(Founded by Philips) based on <strong>CMSIS (Cortex Microcontroller Software Interface Standard)</strong>. MCUXpresso is a derivative of LPCXpresso and Kinetis Design Studio IDEs with combined support for LCP and Kinetis MCUs. The IDE comes with integrated <strong>arm-gcc</strong> compiler and all the necessary debug drivers like LPC-Link, etc.. to get started with rapid embedded systems application development using your Xpresso board. Both older and newer boards are supported.</p>
<p>This guide is applicable for NXP&#8217;s <strong>Cortex-M MCU</strong> families like LPC800(e.g. LPC81x), LPC1100(e.g. LPC111x), LPC1300(e.g. LPC134x), LPC1700(e.g. LPC176x), LPC4300, etc. After creating MCUXpresso projects with CMSIS, the IDE will automatically add all the necessary startup files(for initializing MCU), headers and a project source file(C/C++) depending on the settings we choose while creating project.</p>
<p><strong>Where to download the IDE from?</strong> You can download and install the IDE from the links given below:</p>
<ul>
<li><a href="http://www.nxp.com/products/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide-v10.0.2:MCUXpresso-IDE" target="_blank">MCUXpresso v10.0.2</a></li>
<li>You can always check the latest version @ <a href="http://www.nxp.com/products/developer-resources/run-time-software/mcuxpresso-software-and-tools:MCUXPRESSO" target="_blank">MCUXpresso Software and Tools for ARM® Cortex®-M cores </a></li>
</ul>
<p>After download, install from the setup file using default settings. During installation it will also install debug probe drivers which is also used to flash the code. Just click Yes/Next/Accept if its asks for driver install confirmation. By default the IDE will install to location &#8211; <span class="code_var">C:\NXP\MCUXpressoIDE_&lt;version&gt;\</span>. After install follow the steps below to create a new project. In this guide I have shown project creation using LPC1114/302 as target, as an example/demo. The steps will be same for other Cortex-M series MCUs like say LPC1769. I have provided workspace archives containing example projects for LPC812, LPC1114, LPC1343 and LPC1768/LPC1769. Download links are given towards the end of this tutorial.</p>
<h2 class="shead">Step by Step Tutorial</h2>
<p><strong>Step 1:</strong> When you start MCUXpresso, it will first ask for a path to create a workspace. A workspace is like a master directory with settings and can contain many individual projects, more like a general &#8220;Projects&#8221; folder. When prompted enter the path where you want to create your workspace:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/2_workspace.png" height="279px" width="616px" /></p>
<hr width="90%"/>
<p><strong>Step 2:</strong> Now, the IDE will launch as shown below. Now click the on <span class="doc_ref">&#8220;New project&#8230;&#8221;</span> in the bottom right view of the IDE, under <span class="doc_ref">&#8220;Quickstart Panel&#8221;</span> tab:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/3_mcuxpresso_window.png" height="503px" width="690px" /> </p>
<hr width="90%"/>
<p><strong>Step 3:</strong> A wizard to create a project will open. First we have to select the target MCU which we are using, from the MCU list which can be found under <span class="doc_ref">&#8220;Preinstalled MCUs&#8221;</span> as shown below:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/4_target_mcu_selection.png" height="604px" width="695px" /> </p>
<hr width="90%"/>
<p><strong>Step 4:</strong> Next select <span class="doc_ref">&#8220;C++ Project&#8221;</span>:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/5.png" height="402px" width="511px" /> </p>
<hr width="90%"/>
<p><strong>Step 5:</strong> Next enter a suitable name for your project. Make sure that the checkbox <span class="doc_ref">&#8220;Use default location&#8221;</span> is selected. This will create the project directory inside the workspace directory. Then click <span class="doc_ref">&#8220;Next&#8221;</span>:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/6_project_name.png" height="353px" width="511px" /> </p>
<hr width="90%"/>
<p><strong>Step 6:</strong> Click on <span class="doc_ref">&#8220;Import&#8221;</span> so we can import the CMSIS files for our MCU:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/7_cmsis_import.png" height="385px" width="569px" /> </p>
<p>A new <span class="doc_ref">&#8220;Import&#8230;&#8221;</span> window will appear. Click on <span class="doc_ref">&#8220;Browse&#8221;</span> under <span class="doc_ref">&#8220;Project archive (zip)&#8221;</span>. Then Select the required CMSIS library zip file for your MCU family. This can be found under <span class="code_var">&#8220;ide\Examples\Legacy\NXP\LPC1000&#8221;</span>(for LPC1000 MCUs) inside the MCUXpresso installation directory and click <span class="doc_ref">&#8220;Next&#8221;</span> as shown below:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/step6a.png" height="1332px" width="599px" /></p>
<p>select the CMSIS_CORE project only if you won&#8217;t be using CMSIS_DSPLIB or you can select both Then click on <span class="doc_ref">&#8220;Finish&#8221;</span> as shown below:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/11.png" height="394px" width="599px" /> </p>
<hr width="90%"/>
<p><strong>Step 7:</strong> Now under <span class="doc_ref">&#8220;CMSIS Core library&#8221;</span> select CMSIS_CORE_LPCxxxx for your MCU family and click Next. In the next screen, do the same for CMSIS_DSP library if you had selected it in step 6. Or select <span class="doc_ref">&#8220;none&#8221;</span> and click next.</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/step7a.png" height="788px" width="569px" /></p>
<div class="highlight">
<div class="special sp_red notewarning"><strong>Attention:</strong> After this stage, depending on your target MCU family MCUXpresso <strong>may ask</strong> for a few more debugging related options. <strong>For other MCUs these page(s) won&#8217;t appear.</strong></div>
<p><strong>Extra options specific for LPC8xx &#038; LPC11U6x/E6x Target MCUs (Ignore this for other MCUs).</strong> This option is used to enable or disable MTB (Micro Trace buffer) which provides a method to collect details about the instructions being executed. Even if you disable this, still a file named &#8220;mtb.c&#8221; will be created in your project which defines the array variable which is used as trace buffer &#8211; but the code will be not compiled since C/C++ Macro definitions will disable it. If you choose to enable it, you can change the buffer value any time in the IDE.<br />
<img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/step7b_mtb_options.png" height="415px" width ="533px" /> </p>
<p><strong>Extra options specific for LPC13xx, LPC15xx &#038; LPC541xx/546xx Target MCUs (Ignore this for other MCUs).</strong> This will is used to enable or disable SWO (Serial Wire Output) Trace used for capturing events occurring on MCU in real time. This is only support by LPC-LINK2 debug probe. So, if your board has LPC-LINK1 probe or any other debug probe you will have to disable this option. You can read more @ <a href="http://www.nxp.com/docs/en/quick-reference-guide/MCUXpresso_IDE_SWO_Trace.pdf" target="_blank">MCUXpresso IDE SWO Trace Guide</a><br />
<img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/step7c_swo_trace_options.png" height="329px" width ="536px" /> </div>
<p>On the next options page click <span class="doc_ref">&#8220;Finish&#8221;</span>:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/14.png" height="497px" width="578px" /> </p>
<hr width="90%"/>
<p><strong>Step 8:</strong> The IDE will now create a project with the settings we selected as shown below. The name of the source file containing the <span class="code_var">main()</span> function will be <span class="code_var">&lt;Project-Name&gt;.cpp</span>. When you are ready with your program you can click <span class="doc_ref">&#8220;Build&#8221;</span> under <span class="doc_ref">&#8220;Quickstart Panel&#8221;</span> to compile.</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/15.png" height="663px" width="715px" /> </p>
<p>Finally, to start debugging(or Flashing compiled program) connect you Xpresso board to your computer and click on <span class="doc_ref">&#8220;Debug&#8221;</span> under <span class="doc_ref">&#8220;Quickstart Panel&#8221;</span>. This will start a debug session and a new pop-will appear to select your debugger(debug probe). It will automatically detect the debug probe. Just click <span class="doc_ref">&#8220;Next&#8221;</span>:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/16.png" height="473px" width="511px" /> </p>
<p>Once the program is flashed on to the chip you can click on the resume(Green Triangular Play button) or F8 key to start debugging or code execution on the target MCU as shown below:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/17_start_debugging.png" height="114px" width="545px" />   </p>
<p>To stop debug session click on the Terminate(red square) button or &#8220;Ctrl+F2&#8221;:</p>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/embedded/mcuxpresso_tutorial/18_stop_debugging.png" height="114px" width="595px" /></p>
<hr width="90%"/>
<h4> Download MCUXpresso Workspace containing example/demo project and CMSIS library as zip:</h4>
<ul>
<li><a href="https://www.ocfreaks.com/imgs/_downloads/embedded/MCUXpresso_CMSIS_lpc81x_WS.zip">lpc81x_WS.zip</a> &#8211; contains project for LPC812 as Target MCU</li>
<li><a href="https://www.ocfreaks.com/imgs/_downloads/embedded/MCUXpresso_CMSIS_lpc111x_WS.zip">lpc111x_WS.zip</a> &#8211; contains project for LPC1114/302 as Target MCU</li>
<li><a href="https://www.ocfreaks.com/imgs/_downloads/embedded/MCUXpresso_CMSIS_lpc134x_WS.zip">lpc134x_WS.zip</a> &#8211; contains project for LPC1343 as Target MCU</li>
<li><a href="https://www.ocfreaks.com/imgs/_downloads/embedded/MCUXpresso_CMSIS_lpc176x_WS.zip">lpc176x_WS.zip</a> &#8211; contains projects for LPC1769 &#038; LPC1768 as Target MCU</li>
</ul>
<div class="special sp_blue noteinfo"><strong>How use/import the zip archive? </strong></p>
<p>The zip files given above contains archive of workspace which includes the individual project and CMSIS library. Just unzip it a suitable location and open the location as workspace in MCUXpresso.<br />
<strong>=OR=</strong><br />
You can import the workspace zip as project from the IDE itself from <strong>&#8220;File->Open Projects from File System&#8230;&#8221;</strong> menu &#8211; note that contents of the zip will be imported as project into the existing workspace.</div>
<p><strong>Reference(s), further reading and Resources:</strong></p>
<ul>
<li><a href="http://www.nxp.com/docs/en/user-guide/MCUXpresso_IDE_User_Guide.pdf">MCUXpresso IDE User Guide</a></li>
<li><a href="http://www.nxp.com/products/developer-resources/run-time-software/mcuxpresso-software-and-tools:MCUXPRESSO">MCUXpresso Software and Tools for ARM® Cortex®-M cores </a></li>
<li><a href="https://developer.arm.com/embedded/cmsis">CMSIS Overview &#038; Components</a></li>
<li><a href="http://arm-software.github.io/CMSIS_5/Core/html/index.html">CMSIS-Core Documentation</a></li>
<li><a href="http://arm-software.github.io/CMSIS_5/DAP/html/index.html">CMSIS-DAP (Debug Access port) Documentation</a></li>
</ul>
<p>The post <a href="https://www.ocfreaks.com/tutorial-using-mcuxpresso-create-cortex-m-project-cmsis/">Tutorial on Using MCUXpresso to create Cortex-M projects with CMSIS</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/tutorial-using-mcuxpresso-create-cortex-m-project-cmsis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2826</post-id>	</item>
		<item>
		<title>How to Compress Video Files without much Quality Loss using Handbrake</title>
		<link>https://www.ocfreaks.com/compress-video-files-without-much-quality-loss-using-handbrake/</link>
					<comments>https://www.ocfreaks.com/compress-video-files-without-much-quality-loss-using-handbrake/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Saby D'silva]]></dc:creator>
		<pubDate>Sun, 09 Jul 2017 14:19:39 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=2794</guid>

					<description><![CDATA[<p>In this step by step tutorial you will get acquainted with Handbrake, and how to use it to compress large videos without much quality loss. </p>
<p>The post <a href="https://www.ocfreaks.com/compress-video-files-without-much-quality-loss-using-handbrake/">How to Compress Video Files without much Quality Loss using Handbrake</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="aligncenter spaced" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/title.png" height="271px" width="400px" alt="Handbrake Smiley"></a></p>
<p class="compact">Hi folks. In this step-by-step tutorial, I will show you how to compress videos using the free open-source tool Handbrake. This can prove especially useful to those who want to store lots of videos in devices with a limited storage capacity. Storing uncompressed large video files on such a device isn&#8217;t logical and is IMHO, downright stupid. This tutorial will get you acquainted with Handbrake and how you can use it to reduce the file size of large videos in a few minutes. You can download Handbrake from <a href="https://handbrake.fr/" target="_blank">here</a>. The detailed explanation of all the settings used in this tutorial can be found in my other articles on Handbrake(Links given at the bottom). </p>
<p class="compact">Without further ado, lets get started:</p>
<h4>Step 1: Open Handbrake</h4>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbmain.png" height="408px" width="596px" alt="Handbrake Window"></p>
<h4> Step 2: Importing Source File(s) </h4>
<p> Import your video files to transcode by either dragging and dropping the file or clicking on &#8220;File&#8221; and navigating to the desired path. To batch encode all videos in a particular folder, click on &#8220;Folder&#8221; and navigate to the desired path. Select &#8220;MP4&#8221; container.</p>
<div class="ocf-img-carousel hide-pre-init" data-imgcar-mode ="2" data-alt-txt="Handbrake Import Files" >
<div class="aligncenter single-item">
<div class="img-slides"><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbdd.gif" alt="Handbrake Drag and Drop File" /><span class="desc slide">Handbrake Drag and Drop File</span></div>
<div class="img-slides"><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfio.gif" alt="Handbrake File Open" /><span class="desc slide">Handbrake File Open</span></div>
<div class="img-slides"><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfoo.gif" alt="Handbrake Folder Open" /><span class="desc slide">Handbrake Folder Open</span></div>
</div>
<ul class="thumbnails">
<li class="img-thumbs"><img decoding="async" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbdd.gif" /></li>
<li class="img-thumbs"><img decoding="async" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfio.gif" /></li>
<li class="img-thumbs"><img decoding="async" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfoo.gif" /></li>
</ul>
</div>
<div style="display: none">
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbdd.gif" target="_blank"><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbdd.gif" height="408px" width="596px" alt="Handbrake Drag and Drop File"></a>
</div>
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfio.gif" target="_blank"><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfio.gif" height="408px" width="596px" alt="Handbrake File Open"></a>
</div>
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfoo.gif" target="_blank"><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/hbfoo.gif" height="408px" width="596px" alt="Handbrake Folder Open"></a>
</div>
</div>
<h4>Step 3: Picture Settings </h4>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/1pic.png" height="378px" width="720px" alt="Handbrake Pictures Tab"><b>In the Picture tab: </b></p>
<ol class="dec">
<li>Select Anamorphic &#8220;Loose&#8221; and Modulus &#8220;2&#8221;.</li>
<li>Choose your desired Video Width. For mobile devices, I recommend a max resolution of 720p, which translates to a width of 1280 pixels for my input file (big_buck_bunny_1080p_h264.mp4).</li>
<li>Check Cropping &#8220;Custom&#8221; and make all values 0, if you don&#8217;t wish to crop your video. Or check &#8220;Automatic&#8221;, whichever works for you.</li>
</ol>
<h4>Step 4: Filter Settings </h4>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/2fil.png" height="378px" width="720px" alt="Handbrake Filters Tab"><b>In the Filters Tab:</b></p>
<ol class="dec">
<li>Select &#8220;NLMeans&#8221; Denoise with preset &#8220;Ultralight&#8221; and Tune &#8220;None&#8221;.</li>
</ol>
<h4>Step 5: Video Settings </h4>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/3vid.png" height="378px" width="720px" alt="Handbrake Video Tab"><b>In the Video Tab:</b></p>
<ol class="dec">
<li>Select Codec &#8220;x264&#8221;, Framerate &#8220;Same as Source&#8221; and check &#8220;Variable Framerate&#8221;.</li>
<li>Check &#8220;Constant Quality&#8221; and keep the RF Slider between 21-25, no more, no less. I recommend using 24 for mobile devices.</li>
<li>Keep Encoder Preset Slider to &#8220;Veryfast&#8221;, and select Encoder Tune &#8220;Film&#8221;, Encoder Profile &#8220;Main&#8221; and Encoder Level &#8220;4.0&#8221;.</li>
</ol>
<h4>Step 6: Audio Settings </h4>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/4aud.png" height="378px" width="720px" alt="Handbrake Audio Tab"><b>In the Audio Tab:</b></p>
<ol class="dec">
<li>Select Codec &#8220;AAC (avcodec)&#8221;, select &#8220;Bitrate&#8221; and keep it to 160 or lower for mobile devices.</li>
</ol>
<h4>Step 6: Adding Subtitles </h4>
<p><img decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_step_by_step/5sub.png" height="378px" width="720px" alt="Handbrake Subtitles Tab"><b>In the Subtitles Tab:</b></p>
<ol class="dec">
<li>Add or remove Subtitles as per your wish.</li>
</ol>
<h4>Step 7: Finally, click on &#8220;Start Encode&#8221;</h4>
<p><b>Step 7.1 (Optional): Get some coffee while your CPU does all the heavy lifting and compresses your video files &#038; converts it to MP4 format!</b></p>
<p>For a more comprehensive, detailed and in-depth explanation of all the Handbrake settings, visit the following links:</p>
<ul>
<li><a href="https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/" target="_blank">Handbrake Complete Tutorial Part 1: How to Transcode &#038; Compress Videos</a></li>
<li><a href="https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/" target="_blank">Beginners Guide to Video Redundancies</a></li>
<li><a href="https://www.ocfreaks.com/handbrake-tutorial-part-2-x264-advanced-encoding-compression-settings-guide/" target="_blank">Handbrake Tutorial Part 2: x264 Advanced Encoding &#038; Compression Settings Guide</a></li>
</ul>
<p>The post <a href="https://www.ocfreaks.com/compress-video-files-without-much-quality-loss-using-handbrake/">How to Compress Video Files without much Quality Loss using Handbrake</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/compress-video-files-without-much-quality-loss-using-handbrake/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2794</post-id>	</item>
		<item>
		<title>Handbrake Tutorial Part 2: x264 Advanced Encoding &#038; Compression Settings Guide</title>
		<link>https://www.ocfreaks.com/handbrake-tutorial-part-2-x264-advanced-encoding-compression-settings-guide/</link>
					<comments>https://www.ocfreaks.com/handbrake-tutorial-part-2-x264-advanced-encoding-compression-settings-guide/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Saby D'silva]]></dc:creator>
		<pubDate>Thu, 02 Feb 2017 08:09:27 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=2586</guid>

					<description><![CDATA[<p>An in-depth Guide/Tutorial explaining all the x264 intricacies and advanced settings offered in handbrake advanced tab. The settings in this tab are for those who like to tweak and fine tune the encoder's settings for the video.</p>
<p>The post <a href="https://www.ocfreaks.com/handbrake-tutorial-part-2-x264-advanced-encoding-compression-settings-guide/">Handbrake Tutorial Part 2: x264 Advanced Encoding &#038; Compression Settings Guide</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="spaced tocpostimage">
<img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/hbx264.jpg" alt="x264 in Handbrake" height="256px" width="256px">
</div>
<p class="compact" style="clear: left; float:left">Some of you might find it odd that I made a separate post to talk about the settings in the Advanced tab of Handbrake. But rest assured, there’s a damn good reason why I chose to do so. The first tutorial was targeted at beginners. In essence, I’d say that the first tutorial was 80% handbrake and 20% some general info about videos and encoding. This tutorial would be about 20% Handbrake and 80% x264 video encoding and compression, as you need to know a fair bit about how x264 encodes video to completely understand the options in this tab.</p>
<div class="toc_container"><span class="toc_title">Table of Contents</span></p>
<div class="toc">
<ol class="toc_list">
<li class="toc_text"><a href="#x264_Video_Encoding" title="x264 Video Encoding"><span>1. </span><span>x264 Video Encoding</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Eliminating_Redundancies" title="Eliminating Redundancies"><span>1.1. </span><span>Eliminating Redundancies</span></a></li>
<li class="toc_text"><a href="#Rate_Factor_vs_Quantization_Parameter" title="Rate Factor vs Quantization Parameter"><span>1.2. </span><span>Rate Factor vs Quantization Parameter</span></a></li>
</ol>
<li class="toc_text"><a href="#Advanced_Tab" title="Advanced Tab"><span>2. </span><span>Advanced Tab</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Encoding" title="Encoding"><span>2.1. </span><span>Encoding</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Reference_Frames" title="Reference Frames"><span>2.1.1. </span><span>Reference Frames</span></a></li>
<li class="toc_text"><a href="#Maximum_B_Frames" title="Maximum B Frames"><span>2.1.2. </span><span>Maximum B Frames</span></a></li>
<li class="toc_text"><a href="#Pyramidal_B_Frames" title="Pyramidal B Frames"><span>2.1.3. </span><span>Pyramidal B Frames</span></a></li>
<li class="toc_text"><a href="#Weighted_P_Frames" title="Weighted P Frames"><span>2.1.4. </span><span>Weighted P Frames</span></a></li>
<li class="toc_text"><a href="#8x8_Transform" title="8x8 Transform"><span>2.1.5. </span><span>8&#215;8 Transform</span></a></li>
<li class="toc_text"><a href="#CABAC" title="CABAC"><span>2.1.6. </span><span>CABAC</span></a></li>
</ol>
<li class="toc_text"><a href="#Analysis" title="Analysis"><span>2.2. </span><span>Analysis</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Adaptive_B_Frames" title="Adaptive B Frames"><span>2.2.1. </span><span>Adaptive B Frames</span></a></li>
<li class="toc_text"><a href="#Adaptive_Direct_Mode" title="Adaptive Direct Mode"><span>2.2.2. </span><span>Adaptive Direct Mode</span></a></li>
<li class="toc_text"><a href="#Subpixel_Motion_Est(subme)" title="Subpixel Motion Est(subme)"><span>2.2.3. </span><span>Subpixel Motion Est(subme)</span></a></li>
<li class="toc_text"><a href="#Motion_Est_Method" title="Motion Est Method"><span>2.2.4. </span><span>Motion Est Method</span></a></li>
<li class="toc_text"><a href="#Motion_Est_Range(merange)" title="Motion Est Range(merange)"><span>2.2.5. </span><span>Motion Est Range(merange)</span></a></li>
<li class="toc_text"><a href="#Partition_Type" title="Partition Type"><span>2.2.6. </span><span>Partition Type</span></a></li>
<li class="toc_text"><a href="#Trellis" title="Trellis"><span>2.2.7. </span><span>Trellis</span></a></li>
</ol>
<li class="toc_text"><a href="#Psychovisual" title="Psychovisual"><span>2.3. </span><span>Psychovisual</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#No_DCT_Decimate" title="No DCT Decimate"><span>2.3.1. </span><span>No DCT Decimate</span></a></li>
<li class="toc_text"><a href="#Adaptive_Quant_Strength" title="Adaptive Quant Strength"><span>2.3.2. </span><span>Adaptive Quant Strength</span></a></li>
<li class="toc_text"><a href="#Psychovisual_Rate_Distortion" title="Psychovisual Rate Distortion"><span>2.3.3. </span><span>Psychovisual Rate Distortion</span></a></li>
<li class="toc_text"><a href="#Psychovisual_Trellis" title="Psychovisual Trellis"><span>2.3.4. </span><span>Psychovisual Trellis</span></a></li>
<li class="toc_text"><a href="#Deblocking" title="Deblocking"><span>2.3.5. </span><span>Deblocking</span></a></li>
</ol>
</ol>
<li class="toc_text"><a href="#Closing_Notes" title="Closing Notes"><span>3. </span><span>Closing Notes</span></a></li>
</ol>
</div>
</div>
<p class="compact">Before going any further, let me make this clear; most users won’t need to mess around with these settings. The settings in this tab are just for those few users who like to tweak and fine tune the encoder&#8217;s settings for the video. You can get a decent output without using this tab.</p>
<div class="special sp_blue notestar spaced">
<strong>Note:</strong> I highly recommend you to go through my article on<a href="https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/" target="_blank"> Video Redundancies </a>. I&#8217;ve written it as a precursor to this tutorial.
</div>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="x264_Video_Encoding">x264 Video Encoding</span></h2>
<p class="compact">x264 is, as of now, the most popular and widely regarded as the best video encoder out there. No other encoder comes close to it in terms of quality at a given bitrate, and it is compatible with most devices too. Let us see now what it is that makes this codec so good.</p>
<h3 class="msize" style="padding-top: 5px; text-decoration: underline"><span id="Eliminating_Redundancies">Eliminating Redundancies</span></h3>
<p class="compact">To those who dont know the various redundancies that exist in a video and why eliminating them is important, check out: <a href="https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/" target="_blank"> Video Redundancies </a>.</p>
<p class="compact">To eliminate spatial and temporal redundancies, each <a href="https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/#Modulus" target="_blank"><strong>macroblock</strong></a> in a frame is scanned first to identify the redundant information. These redundant information are then predicted by using various algorithms and are replaced by the <strong>&#8220;predicted</strong>&#8221; blocks, which ultimately results in a much smaller file size. Two kinds of prediction are used by x264 to predict the macroblocks in a frame:</p>
<div class="highlight spaced">
<ol class="emplist">
<li class="spaced"><b>Intra Frame Prediction:</b> Macroblocks are predicted by using previously encoded data in the <strong>current frame</strong>. This is used for eliminating <strong>spatial redundancies</strong>. A prediction for the current block is formed from the previously encoded neighbouring blocks.
</li>
<li>
<p class="nl"><b>Inter Frame Prediction:</b> Macroblocks are predicted by using previously encoded data in the <strong>neighbouring frames</strong>. This is used for eliminating <strong>temporal redundancies</strong>. It is also known as <strong>Motion Estimation</strong>. This prediction is done by scanning the corresponding block that is already encoded in the neighbouring frames. The similar blocks are considered to be the <strong>static</strong> part of the scene(the &#8220;background&#8221;), while the differing blocks are collectively considered to be the <strong>active</strong>(&#8220;moving&#8221;) part in the scene. The output is then, a video that is comprised of <strong>reference frames</strong>, which contains the static and active parts, and <strong>predicted frames</strong> which consists of the moving parts overlaid on the background to recreate the scene, frame by frame.</p>
<p class="compact">So basically, what happens here is that the static parts in the scene are copied as it is from the reference frame to the predicted frame. And for the active parts, a <strong>motion vector</strong> is calculated to change their position from that of the reference frame to that of the predicted frame. This process is called <strong>Motion Compensation</strong>. So, the predicted frame, in this sense, directly or indirectly depends on the reference frame, and would take up much less space than what it would if the entire frame was stored.</p>
</li>
</ol>
</div>
<p class="compact">H.264 standard defines 3 types of frames that can be used by the codec. These are:</p>
<div class="highlight spaced">
<ol class="emplist">
<li class="spaced"><b>I Frame:</b> I frame (Intra Frame) is nothing but the frame copied as it is from the source. It is completely independent of other frames in the video stream, and can be decoded without reference from the other frames. The frame is encoded by using only <strong>Intra Frame Prediction</strong>. The more the number of I frames in the video, the better the quality, but the lower the compression. I frames are used in H.264 in the start of the video file or in a rapid scene change.</li>
<li class="spaced"><b>P Frame:</b> P Frames(Predicted Frames) are frames that are dependent on previous I or P frames. These frames only hold the information about the moving part in the scene, by using <strong>Inter Frame Prediction</strong>. On an average, it can be said to contain about 50% the information contained on an I frame.</li>
<li><b>B Frame:</b> B Frames(Bidirectional Predicted Frames) are frames that are dependent on both previous as well as future I and P frames. These frames, similar to P frames, only hold the information about the moving part in the scene. On an average, it can be said to contain about 50% the information contained on a P frame.</li>
</ol>
</div>
<p class="compact">The way the encoder arranges these frames together is called <strong>GOP(Group Of Pictures)</strong>, starting with the I frame at the beginning. This, in turn is made up of <strong>mini GOPs</strong> beginning with a P/B frame.  Now, consider an I frame to be of size x, a P frame 0.5x, and B frame 0.25x. For the following GOPs:</p>
<p class="compact">IIII: Size=4x<br />
IPPP: Size=2.5x<br />
IBBP: Size=2x</p>
<p class="compact">The advantages of using predicted frames are quite evident from the above example.</p>
<div class="special sp_blue notestar spaced">
<b>Note:</b> As B frames need both previous and future frames as reference, the order of encoding for the third GOP in the above example would actually be: IPBB. After the I and P frames are encoded, the B frames would be encoded and put in between them. It should also be noted that many devices have a limitation on the maximum number of B frames that can be used(since decoding of B frames require a lot of computational power). Regardless of all these, the beginning of a GOP will always be signalled by an I frame.
</div>
<p class="compact">Once the predicted frames are formed (by either Intra or Inter prediction), each block in it is subtracted from the ones in the actual frame to form the <strong>residual block</strong>. These residual blocks are then transformed using either order 4 or order 8 <strong>integer transform</strong> to output a stream of coefficients for each block. The <strong>transformed coefficients</strong> are then <strong>quantized</strong>, ie, scaled by a value obtained from the <strong>Quantization Parameter</strong>(QP). The basic idea is to reduce the value of the coefficient as much as possible. The QP defines by what extent each block is to be compressed. Higher QP values mean more compression but lower quality, and lower values mean less compression but higher quality. The quantized blocks are then <strong>entropy coded</strong> to finally obtain the output video file. This is a form of lossless compression method that is done at the end, to eliminate the coding redundancies.</p>
<h3 class="msize" style="padding-top: 5px; text-decoration: underline"><span id="Rate_Factor_vs_Quantization_Parameter">Rate Factor vs Quantization Parameter</span></h3>
<p class="compact">One difference that you can observe when encoding videos (in Handbrake) using x264 in Constant Quality mode is that; while all other codecs will offer you a<strong> QP (Quantization Parameter)</strong> Slider, x264(and x265) will offer you an <strong>RF (Rate Factor)</strong> Slider. There is quite an inherent difference between the two.</p>
<p class="compact">Constant Quality encoding can be achieved by two ways:</p>
<div class="highlight spaced">
<ol class="emplist">
<li class="spaced">
<p class="nl"><b>Constant Quantization Parameter (CQP):</b> In this method, constant quality is achieved by compressing every frame of the same type by the same amount, ie, a constant QP is maintained for the entire video. So, if the QP slider is kept at 24, it will remain 24 for the entire video.</p>
<p class="compact">The QP slider scale is linear, and the output filesize would change linearly with the QP value.</p>
</li>
<li class="spaced">
<p class="nl"><b>Constant Rate Factor (CRF):</b> In this method, the QP is not kept constant throughout the video, but will be variable. Thus, different frames are compressed by different amounts, depending on the amount of detail and motion on the frame. CRF takes advantage of the simple fact that the eye perceives more detail in stationary objects than in moving objects. So, it applies more compression for fast motion scenes, and less compression for still scenes. Due to this, the output video will appear to be much more detailed. So, if the RF slider is kept at 24, then the QP might range from around 26-18.</p>
<p class="compact">The RF slider scale is <strong>logarithmic</strong>, and the output filesize would change <strong>exponentially</strong> with deviation of the RF value.</p>
</li>
</ol>
</div>
<p class="compact">So, which of these is better? Obviously CRF, as it can distribute bits in a much more efficient way than CQP.</p>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Advanced_Tab">Advanced Tab</span></h2>
<p class="compact">The settings within this tab are unlocked by checking the <strong><em>&#8220;Use Advanced Tab instead&#8221;</em></strong> option in the Video tab. These settings allow you to fine tune your video by adjusting the various conversion parameters of the x264 codec. This tab is further subdivided into three sections: <strong><em>Encoding</em></strong>, <strong><em>Analysis</em></strong>, and <strong><em>Psychovisual</em></strong>.</p>
<div class="spaced image">
<img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/handbrake_advanced_tab.jpg" alt="Handbrake Advanced Tab" /><br />
<i>Handbrake Advanced Tab</i>
</div>
<h3 class="msize" style="padding-top: 5px; text-decoration: underline"><span id="Encoding">Encoding</span></h3>
<p class="compact">The <strong><em>Encoding</em></strong> section deals with <strong>video compression</strong>. It offers various ways by which your video bitrate could be further reduced.</p>
<h4 class="psize il"><span id="Reference_Frames">Reference Frames: </span></h4>
<p class="il np">This setting specifies the maximum number of frames each P frame can use as a reference. The higher this value, the better the compression. But it must be noted that many devices have limitations on the maximum number of reference frames that can be used. So, unless your sure what this value is, keep it at default(3).</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="Maximum_B_Frames">Maximum B frames: </span></h4>
<p class="il np">This setting allows you to set the maximum number of successive B frames that can be encoded, after which an I or P frame has to follow for reference.</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="Pyramidal_B_Frames">Pyramidal B frames: </span></h4>
<p class="il nl">Enabling this setting allows the B frames to be used as reference for other B frames wherever possible, thereby increasing compression. Options of None, Normal and Strict are provided. </p>
<ul class="np">
<li><em>None</em>: B frames are not used as reference.</li>
<li><em>Strict</em>: One B frame per mini GOP can be used as reference</li>
<li><em>Normal</em>: Numerous B frames per mini GOP can be used as reference.</li>
</ul>
<h4 class="psize il"><span id="Weighted_P_Frames">Weighted P Frames: </span></h4>
<p class="il np">Enabling this option allows the encoder to detect fades in reference frames, and assign it a particular weight. If this is OFF, the encoder will be unable to see the similarity between frames in cases where a frame is simply lighter or darker from the previous frame, as the entire frame is changing. Turning this ON can improve compression in such cases.</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="8x8_Transform">8&#215;8 Transform: </span></h4>
<p class="il np">Enabling this option allows the use of 8&#215;8 blocks, rather than the normal 16&#215;16 blocks, for prediction. This can improve compression by quite a lot(at least 5%).</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="CABAC">CABAC: </span></h4>
<p class="il nl">After quantization, the data stream has to be encoded. x264 offers two methods to achieve this: <strong>CABAC(Context Adaptive Binary Arithmetic Coding)</strong> and <strong>CAVLC(Context Adaptive Variable Length Coding)</strong>. CABAC offers better compression, but requires more processing power to encode and decode than CAVLC. CAVLC, on the other hand, offers inferior compression, but requires less processing power to encode and decode than CABAC.</p>
<p class="np">To turn ON CABAC encoding, tick the &#8220;CABAC&#8221; checkbox. Unchecking it will use CAVLC encoding, by default.</p>
<div class="vspacer_25px"></div>
<h3 class="msize" style="padding-top: 5px; text-decoration: underline"><span id="Analysis">Analysis</span></h3>
<p class="compact">This section contains settings using which you can control how x264 analyzes the source video.</p>
<h4 class="psize il"><span id="Adaptive_B_Frames">Adaptive B frames: </span></h4>
<p class="il nl">Using the options in this setting, you can control how x264 makes the decision to use a B frame.</p>
<ul class="np">
<li><em>OFF</em>: B frames will be placed in a fixed pattern.</li>
<li><em>Fast</em>: x264 can decide how many B frames to use depending on the complexity of the scene, but the decisions made are suboptimal.</li>
<li><em>Optimal</em>: x264 makes an optimal decision on when B frames are to be used. When using a higher number of Maximum B frames with Pyramidal B Frames, it is recommended to use this setting.</li>
</ul>
<h4 class="psize il"><span id="Adaptive_Direct_Mode">Adaptive Direct Mode: </span></h4>
<p class="il nl">This setting specifies how motion vectors are calculated for each block. Calculating motion vectors for every block is a CPU intensive and time consuming process. x264 has a few tricks up it&#8217;s sleeve for this.</p>
<ul class="np">
<li><em>None</em>: Adaptive Direct Mode is disabled. Motion Vectors have to be calculated for each block.</li>
<li><em>Spatial</em>: Motion vectors from the neighbouring blocks are used for the current block. This can significantly reduce the encoding time.</li>
<li><em>Temporal</em>: The current block is compared with the matched block in a P frame within the GOP. Using this, the motion vector is estimated rather than calculating it for each block.</li>
<li><em>Automatic</em>: x264 automatically chooses whether to use Spatial or Temporal for each block.</li>
</ul>
<h4 class="psize il"><span id="Subpixel_Motion_Est(subme)">Subpixel Motion Est(subme): </span></h4>
<p class="il nl">One of the things that make x264 far superior to other codecs is it&#8217;s amazing Motion Compensation capabilities. x264 even supports estimating the motion of a block by a non integer number of pixels, which is called Subpixel Motion Estimation. The advantages that this offers are quite obvious.</p>
<ul class="np">
<li><em>SAD(Sum of Absolute Differences)</em>: In this, the absolute differences between the pixels in the current block and the corresponding pixels in the block to be compared are taken, and are then added to obtain an SAD value. The block which gives the lowest SAD value will be the considered to be the block using which the motion vector will be calculated. This method can be used either with no Subpixel Motion Estimation(<strong><em>subme 0</em></strong>), or with one iteration of Quarter Pixel precision(<strong><em>subme 1</em></strong>).</li>
<li><em>SATD (Sum of Absolute Transformed Differences)</em>:Similar to SAD, with the only difference being that the differences of each pixel is frequency transformed before being added. Although this is much slower than SAD, it gives a much better prediction. This method can be used with two iterations of Quarter Pixel precision(<strong><em>subme 2</em></strong>), one iteration of Half Pixel precision interpolated to give quarter pixel precision(<strong><em>subme 3</em></strong>), always with Quarter Pixel precision(<strong><em>subme 4</em></strong>) and with Quarter Pixel precision + Bidirectional Motion Estimation(<strong><em>subme 5</em></strong>).</li>
<li><em>RD(Rate Distortion)</em>: The disadvantage of using SAD/SATD is that, many a time, the number of bits used for representing a sample would be more than what is actually needed. This could drastically increase the output file size, especially when using Quarter Pixel Precision.<br />
RD rectifies this issue by measuring the distortion D and the the number of bits R required for each decision, and comparing these with a cost function to make the mode decision. This can be used in either I/P frames(<strong><em>subme 6</em></strong>) or in all frames(<strong><em>subme 7</em></strong>).</li>
<li><em>RD Refine</em>: In this setting, RD is used to refine both motion vectors and mode decisions. This again, can be used in either I/P frames(<strong><em>subme 8</em></strong>) or in all frames(<strong><em>subme 9</em></strong>). This  is slower than normal RD, but more efficient.</li>
<li><em>QPRD(Quarter Pixel Rate Distortion)</em>: This setting does an RD optimization on some quarter pixels using a hexagonal search(<strong><em>subme 10</em></strong>). First, the SATD is checked. If this is found to be above the  threshold value, then the RD process is skipped. If the SATD is below the threshold value, then RD is used. This process much slower, and requires <strong><em>trellis</em></strong> to be set at 2 and <strong><em>Adaptive Quant Strength</em></strong> > 0.</li>
</ul>
<h4 class="psize il"><span id="Motion_Est_Method">Motion Est Method: </span></h4>
<p class="il nl">x264 has a variety of search patterns for estimating how each block of pixels have moved in successive frames.</p>
<div class="highlight np">
<p class="nl">Key:</p>
<p><a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/key.png" target="_blank"><img decoding="async" class="compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/key.png" alt="Key" height="90px" width="566px"></a></p>
<ul class="emplist">
<li>
<p class="nl"><em>Diamond</em>:<br />Pattern:</p>
<div><a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/diamond.png" target="_blank"><img decoding="async" style="margin-bottom: 5px; margin-left: 20px" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/diamond.png" alt="Diamond Pattern" height="90px" width="90px"></a></div>
<p class="compact">Searches similar pixels in a Diamond pattern. This is the fastest method, however the results obtained are the most inferior.</p>
</li>
<li>
<p class="nl"><em>Hexagon</em>:<br />Pattern:</p>
<div><a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/hexagon.png" target="_blank"><img decoding="async" style="margin-bottom: 5px; margin-left: 20px" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/hexagon.png" alt="Hexagon Pattern" height="150px" width="150px"></a></div>
<p class="compact">Searches similar pixels in a Hexagon pattern. Slower than Diamond search, but produces much better results.</p>
</li>
<li>
<p class="nl"><em>Exhaustive</em>:<br />Pattern:</p>
<div><a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/exhaustive.png" target="_blank"><img decoding="async" style="margin-bottom: 5px; margin-left: 20px" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/exhaustive.png" alt="Exhaustive Pattern" height="150px" width="150px"></a></div>
<p class="compact">Searches similar pixels in a wide area(directly given by the Motion Est Range) surrounding the current pixel. This is an extremely slow pattern, and in most cases, the compression gain offered by this is just not worth it.</p>
</li>
<li>
<p class="compact"><em>Transformed Exhaustive</em>: It is similar to exhaustive, but is slightly better and slower.</p>
</li>
<li>
<p class="compact"><em>Uneven Multi Hexagon</em>: This makes use of five different search patterns; Unsymmetrical cross search, Small rectangular full search, Uneven Multi Hexagon grid search, Extended Hexagon based search and Diamond search. Based on the complexity of the scene, x264 will choose one or multiple of these patterns to estimate motion. Like exhaustive, the range of this search is directly controlled by the Motion Est Range. This is slower than Hexagon search(faster than Exhaustive), but gives much better results in scenes with complex motion.</p>
</li>
</ul>
</div>
<h4 class="psize il"><span id="Motion_Est_Range(merange)">Motion Est Range(merange): </span></h4>
<p class="il np">This value specifies the maximum range in pixels that the encoder searches for a match. For Diamond and Hexagon pattern, this value ranges from 4-16. For Uneven Multi Hexagon and Exhaustive, this value can be extended beyond 16, which can be particularly useful for high motion scenes.</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="Partition_Type">Partition Type: </span></h4>
<p class="il nl">Each macroblock is broken down to form prediction blocks by the x264 encoder. There are 6 possible ways by which this can be done;</p>
<ul class="nl">
<li>Intra Macroblock: 16&#215;16, 8&#215;8</li>
<li>Inter Macroblock: 16&#215;16, 16&#215;8, 8&#215;16, 8&#215;8</li>
<li>The 8&#215;8 blocks can further be broken down into even smaller blocks.</li>
</ul>
<p class="nl">Each of these partitions are then represented using separate motion vectors. This partitioning is called mode.</p>
<p class="nl">A macroblock with less partitions would require lesser motion vectors to represent its motion. However, these motion vectors might not accurately represent the motion, resulting in a large error and hence encoding the error would require more bits. Similarly, more partitions would require more motion vectors to represent the motion information and fewer bits to encode the residual error.</p>
<p class="nl">The mode selection for each macroblock is one of the steps which contributes to x264s ability to give a great quality output at a low bitrate, but it is a time consuming process, especially if more macroblocks are partitioned.</p>
<p class="np">By using the options in this setting, you can control how many macroblocks the encoder will partition. Options of <strong><em>Most</em></strong>, <strong><em>None</em></strong> ,<strong><em>Some</em></strong> and <strong><em>All</em></strong> are provided.</p>
<h4 class="psize il"><span id="Trellis">Trellis: </span></h4>
<p class="il np">Enabling this setting allows x264 to use trellis quantization algorithm for rounding off the transformed coefficients, which can improve compression by a bit. CABAC must be enabled to use this. You can choose to use this either for encoding only or always(for both analysis and encoding). Choosing always can hit your encoding speed.</p>
<div class="vspacer_25px"></div>
<h3 class="msize" style="padding-top: 5px; text-decoration: underline"><span id="Psychovisual">Psychovisual</span></h3>
<p class="compact">Using the settings in this section, you can control the extent to which the encoder will remove psychovisual redundancies.</p>
<h4 class="psize il"><span id="No_DCT_Decimate">No DCT Decimate: </span></h4>
<p class="il np">DCT Decimation allows the x264 encoder to skip encoding any of the blocks which it views as redundant information. These blocks are the not written to the output file, effectively reducing the bitrate. Checking this option will prevent x264 from skipping such blocks. This is useful if you want to preserve the grain in your videos, which are otherwise removed by DCT decimation.</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="Adaptive_Quant_Strength">Adaptive Quant Strength: </span></h4>
<p class="il nl">Adaptive Quantization is the process of using a different value quantizer for each block. As x264 uses CRF for constant quality(in Handbrake), this setting can be used to control how x264 distributes bits between the flat areas and the complex areas in the frames.</p>
<p class="np">Higher values(>1) means more bits are allocated to the flats than to the complex areas in a frame, effectively reducing the banding artifacts, but causing some ringing artifacts. Lower Values(<1) means more bits are allocated to the edges in a frame, effectively reducing the ringing artifacts, but causing some banding artifacts.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/ringing_and_banding.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part2_x264/ringing_and_banding.jpg" alt="Ringing and Banding Artifacts" height="674px" width="674px"></a><i>Ringing Artifacts: In the edges of the circle.<br />
Banding Artifacts: Discontinuities in the Gradient inside the circle and in the background.</i>
</div>
<h4 class="psize il"><span id="Psychovisual_Rate_Distortion">Psychovisual Rate Distortion: </span></h4>
<p class="il np">This setting adjusts the tradeoff between detail retention and actual video quality(the way the computer sees it). Higher values tend to retain the finer details(grain) at the expense of some loss in quality(undesirable blocking artifacts). The encoded video will thus, appear sharper and more detailed as compared to what it would have been if this was set to 0. To use this, subme should be 6 or higher.</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="Psychovisual_Trellis">Psychovisual Trellis: </span></h4>
<p class="il np">This setting can be used to improve the sharpness and retain details by varying the strength function of the trellis quantization algorithm. The slider works similar to the Rate Distortion Slider. Higher values bias the finer details over the quality.</p>
<div class="vspacer_25px"></div>
<h4 class="psize il"><span id="Deblocking">Deblocking: </span></h4>
<p class="il np">Does the same thing as the Deblocking Filter in the &#8220;Filters&#8221; tab, but in a much better way. There are two parameters that you could give as input to x264&#8217;s deblocking filter: Alpha and Beta. Alpha value control the amount of deblocking to be applied; higher values would give a softer image. Beta value is the threshold value with which the block is first compared before it is deblocked.</p>
<div class="vspacer_25px"></div>
<div class="special sp_blue notestar spaced">
<b>Note:</b> The Preset and Tune values in the &#8220;Video&#8221; tab work by altering the Advanced x264 settings, and could be used as an alternative if you are intimidated by these settings.
</div>
<h2 style="padding-top: 30px; margin-bottom: 20px;"><span id="Closing_Notes">Closing Notes</span></h2>
<p class="compact">Well, thats all there is to encoding videos using Handbrake. Always make it a practise to encode a preview first and try playing it on your intended device. Video encoding does take a lot of time, and you wouldn&#8217;t want to be that fool who spends hours encoding the entire video just to find that it doesn&#8217;t work on your device.</p>
<p class="compact">Apart from that, have fun encoding! Hope you found this tutorial helpful.</p>
<p>The post <a href="https://www.ocfreaks.com/handbrake-tutorial-part-2-x264-advanced-encoding-compression-settings-guide/">Handbrake Tutorial Part 2: x264 Advanced Encoding &#038; Compression Settings Guide</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/handbrake-tutorial-part-2-x264-advanced-encoding-compression-settings-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2586</post-id>	</item>
		<item>
		<title>3.5mm Earphone Connector Compatibility Issue</title>
		<link>https://www.ocfreaks.com/3-5mm-earphone-connector-compatibility-issue/</link>
					<comments>https://www.ocfreaks.com/3-5mm-earphone-connector-compatibility-issue/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Saby D'silva]]></dc:creator>
		<pubDate>Mon, 23 Jan 2017 14:34:42 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[earphones]]></category>
		<category><![CDATA[guide]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=2581</guid>

					<description><![CDATA[<p>An insight into the different types of 3.5mm earphone connector, and what causes certain 3.5mm connector earphones to be incompatible with some devices even when using the same socket. This might be an eye opener for some of you guys!</p>
<p>The post <a href="https://www.ocfreaks.com/3-5mm-earphone-connector-compatibility-issue/">3.5mm Earphone Connector Compatibility Issue</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="spaced image">
<img fetchpriority="high" decoding="async" class="aligncenter compact disappear appear" src="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/title.jpg" width="600" height="365" alt="3.5mm Connector">
</div>
<p class="compact" style="padding-top: 10px;">Quite often you might have come across a pair of earphones that is incompatible with your device. But why is this so, even when the plug fits perfectly in the socket? Buying new earphones is a ritual that most of us have to go through once in a few months or so. Choosing the right pair of buds is a hard enough affair as it is, and such problems simply add to our woes. With this guide, you&#8217;ll come to know the reason for these incompatibilities, how you can choose the correct earphone when buying online and how you could (possibly) make incompatible earphones work on your device.</p>
<h2 class="shead" style="padding-top: 15px; margin-bottom: 20px;">The 3.5mm Earphone Connector (aka Audio Jack)</h2>
<p class="compact">Most modern phones come with 3.5 mm sockets, and earphones for these are available in plenty. But this is just half the story. The root of the incompatibility lies in the lack of proper standardisation in the 3.5mm connector.</p>
<p class="np">There are two types of 3.5 mm connectors that could come with stereo earphones:</p>
<h3 class="msize">TRS(Tip-Ring-Sleeve) Connector:</h3>
<p class="compact">Also known as Three Pin Connector or Three Conductor Connector. These are used when the earphones either don&#8217;t come with an inline mic, or when the mic uses a connector separate from that of the Audio Out. PCs and mp3 players commonly use TRS sockets.</p>
<div class="spaced image">
<img decoding="async" class="aligncenter compact disappear appear" src="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/trs.jpg" width="384" height="450" alt="TRS Connector" style="border:solid #666 1px;"><i>TRS Connector</i>
</div>
<p class="compact">For 3 pin TRS connectors in stereo earphones, the connections are pretty much standard:</p>
<div class="spaced image">
<img decoding="async" class="aligncenter compact disappear appear" src="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/trs_conn.jpg" width="384" height="450" alt="TRS Connections" style="border:solid #666 1px;"><i>TRS Connections</i>
</div>
<h3 class="msize">TRRS(Tip-Ring-Ring-Sleeve) Connector:</h3>
<p class="compact">Also known as Four Pin Connector or Four Conductor Connector. These are used when the Mic and Audio Out are provided in a single connector. Most phones use TRRS connectors as it is quite compact, since it eliminates the need of a separate connector for the Mic.</p>
<div class="spaced image">
<img class="aligncenter compact disappear appear" src=
"https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/trrs.jpg" width="384" height="450" alt="TRRS Connector" style="border:solid #666 1px;"><i>TRRS Connector</i>
</div>
<p class="compact">Now, in the case of 4 pin TRRS connectors, there are two differing standards by which connections could be made:</p>
<h4 class="psize il">OMTP:</h4>
<p class="il nl">This was the original standard for TRRS connectors developed by Nokia. OMTP sockets could commonly be seen in old Nokia and Samsung Phones and Legacy Xperias.</p>
<div class="spaced image">
<img loading="lazy" decoding="async" class="aligncenter compact disappear appear" src="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/trrs_omtp_conn.jpg" width="384" height="450" alt="TRRS OMTP Connections" style="border:solid #666 1px;"><i>TRRS OMTP Connections</i>
</div>
<h4 class="psize il">CTIA:</h4>
<p class="il nl">This is at present, more commonly seen standard than OMTP. CTIA sockets are used in HTC, Samsung, Sony, LG and most other android phones, Lumia and iPhones (well, before 7. A few, ahem, &#8220;brilliant&#8221; engineers at Apple decided it&#8217;d be a great idea to drop the 3.5 mm audio socket and use their proprietary Lightning port as the audio connector. But that&#8217;s a completely different story and I wont be rambling much about that here).</p>
<div class="spaced image">
<img loading="lazy" decoding="async" class="aligncenter compact disappear appear" src="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/trrs_ctia_conn.jpg" width="384" height="450" alt="TRRS CTIA Connections" style="border:solid #666 1px;"><i>TRRS CTIA Connections</i>
</div>
<h3 class="msize" style="padding-top: 15px;">OMTP Earphones on a CTIA Socket / CTIA Earphones on an OMTP Socket :</h3>
<p class="compact">Due to the difference in position of the Ground and Mic contacts, OMTP earphones wont work in CTIA sockets, and vice versa. Now, heres the icing on the cake: Most manufacturers dont specify the standard used in their earphones. Well, isn&#8217;t that just great?!?!</p>
<p class="compact">One way you could check if a particular earphone is compatible with your device is is by checking the compatibility list. For example; If the Earphone manufacturer says &#8220;for iPhones&#8221;, then it uses CTIA standard. If the earphones are made for Samsung devices, then again it uses CTIA standard. If the earphones are for Legacy Xperia devices or old Nokia Phones, then it uses OMTP standard.</p>
<p class="compact">If you have already purchased earphones that are incompatible with your device, what can I say ? Sucks to be you.</p>
<p class="compact">Just Kidding ;-). One way you could possibly make it work is by purchasing an adapter.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/omtp_to_ctia.jpg" target="_blank"><img class="aligncenter compact disappear appear" src=
"https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/omtp_to_ctia.jpg" width="600" alt="OMTP to CTIA/CTIA to OMTP Adapter" style="border:solid #666 1px;"></a><i>OMTP to CTIA/CTIA to OMTP Adapter</i>
</div>
<p class="compact">Such an adapter can convert an OMTP earphone to CTIA as well as a CTIA earphone to OMTP. These are a bit hard to find for cheap, but are well worth the price if it works.</p>
<h3 class="msize" style="padding-top: 15px;">TRRS Earphones on a TRS Socket / TRS Earphones on a TRRS Socket :</h3>
<p class="compact">3 pin TRS Earphones should be compatible with devices using 4 pin TRRS sockets, as the Ground pin would be connected to the ground contact of the Socket anyways. The same goes for 4 pin TRRS Earphones on a 3 pin TRS socket.</p>
<div class="compact image">
<img loading="lazy" decoding="async" class="aligncenter compact disappear appear" src="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/3pp_to_4ps.jpg" width="405" height="450" alt="TRS connector in TRRS socket" style="border:solid #666 1px;"><i>TRS connector in TRRS socket</i>
</div>
<div class="spaced image">
<img class="aligncenter compact disappear appear" src=
"https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/4pp_to_3ps.jpg" width="405" height="450" alt="TRRS connector in TRS socket" style="border:solid #666 1px;"><i>TRRS connector in TRS socket</i>
</div>
<p class="compact">However, if these dont work, or if you get a garbled audio, it would most likely be due to improper contact between the plug and socket conductors.</p>
<div class="spaced image">
<img loading="lazy" decoding="async" class="aligncenter compact disappear appear" src="https://www.ocfreaks.com/imgs/guide_tutorial/3.5mm_earphone_jack_compatibility/4pp_to_3ps_inc.jpg" width="405" height="450" alt="Improper Contact between TRRS Plug and TRS Socket" style="border:solid #666 1px;"><i>Improper Contact between TRRS Plug and TRS Socket</i>
</div>
<p class="compact">As can be seen the contacts in the socket will connect with the insulator when the plug is completely inserted in the socket. Another possibility is that the contact touches two of the pins. This is also the reason why the earphones appear to work when you slightly remove the plug.</p>
<p class="compact">To make these work, you could try using an adapter with a TRRS female and TRS male connector (4 pin to 3 pin adapter, for TRRS plug &#8211; TRS Socket incompatibility) or with a TRS female and TRRS male connector (3 pin to 4 pin adapter, for TRS plug &#8211; TRRS Socket incompatibility), depending on your requirements.</p>
<p>The post <a href="https://www.ocfreaks.com/3-5mm-earphone-connector-compatibility-issue/">3.5mm Earphone Connector Compatibility Issue</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/3-5mm-earphone-connector-compatibility-issue/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2581</post-id>	</item>
		<item>
		<title>Beginners Guide to Video Redundancies</title>
		<link>https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/</link>
					<comments>https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Saby D'silva]]></dc:creator>
		<pubDate>Fri, 20 Jan 2017 16:10:40 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[video]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=2574</guid>

					<description><![CDATA[<p>A brief guide detailing the various video redundancies for beginners.</p>
<p>The post <a href="https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/">Beginners Guide to Video Redundancies</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="spaced image">
<img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/title.jpg" alt="Video Redundancies" height="300px" width="300px">
</div>
<p class="compact">In this article, I will explain to you about the various video redundancies and why eliminating them is of utmost importance and the first thing programmers tend to focus on when making a codec.</p>
<div class="special sp_blue notestar spaced">
<b>Note:</b> This article is meant to be a precursor to my tutorial: <a href="https://www.ocfreaks.com/handbrake-tutorial-part-2-x264-advanced-encoding-compression-settings-guide/">Handbrake Tutorial Part 2: x264 Advanced Encoding &#038; Compression Settings Guide</a>. Prior knowledge of this is a MUST to fully grasp the Handbrake Advanced/x264 Settings.
</div>
<p class="compact">First lets go into what a redundancy is. In simple terms, Redundancy is the amount of useless data that exists in a specific information. &#8220;Useless&#8221;, here, is an extremely subjective term, and what I actually mean to say is though the data does contribute to the information, the contribution itself is so insignificant that reducing or eliminating it wont have any adverse effects.</p>
<p class="compact">Those coming here from my <a href="https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/" target="_blank">Handbrake Complete Tutorial Part 1: How to Transcode &#038; Compress Videos</a> article might remember how most video codecs process each frame of the video in terms of <a href="https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/#Modulus" target="_blank"><strong>macroblocks</strong></a>. Basically, there are four kinds of redundancies that could exist in a lossless raw video:</p>
<ol class="emplist">
<li class="spaced"><b>Spatial Redundancies:</b> Spatial Video Redundancies are the similarities between the <strong>surrounding macroblocks</strong>. For example, consider the frame shown below:</li>
<div class="spaced image" style="padding-right:20px;">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/sr.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/sr.jpg" alt="Spatial Redundancies" height="367px" width="625px"></a><i>Spatial Redundancies: The field and the sky, which makes up most of the frame; have largely monotonous hues.</i>
</div>
<li class="spaced"><b>Temporal Redundancies:</b> Temporal Video Redundancies are the similarities in <strong>successive frames</strong>. For example, consider the frames shown below:</li>
<div class="compact image" style="padding-right:20px;">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr1.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr1.jpg" alt="Temporal Redundancies 1" height="367px" width="625px"></a><i>[FRAME: 1]</i>
</div>
<div class="compact image" style="padding-right:20px;">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr2.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr2.jpg" alt="Temporal Redundancies 2" height="367px" width="625px"></a><i>[FRAME: 2]</i>
</div>
<div class="compact image" style="padding-right:20px;">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr3.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr3.jpg" alt="Temporal Redundancies 3" height="367px" width="625px"></a><i>[FRAME: 3]</i>
</div>
<div class="spaced image" style="padding-right:20px;">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr4.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/video_redundancies/tr4.jpg" alt="Temporal Redundancies 4" height="367px" width="625px"></a><i>[FRAME: 4]<br />Temporal Redundancies: In these frames, only the car is moving. The rest of the frame(the background) is stationary. So, there is no need to transmit this information in all the frames.</i>
</div>
<li class="spaced"><b>Psychovisual Redundancies:</b> Psychovisual Video Redundancies exist due to the fact that the human eye is not equally sensitive to all visual information. So by eliminating the parts to which the eye is less sensitive, the frame can be compressed without a much noticeable quality loss.</li>
<li><b>Coding Redundancies:</b> In an uncompressed raw video, each pixel in a frame is usually encoded to a <strong>fixed length</strong>. This results in a file that would be much bigger than what is actually required, as the same length is used for each pixel in all the frames, regardless of whether it is required or not. This is called coding redundancy, and can be eliminated by using <strong>Variable Length Coding</strong> schemes. To see (albeit a crude example) how coding redundancies can be reduced, consider an 8bit 5x5px greyscale image, with the grey levels of the series of pixels going as;<br />&nbsp;<br />
<b>120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 118, 118, 118, 118, 117, 117, 117, 115, 115, 115</b><br />&nbsp;<br />
This could be represented as is, in which case a total of 160 bits would be required. Or, it could be represented much more efficiently as follows:<br />&nbsp;<br />
<b>5.120, 5.119, 4.118, 3.117, 3.115</b><br />&nbsp;<br />
This is the basic principle of Run Length Encoding (RLE), one of the oldest and simplest encoding schemes.
</li>
</ol>
<p class="compact">How these redundancies are processed and eliminated is one of the defining factors of a Codecs overall efficiency and performance.</p>
<p class="np">Eliminating redundancies is extremely important, especially in the case of videos. This is because of the ridiculously high amount of redundant data that can exist in it. Consider a scenario where you have 86400 images averaging 350 KB per image(really not an inconceivable size for an image of that resolution). A 24fps video made out of that many images would be of around 3GB (for 30 mins). Let that sink in. Also in videos, you really wont see much of a difference between consecutive frames. So, all that data being used to represent it is, as I stated above, &#8220;Useless&#8221;!</p>
<p>The post <a href="https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/">Beginners Guide to Video Redundancies</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/beginners-guide-tutorial-video-redundancies/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2574</post-id>	</item>
		<item>
		<title>Handbrake Complete Tutorial Part 1: How to Transcode &#038; Compress Videos</title>
		<link>https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/</link>
					<comments>https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Saby D'silva]]></dc:creator>
		<pubDate>Fri, 09 Sep 2016 14:53:53 +0000</pubDate>
				<category><![CDATA[Guides & Tutorials]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">http://www.ocfreaks.com/?p=2559</guid>

					<description><![CDATA[<p>An in-depth guide cum tutorial showing how to properly transcode videos using handbrake, with all the settings explained in as simple and concise a manner as possible, without sacrificing the finer details.</p>
<p>The post <a href="https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/">Handbrake Complete Tutorial Part 1: How to Transcode &#038; Compress Videos</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="spaced tocpostimage">
<img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbico.jpg" width="256" height="256" alt="Handbrake" />
</div>
<p class="compact" style="clear: left; float:left">In this tutorial, I will show you how to properly transcode videos using Handbrake. I&#8217;ve gone over all the settings in as simple and concise a manner as possible, without sacrificing the finer details (no pun intended 😉 ). Hope you find it useful.</p>
<div class="toc_container">
<span class="toc_title">Table of Contents</span></p>
<div class="toc">
<ol class="toc_list">
<li class="toc_text"><a href="#General_Info_about_Handbrake_and_Videos" title="General Info about Handbrake and Videos"><span>1. </span><span>General Info about Handbrake and Videos</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Why_Transcode_Videos?" title="Why Transcode Videos?"><span>1.1. </span><span>Why Transcode Videos?</span></a></li>
<li class="toc_text"><a href="#JFYI" title="JFYI"><span>1.2. </span><span>JFYI</span></a></li>
</ol>
<li class="toc_text"><a href="#Picture_Tab" title="Picture Tab"><span>2. </span><span>Picture Tab</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Anamorphic" title="Anamorphic"><span>2.1. </span><span>Anamorphic</span></a></li>
<li class="toc_text"><a href="#Modulus" title="Modulus"><span>2.2. </span><span>Modulus</span></a></li>
<li class="toc_text"><a href="#Cropping" title="Cropping"><span>2.3. </span><span>Cropping</span></a></li>
</ol>
<li class="toc_text"><a href="#Filters_Tab" title="Filters Tab"><span>3. </span><span>Filters Tab</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Detelecine_Deinterlace_and_Decomb" title="Deinterlace, Detelecine and Decomb"><span>3.1. </span><span>Detelecine, Deinterlace and Decomb</span></a></li>
<li class="toc_text"><a href="#Denoise" title="Denoise"><span>3.2. </span><span>Denoise</span></a></li>
<li class="toc_text"><a href="#Deblock" title="Deblock"><span>3.3. </span><span>Deblock</span></a></li>
</ol>
<li class="toc_text"><a href="#Video_Tab" title="Video Tab"><span>4. </span><span>Video Tab</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Video_Codec" title="Video Codec"><span>4.1. </span><span>Video Codec</span></a></li>
<li class="toc_text"><a href="#Framerate" title="Framerate"><span>4.2. </span><span>Framerate</span></a></li>
<li class="toc_text"><a href="#x264_Exclusive_Settings" title="x264 Exclusive Settings"><span>4.3. </span><span>x264 Exclusive Settings</span></a></li>
</ol>
<li class="toc_text"><a href="#Audio_Tab" title="Audio Tab"><span>5. </span><span>Audio Tab</span></a></li>
<ol class="toc_list">
<li class="toc_text"><a href="#Audio_Codec" title="Audio Codec"><span>5.1. </span><span>Audio Codec</span></a></li>
<li class="toc_text"><a href="#Mixdown" title="Mixdown"><span>5.2. </span><span>Mixdown</span></a></li>
<li class="toc_text"><a href="#Sample_Rate" title="Sample Rate"><span>5.3. </span><span>Sample Rate</span></a></li>
<li class="toc_text"><a href="#DRC" title="DRC"><span>5.4. </span><span>DRC</span></a></li>
<li class="toc_text"><a href="#Gain" title="Gain"><span>5.5. </span><span>Gain</span></a></li>
</ol>
<li class="toc_text"><a href="#Subtitles_Tab" title="Subtitles Tab"><span>6. </span><span>Subtitles Tab</span></a></li>
<li class="toc_text"><a href="#Chapters_Tab" title="Chapters Tab"><span>7. </span><span>Chapters Tab</span></a></li>
<li class="toc_text"><a href="#Presets" title="Presets"><span>8. </span><span>Presets</span></a></li>
<li class="toc_text"><a href="#Recommended_Settings" title="Recommended Settings"><span>9. </span><span>Recommended Settings</span></a></li>
<li class="toc_text"><a href="#Anamorphic_Revisited" title="Anamorphic Revisited"><span>10. </span><span>Anamorphic Revisited</span></a></li>
<li class="toc_text"><a href="#Closing_Notes" title="Closing Notes"></span>11. </span><span>Closing Notes</span></a></li>
</ol>
</div>
</div>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="General_Info_about_Handbrake_and_Videos">General Info about Handbrake and Videos</span></h2>
<h3 class="msize" style="padding-top: 5px;"><span id="Why_Transcode_Videos?">Why Transcode Videos?:<span></h3>
<p class="compact">Well, there could be many different reasons for this. Few that come to mind, off the top, are:</p>
<ol>
<li>Incompatibility of the video codec with your device.</li>
<li>Uploading a video with a low bandwidth connection.</li>
<li>Reducing file size to save your device memory.</li>
</ol>
<h3 class="msize" style="padding-top: 5px;"><span id="JFYI">JFYI:<span></h3>
<p class="compact">In the words of its developer:</p>
<blockquote><p>&#8220;HandBrake is a GPL-licensed, multiplatform, multithreaded video transcoder.&#8221;</p></blockquote>
<p class="compact">What needs to be noted here is that Handbrake is a <strong>video transcoder</strong>. It wasn&#8217;t, isn&#8217;t and quite probably never will be a <em>&#8220;Video Converter&#8221;</em>. I have heard the terms <strong>container and codec, converter and encoder (or transcoder)</strong> misunderstood and used interchangeably countless times. So, I feel it would be best if I clear that up first.</p>
<div class="highlight spaced">
<ul class="emplist">
<li class="spaced"><b>Container:</b> This is your actual video file format. If your file name is xxx.yyy, then yyy is the container. For example, mp4, avi, mkv, 3gp, flv are all container formats, and in no way signifies the codec used.</li>
<li class="spaced"><b>Codec:</b> A video file basically comprises of two things. The audio that you hear, and the video that you see. Codec (COder-DECoder), simply put, is the program using which data streams are encoded for storage on a device, and decoded for playback. The video and audio streams are encoded using different codecs and are held together in the container format. For example; aac, mp3, wma are audio codecs; and x264, xvid, VP8 are video codecs.</li>
<li class="spaced"><b>Transcoding:</b> Encode using a different codec from the one with which the video is currently encoded.</li>
<li><b>Converting:</b> Changing the container format of the video file, with or without transcoding.</li>
</ol>
</div>
<p class="compact">So, from this it is evident that most video converters are transcoders as well (though in most cases, devoid of many of the features offered by standalone video transcoders like Handbrake), while video transcoders may or may not offer conversion.</p>
<p class="compact">Handbrake currently supports two output container formats: MKV and MP4. So, it wouldn&#8217;t be right classifying it as a video converter per se, but it most certainly is a video transcoder. And quite a good one at that.</p>
<div class="special sp_blue notestar spaced">
<strong>Note:</strong> Encoding videos on Handbrake is a <em>CPU intensive task</em>. Handbrake (in its latest release) does offer support for <em>GPU acceleration</em>. But I strongly suggest that you leave it off. The time gained by enabling this is not much, and a significant loss in quality can be observed in the output. Handbrake also supports Intel&#8217;s <em>Quick Sync encoder</em> for <strong>H.264</strong> (for 2nd Gen or greater i-Core CPUs, with iGPU enabled). I can&#8217;t comment on how effective this is as I haven&#8217;t had any real experience with it. But if the words on internet are anything to go by, I&#8217;d suggest not using this as well, at least for now.
</div>
<p class="compact">Now enough of all this blabbering! Let&#8217;s jump right on to using Handbrake.</p>
<p class="compact">First, let&#8217;s have a look at the window:</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hb1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hb1.jpg" width="674" height="460" alt="Handbrake Window" /></a><i>Handbrake Window</i>
</div>
<p class="compact">To add a file to transcode, simply drag and drop it to the window. Or, you can click on <strong><em>&#8220;Source&#8221;</em></strong> and browse to the file location to add it. Then set the destination and the output file name. If Batch transcoding (transcoding more than 1 file) is what you&#8217;re after, then after you&#8217;ve set all the required parameters for transcoding, click <strong><em>&#8220;Add to Queue&#8221;</em></strong> and add another file. Click <strong><em>&#8220;Show Queue&#8221;</em></strong> to view all the files in queue to be encoded.</p>
<p class="compact">Click on <strong><em>&#8220;Preview&#8221;</em></strong> to view a 10 second(can be changed) preview of how your output would look like.</p>
<p class="compact">Choose either MP4 or MKV container according to your requirements. Tick the <strong><em>&#8220;Web Optimized&#8221;</em></strong> check box if you want to upload the video to a website.</p>
<p class="np">Now we&#8217;ll see the various settings offered by handbrake.</p>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Picture_Tab">Picture Tab</span></h2>
<p>This tab contains all the settings that you&#8217;ll need to modify the <strong>Resolution</strong> and <strong>Aspect Ratio</strong> (Width / Height) of your video.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbpic1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbpic1.jpg" width="674" height="345" alt="Handbrake Picture Tab" /></a><i>Handbrake Picture Tab</i>
</div>
<h3 class="psize il"><span id="Anamorphic">Anamorphic: </span></h3>
<p class="il nl">Anamorphic is the property of scaling the width of a video by a factor in order to correct its Aspect Ratio.This setting is a bit complicated to explain. So, I feel it&#8217;s best if I explain it in a later part. For now, just understand this;</p>
<p class="nl">If your video doesn&#8217;t appear squished on your device, and you want to keep its resolution as it is, keep this option to <strong><em>Strict</em></strong> and let Handbrake handle the rest.</p>
<p class="np">If your video doesn&#8217;t appear squished on your device, and you want to reduce its resolution, keep this option to <strong><em>loose</em></strong> and reduce the resolution. Keeping it to none with <em>&#8220;Keep Aspect Ratio&#8221;</em> enabled will work too. But if the video source itself is anamorphic, then that property will be lost.</p>
<h3 class="psize il"><span id="Modulus">Modulus: </span></h3>
<p class="il np">Most video encoders divide each video frame into <strong>macroblocks</strong>, which can be said to be an array of pixels. A macroblock generally consists of 16&#215;16 pixels. This means that both the width and the height of the video would have to be divisible by 16. The downside here is that you&#8217;d almost never get a perfect resolution and aspect ratio. For example, imagine a video that has an aspect ratio of 1.84 and is 640 pixels wide. The standard resolution for such a video would be 640&#215;348 (approximately). But since the height and width both must be divisible by 16, the resolution would be reduced to 640&#215;336, thereby creating an effective aspect ratio of 1.9. By using the Modulus option, you get to decide the multiplying factor for the resolution, at the expense of some overhead. By setting the value of modulus to 2, you would be able to preserve the aspect ratio of the 640&#215;348 video as it is, as the height and width now just needs to be divisible by 2. But to achieve this, 4 additional horizontal pixels would be padded and encoded (348 is not divisible by 16. Next closest number divisible by 16 is 352. 352-348=4). But these would get cropped off during playback, and in most cases won&#8217;t be visible.</p>
<div class="vspacer_25px"></div>
<h3 class="psize il"><span id="Cropping">Cropping: </span></h3>
<p class="il np">You can use this setting to crop off a part of your video file. Just set this to <strong><em>Custom</em></strong>, with all settings 0, if you don&#8217;t want to do so. You can also leave it to <strong><em>Automatic</em></strong>. But in some very rare cases, Handbrake will crop off a portion of your video file even when not needed, or it may miss a portion to be cropped. So, as the saying goes, Better be safe than sorry! </p>
<div class="vspacer_25px"></div>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Filters_Tab">Filters Tab</span></h2>
<p class="compact">This tab contains settings that you&#8217;ll need if you are dealing with a noisy and/or distorted source file. Before encoding the video, Handbrake would run it through these filters to rectify the source.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbfil1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbfil1.jpg" width="674" height="345" alt="Handbrake Filters Tab" /></a><i>Handbrake Filters Tab</i>
</div>
<h3 class="psize il"><span id="Detelecine_Deinterlace_and_Decomb">Detelecine, Deinterlace and Decomb: </span></h3>
<p class="il nl">Only worry about these settings if your source is a broadcast content(analog broadcast content, to be precise).</p>
<p class="nl"><strong>Interlacing</strong> is the process of dividing each frame into two fields, with each field containing alternate horizontal lines of the frame, making it suitable for broadcast (<i>For more info, see: <a href="http://en.wikipedia.org/wiki/Interlaced_video"  target="_blank">Interlaced Video</a></i>). By this, the content can be broadcasted at twice the frame rate as that of <strong>progressively</strong> scanned video (<i>For more info, see: <a href="http://en.wikipedia.org/wiki/Progressive_scan" target="_blank">Progressive Video</a></i>), without any additional bandwidth. The downside to this is, you&#8217;ll get <strong>combing artefacts</strong> if you try viewing this on your computer monitor.</p>
<p class="nl">So, in order to rectify this, you&#8217;ll need to enable either the <strong><em>&#8220;Deinterlacing&#8221;</em></strong> or the <strong><em>&#8220;Decomb&#8221;</em></strong> Option. The difference between these two is that while Deinterlacing would deinterlace each and every frame of the video, Decomb would check which parts of the video have combing artefacts and would fix just those frames. I recommend using the <strong><em>Decomb</em></strong> option in <strong><em>default</em></strong> mode, as Deinterlacing could reduce the video quality in case the frame isn&#8217;t entirely interlaced. But if your video seems to be interlaced entirely (rarely does this happen), using <strong><em>Deinterlacing</em></strong> at <strong><em>Fast</em></strong> setting can save time on your encode. It&#8217;s always better to keep these settings off if your video isn&#8217;t interlaced.</p>
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/decomb-1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/decomb-1.jpg" width="674" height="530" alt="Original Interlaced Frame" /></a><i>(a). Original Interlaced Frame<br />
Notice how the frame is Divided into two fields, one containing the odd lines and the other containing the even lines. In scenes with fast motion or in which the camera position is changed quickly, both the odd and even fields can be seen separately, which is called Combing Effect. This effect can be seen clearly in the above frame.</i>
</div>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/decomb-2.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/decomb-2.jpg" width="674" height="530" alt="Decombed Frame" /></a><i>(b). Decombed Frame(Default Preset)<br />
The combing artefacts are removed, while keeping quality loss to a minimum.</i>
</div>
<p class="nl"><strong>Telecining</strong> is the process of converting a video shot in one frame rate into a frame rate that is suitable for <strong>broadcasting</strong>. Extra frames need to be added to such videos. There are two ways by which this could be achieved.</p>
<ol class=nl>
<li>Duplicating certain (not all) fields (interlaced frames), called <strong>Hard Telecine</strong>.</li>
<li>Showing those fields a bit longer than usual by repeating them during playback, called <strong>Soft Telecine</strong>.</li>
</ol>
<p class="nl">Hard telecined video needs to be <strong>Detelecined</strong> before viewing it on a computer. You can tell if a video is hard telecined or not by analysing it frame by frame. If you obtain a pattern of frames with combing artefacts and then some without it, I&#8217;d say you&#8217;ve got a Hard Telecined Video. For example, one pattern, commonly observed in NTSC content, is 2 interlaced frames and 3 normal frames (or 2 duplicated fields in 8 fields). For PAL content, in very rare cases, this pattern is 2 interlaced frames and 23 normal frames (or 2 duplicated fields in 48 fields).</p>
<p class="nl">Just leave this filter on <strong><em>default</em></strong> for such videos. Else keep it off.</p>
<div class="special sp_blue notestar np"><strong>Note:</strong> <strong>Never EVER</strong> keep <em>Detelecine and Deinterlace</em> both ON at the same time. This can seriously reduce your video quality. There is no issue in leaving Detelecine and Decomb ON however.</div>
<h3 class="psize il"><span id="Denoise">Denoise: </span></h3>
<p class="il nl">If you&#8217;ve got excess grain or blur in your video, you can use this option to reduce it, but at the expense of loss of finer details. Handbrake version 0.10 and above has added support for <strong><em>NLmeans denoising filter</em></strong>, which although takes more time in encoding, gives better results than <strong><em>hqn3d filter</em></strong>(the one used in pre 0.10 versions). If you don&#8217;t mind the extra time, use this in <strong><em>ultralight</em></strong> (or <strong><em>light</em></strong> if your video is too grainy) preset. Otherwise, use <strong><em>hqn3d</em></strong> in <strong><em>weak</em></strong> preset. Keep this option off if you if you feel your video is fine as it is.</p>
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/denoise-1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/denoise-1.jpg" width="674" height="505" alt="Original Grainy Frame" /></a><i>(a). Original Grainy Frame<br />
The frame is a bit grainy.</i>
</div>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/denoise-2.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/denoise-2.jpg" width="674" height="505" alt="Denoised Frame" /></a><i>(b). Denoised Frame(hqn3d; medium)<br />
The grain is reduced, but there is a noticeable loss of detail(for instance, the wrinkles).</i>
</div>
<h3 class="psize il"><span id="Deblock">Deblock: </span></h3>
<p class="il nl">This filter can be used to remove visible sharp edges between adjacent macroblocks. Only use this option as a last resort. Even the smallest changes in this can affect the quality drastically. For all intents and purposes, I recommend you to steer clear off this option. There is only so much one can do to rectify a bad source. But in case you really need to use this option, don&#8217;t exceed the setting of 5.</p>
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/deblock-1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/deblock-1.jpg" width="674" height="505" alt="Original blocky Frame" /></a><i>(a). Original Blocky Frame<br />
The sharp edges between macroblocks are clearly visible in this frame. These are called blocky artefacts.</i>
</div>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/deblock-2.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/deblock-2.jpg" width="674" height="505" alt="Deblocked Frame" /></a><i>(b). Deblocked Frame(Setting:5)<br />
The blocky artefacts are removed, but so are the details. Overall, the whole image looks softened.</i>
</div>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Video_Tab">Video Tab</span></h2>
<p class="compact">This tab contains settings related to your Video encoder.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbvid1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbvid1.jpg" width="674" height="345" alt="Handbrake Video Tab" /></a><i>Handbrake Video Tab</i>
</div>
<h3 class="psize nl"><span id="Video_Codec">Video Codec:</span></h3>
<p class="nl">For MP4:</p>
<ul class="compact">
<li><em>x264(H.264/AVC Standard)</em>: Always choose this if your device supports it. It offers the best quality for the size.</li>
<li><em>MPEG 4 Part 2(H.263 Standard)</em>: Faster encoding and better support for old devices than x264. But the quality will be lower.</li>
<li><em>MPEG 2 Part 2(H.262 Standard)</em>: Faster encoding than MPEG 4. But the output file will be much larger and of inferior quality. Only use this if your device doesn&#8217;t support even MPEG 4.</li>
<li><em>x265 (H.265/HEVC Standard)</em>: This is a relatively new encoder. It uses the H.265 standard, which is an improvement over the H.264 standard. x265 offers the same quality as x264 at much lower bitrates, i.e., the output file size will be much lower. But support for this encoder is quite minimal, especially in mobile devices. VLC(for Windows PC, that is) currently offers support for this codec, but I have seen playback issues with some x265 videos on mobile devices. So, I recommend you to check if your device supports this codec, before making the decision to use this.</li>
</ul>
<p class="nl">For MKV:</p>
<ul class="np">
<li><em>x264, MPEG4, MPEG2 and x265</em>: Same as MP4.</li>
<li><em>Theora(VP3)</em>: VP3 is a relatively old codec that was intended to compete with MPEG 4. Theora was evolved from this codec and it offers various improvements over its predecessor, On2&#8217;s VP3. However, it doesn&#8217;t compare to x264 in terms of quality at a given bit rate. But where Theora really triumphs is that it is truly open source and not subject to any patents. This in itself makes it a favourable choice to those who want to distribute content, as they aren&#8217;t required to pay any royalty fee. x264, though open source, is still subject to the patents held by MPEG consortium for the H.264 standard. And distributors of H.264 encoded content are, by law, required to pay a licensing fee.</li>
<li><em>libvpx(VP8)</em>: libvpx can be said to be an improvement over the somewhat dated Theora encoder. It offers much better quality, and like Theora, is completely free. It still doesn&#8217;t offer the amazing quality of x264, but it has become successful in closing that gap. And I mean BY A LOT. So, it&#8217;s a great alternative if you want to distribute content.</li>
</ul>
<h3 class="psize il"><span id="Framerate">Framerate: </span></h3>
<p class="il np">Framerate is the number of frames displayed per second (fps). Keep this option to same as source unless, for some reason, you need to change it.</p>
<div class="vspacer_25px"></div>
<h3 class="psize nl"><span id="x264_Exclusive_Settings">x264 Exclusive Settings:</span></h3>
<p class="nl"><b>x264 Preset:</b> By using this slider you can adjust the level of tradeoff between encoding speed and filesize and/or quality. The extreme left setting will finish encoding quicker but the filesize will be larger for the quality. The extreme right setting will take much longer to encode, but it will offer the lowest filesize for the quality.</p>
<p class="nl"><b>x264 Tune:</b> Options of None, Film, Animation, Grain, Still Image, PSNR, SSIM, Fast Decode are provided. Choose any one of these options according to your requirements. (For example, Film if your source is a movie, Grain if you want to retain grain, etc. PSNR and SSIM will offer you maximum quality the way a computer will see it, and is not generally recommended to use.)</p>
<p class="nl"><b>H.264 Profile:</b> Four profile options are provided: Main, Baseline, High, Auto.</p>
<ul class="nl">
<li><em>Main</em>: Less CPU intensive, Fast Encode, Fast Decode (Playback), Large Filesize.</li>
<li><em>Baseline</em>: More CPU Intensive, Slower Encode, Slower Decode (Playback), Lower Filesize.</li>
<li><em>High</em>: Most CPU Intensive, Slowest Encode, Slowest Decode (Playback), Lowest Filesize.</li>
<li><em>Auto</em>: Selects the Profile most suited for your settings automatically.</li>
</ul>
<p class="np"><b>H.264 Level:</b> Each H.264 level provides a set of constraints like max bit rate, frame size, etc for encoding. For the full list of constraints for each level, see: <a href="http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels" target="_blank">H.264 Levels</a></p>
<p class="nl">Handbrake offers two methods for Encoding Video: Constant Quality and Average Bitrate.</p>
<p class="nl"><b>Constant Quality:</b> In this method, you have no control over the output file size. For most cases, this is the better option of the two. The output file is most likely to be of better quality and lower size using this method. In this method you can control the quality of the video by using the quality slider. The extreme right value (lowest number) represents the highest possible quality (lossless, output will be bigger than the source if the source itself is lossy), while the extreme left value(highest number) represents the lowest quality (extremely lossy).</p>
<p class="nl"><b>Average Bitrate:</b> Unless you REALLY know what you&#8217;re doing, don&#8217;t use this option. This option gives you control over the file size, but at the expense of quality. All you need to do is take what your estimate is of the output file size (in kb), divide it by the duration of the video(in seconds), and enter it in the box labelled <strong><em>&#8220;Avg bitrate(kbps)&#8221;</em></strong>. However, the problem here is that, more often than not your estimated file size will be either too large or too low.</p>
<p class="nl">If you use this setting, do remember to check the <strong><em>2-pass Encoding</em></strong> and <strong><em>Turbo First Pass</em></strong> check boxes. The reason for this is not every portion of the video has the same bitrate (thus, the term &#8220;Average&#8221;). Some portions require higher bitrate (fast action scenes), while some appear fine at lower bitrates (scenes with less motion). So, if <strong><em>2-Pass encoding</em></strong> is turned on, Handbrake will encode the video a second time, allocating bits to different parts of the video in a much better way than the first time.</p>
<p class="nl">But obviously, this will require much more time than a single pass encode. This is rectified by turning on <strong><em>Turbo First Pass</em></strong>, which will encode the first time much quicker and less efficiently (since the actual output will be that of the second pass, the first encode can be thought of as redundant). It still requires more time than a single pass encode, but the overall time will be much lesser than what it would be if this option is kept off.</p>
<div class="special sp_blue notestar np">
<strong>Note:</strong> Settings for the other codecs can be self deduced once you understand x264&#8217;s settings. So, for the sake of brevity, I wont be going over those.
</div>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Audio_Tab">Audio Tab</span></h2>
<p class="compact">This tab contains settings related to your audio encoder.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbaud1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbaud1.jpg" width="674" height="345" alt="Handbrake Audio Tab" /></a><i>Handbrake Audio Tab</i>
</div>
<h3 class="psize nl"><span id="Audio_Codec">Audio Codec: </span></h3>
<p class="nl">For MP4:</p>
<ul class="compact">
<li><em>libav AAC</em>: Encodes your audio to AAC using ffmpeg&#8217;s libav codec library.</li>
<li><em>FDK AAC/AAC-LC</em>: Encodes your audio to AAC-LC using the FDK Encoder. Generally much better results are obtained using FDK than by using libav.</li>
<li><em>FDK HE-AAC</em>: Encodes your audio to HE-AAC using the FDK encoder. More suited for lower bitrate audio files (&lt;80kbps) for streaming.</li>
<li><em>LAME MP3</em>: Encodes your audio to the extremely popular MP3 format using the LAME encoder. Higher bitrates are needed for achieving the same quality as AAC-LC.</li>
<li><em>libav AC3</em>: Encodes your audio to AC3 using ffmpeg&#8217;s libav codec library.</li>
<li><em>Passthru(AAC, MP3, AC3, DTS, DTS- HD)</em>: These would pass through the source audio settings as it is to the output file.</li>
<li><em>Passthru(Auto)</em>: This setting will sense your source format, and pass through your source audio settings as it is to the output file. Use this option if you don&#8217;t want to transcode your audio.</li>
</ul>
<p class="nl">For MKV:</p>
<ul class="np">
<li><em>Libav AAC , FDK AAC/AAC-LC, FDK HE-AAC, LAME MP3, libav AC3, Passthru(All)</em>: Same as MP4.</li>
<li><em>Vorbis</em>: Vorbis can be said to be the audio equivalent of Theora. It is a free and open source codec that isn&#8217;t subject to any patents. Audio encoded in Vorbis is almost identical to AAC, and can be used as a viable alternative to AAC to distribute content.</li>
<li><em>libav FLAC</em>: 16 bit and 24 bit FLAC options are available by using ffmpeg&#8217;s libav codec library. These options are lossless, so the filesize will increase by a lot.</li>
</ul>
<h3 class="psize il"><span id="Mixdown">Mixdown: </span></h3>
<p class="il np">Options of Dolby ProLogic II, Dolby Surround, Mono, Stereo, 5.1ch, 6.1ch, 7.1ch, None and Automatic are provided. Choose any one of these options according to your requirements.</p>
<div class="vspacer_25px"></div>
<h3 class="psize il"><span id="Sample_Rate">Sample Rate: </span></h3>
<p class="il np">Number of Audio samples per second. Keep this setting at auto for best results.</p>
<div class="vspacer_25px"></div>
<h3 class="psize il"><span id="DRC">DRC: </span></h3>
<p class="il np">Dynamic Range Compression. This setting is used to alter the difference between the lowest and loudest sounds in the audio file. Use this setting at greater than 0 if you feel the lower volume parts in the audio file are too low in volume, while the louder parts are too loud. Generally, a value between 1 and 2 is sufficient for most files. At default, this value is kept at 0 (DRC OFF).</p>
<div class="vspacer_25px"></div>
<h3 class="psize il"><span id="Gain">Gain: </span></h3>
<p class="il nl">This setting is used to increase the volume of the entire audio file. The value should be in dB. Never keep this setting at more than 10 dB. It will distort your audio at the really loud places. To calculate this value: Suppose you need 2 times the volume of your source file in your output. Then:</p>
<div class="highlight np">
V2 / V1 = 2, Gain = 20 log (V2 / V1) = 6.02dB.
</div>
<p class="compact">You can also add an additional audio track by using the <strong><em>&#8220;Add Track&#8221;</em></strong> option. This is particularly useful if you have an audio track in your preferred language, and would like to add it to your video.</p>
<p class="np">Similarly, you can also delete existing tracks that you don&#8217;t need.</p>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Subtitles_Tab">Subtitles Tab</span></h2>
<p class="compact">You can add Subtitle tracks to your video file by clicking on <strong><em>&#8220;Import SRT&#8221;</em></strong>. Your subtitle needs to be in SRT format for this to work.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbsub1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbsub1.jpg" width="674" height="345" alt="Handbrake Subtitles Tab" /></a><i>Handbrake Subtitles Tab</i>
</div>
<p class="compact">Handbrake can <strong>softcode</strong>(mux) or <strong>hardcode</strong>(embed) the Subtitle track to your Video, according to your wish. Softcode means that the subtitle file won&#8217;t be &#8220;written&#8221; to your video, whereas in hardcode, it is. The advantage of softcode is that you can turn the subtitles OFF whenever it is not required, or switch to another subtitle track in a different language. The disadvantage is, it won&#8217;t be displayed if the device does not support the subtitle format.</p>
<p class="compact">You can also adjust the <strong>offset time</strong> for the subtitle, which would delay or advance the start time of the subtitle track, according to your requirement.</p>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Chapters_Tab">Chapters Tab</span></h2>
<p class="compact">You can use the options provided in this tab to edit existing chapter markers in your source file, import existing chapters from a csv file to your output file, or export the chapters in your source file to a csv file.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbchap1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbchap1.jpg" width="674" height="345" alt="Handbrake Chapters Tab" /></a><i>Handbrake Chapters Tab</i>
</div>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Presets">Presets</span></h2>
<p class="compact">Handbrake has numerous built in presets which you could use to simplify your encoding task. You can also create your own custom preset by clicking the <strong><em>&#8220;Add&#8221;</em></strong> button, or remove existing presets by clicking &#8220;Remove&#8221;.</p>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbpre1.jpg" target="_blank"><img loading="lazy" decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/hbpre1.jpg" width="257" height="547" alt="Handbrake Presets" /></a><i>Handbrake Presets</i>
</div>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Recommended_Settings">Recommended Settings:</span></h2>
<p class="compact">I&#8217;ll only provide the recommended settings for Constant Quality method, as it&#8217;s just not possible to provide the average bitrate without having a look at the video. The average bitrate differs a lot from video to video, and I don&#8217;t think it is right to give you a &#8220;safe&#8221; bitrate, which could leave you with a file that is much larger than required.</p>
<p class="compact"><b>For Mobile Devices:</b></p>
<div class="highlight spaced">
<ul class="emplist">
<li class="spaced">Container: MP4; Resolution: Height: 640 (Keep AR);</li>
<li class="spaced">Video Codec: x264; Preset: Very Fast; Tune: Film; Profile: Auto; RF: &gt;=24;</li>
<li>Audio Codec: AAC; Audio Bitrate: =&lt;160.</li>
</ul>
</div>
<p class="compact"><b>For HDTVs (Or Monitors):</b></p>
<div class="highlight spaced">
<ul class="emplist">
<li class="spaced">Container: MP4; Resolution: Height: 720 (&gt;27&#8243; screens) 1080 (27&#8243; and above screens) (Keep AR);</li>
<li class="spaced">Video Codec: x264; Preset: Fast; Tune: Film; Profile: Auto; RF: Between 18 and 20;</li>
<li>Audio Codec: AAC; Audio Bitrate: &gt;=160.</li>
</ul>
</div>
<p class="compact"><b>For Web:</b></p>
<div class="highlight spaced">
<p class="compact">HTML 5 supports embedding video and audio onto an html page using &lt;video&gt; and &lt;audio&gt; tags. The advantage of this is that you don&#8217;t need a plugin (like flash) to play video on your browser. This means the video will load much quicker, and will use less system resources.</p>
<p class="compact">The formats supported till now by HTML5 are:</p>
<ul class="emplist">
<li class="spaced">H.264 video and AAC audio in MP4 container, licensing fee needs to be paid for content distribution, fully supported by Handbrake.</li>
<li class="spaced">VP3 video with vorbis audio in Ogg container, no licensing fee, Ogg container not supported by Handbrake.</li>
<li>VP8 Video with Vorbis audio in webm container, no licensing fee, webm container not supported by Handbrake.</li>
</ul>
<p class="compact">I&#8217;ve only provided the formats at least partially supported by Handbrake. For the full list, see: <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats" target="_blank">HTML5 Supported Media Formats</a></p>
<p class="compact">Your best bet to legally distribute paid content on your webpage would be to transcode your file to VP8 video and vorbis audio in Matroska(MKV) container, and to convert it to webm format using a 3rd party converter.</p>
</div>
<p class="compact">Take note that these settings that I&#8217;ve given are not foolproof. It is quite possible ymmv. It all depends on your source file. It is always a good practice to see what happens when you encode using a slightly different setting.</p>
<p class="compact">That&#8217;s the reason I&#8217;ve given you these settings. So that you have a starting point, from where on you could tweak the settings according to your requirements.</p>
<h2 class="shead" style="padding-top: 30px; margin-bottom: 20px;"><span id="Anamorphic_Revisited">Anamorphic Revisited:</span></h2>
<p class="compact">If you haven&#8217;t dozed off till now, well, good job! Now it&#8217;s time to reap your metaphorical reward (remember, I told you I&#8217;d explain Anamorphic in detail in a later part. This is the &#8220;later part&#8221;!).</p>
<p class="compact">Things could get a bit complicated here, but I&#8217;ll try to keep it as simple as possible.</p>
<p class="compact">Quite a few times, you may come across a video file that will be displayed in a squished or stretched form in your computer. You check the resolution and the Aspect Ratio of the video, but that seems correct. So, what is the problem?</p>
<p class="compact">In order to fully understand this, you need to know about <strong>Display Aspect Ratio (DAR)</strong>, <strong>Storage/Frame Aspect Ratio (SAR/FAR)</strong> and <strong>Pixel Aspect Ratio (PAR)</strong>. So, here goes:</p>
<div class="highlight spaced">
<ul class="emplist">
<li class="spaced"><b>Display Aspect Ratio (DAR):</b> This is a flag in the video file that tells the display device what Aspect Ratio to display the Video at. Most commonly this value is either 4:3 (for SD content) or 16:9(for HD or Widescreen content).</li>
<li class="spaced"><b>Storage/Frame Aspect Ratio (SAR/FAR):</b> This is the actual Aspect Ratio of your video file, not taking into consideration the PAR. This is the value that you&#8217;ll get when you divide the width and height data of your video file obtained from the Media Info in your video Player.</li>
<li><b>Pixel Aspect Ratio (PAR):</b> Pixel, or picture element, is the smallest element in an image. But the harsh truth is, this element is not always a square. For computer graphics, it is a square, but for analog broadcast content, it needs to be rectangular. Pixel Aspect Ratio is a ratio that defines the shape of each pixel.</li>
</ul>
<p class="compact">The math between these three values is:</p>
<p class="compact"><b>DAR = SAR x PAR</b></p>
</div>
<div class="special sp_blue notestar spaced">
<strong>Note:</strong> Please keep in mind that the terms resolution, PAR, actually have nothing to do with analog video. In an analog video, vertical resolution is nothing but the number of scanning lines and horizontal resolution depends on either the system bandwidth(for broadcast content) or the sampling rate. PAR in essence, is actually a pretty clever hack that allows us to view the converted analog content properly.
</div>
<p class="compact">Most analog broadcast content are not in 4:3(Standard Definition) or 16:9(Widescreen) aspect ratio. The resolution of NTSC content is 720&#215;480(AR=1.5) and that of PAL content is 720&#215;576(AR=1.25).</p>
<p class="compact">Now, imagine what would happen if PAL or NTSC content is viewed on a computer monitor (or any digital display, for that matter). As monitors generally have an aspect ratio of 4:3 or 16:9 these images would look distorted horizontally.</p>
<p class="compact">In order to compensate for this, NTSC contents are scaled horizontally by a factor of about 0.9(or 1.2 for widescreen) to obtain a resolution of approximately 640&#215;480(854&#215;480 for widescreen), while PAL contents are scaled horizontally by a factor of 1.07(or 1.45 for widescreen) to obtain a resolution of approximately 768&#215;576(or 1024&#215;576 for widescreen). This factor is known as Pixel Aspect Ratio (PAR), as it can be said that each pixel is scaled by this factor to fit the display screen.</p>
<p class="compact"><strong>Anamorphic</strong> is the property of scaling the width of a video by a factor (PAR) in order to correct its Aspect Ratio.</p>
<p class="compact">To apply anamorphic property to a video:</p>
<ol>
<li>Set the <strong><em>Anamorphic</em></strong> Option to <strong><em>Custom</em></strong>.</li>
<li>Then you&#8217;ll be able to tweak the PAR, Source Resolution and the display width values.</li>
<li>The resolution shown in the Width and Height boxes will be the actual resolution of your output. The Aspect Ratio that you get from this resolution is the SAR. The resolution that you get by scaling the width by the PAR value is the Resolution at which the video file will be displayed on your screen. The Aspect Ratio that you get from this resolution is the DAR.</li>
<li>Keep changing the PAR and viewing the preview, till you obtain an output preview that is satisfactory.</li>
</ol>
<p class="compact">Anamorphic is also widely used to preserve the resolution of widescreen movies in DVDs. This is what the tag &#8220;Enhanced for Widescreen&#8221; means in a DVD. Films used to be shot at an aspect ratio of 4:3 or 1.33. From there, this value underwent a series of changes, from 1.66, 2.59, 2.35, 1.85, 2.20, 2.76, etc. Even today, there is no standard Aspect ratio at which films are supposed to be shot, and much of it depends on the choice of the director. There are three ways to accommodate such films on a standard display:</p>
<ol>
<li>Stretch the video to fit on the screen, while preserving the Aspect Ratio. So, for wider Aspect Ratios the sides of the picture gets cropped off, while for taller Aspect ratios the top and bottom of the picture gets cropped off. This method is called <strong>Pan and Scan</strong>.</li>
<li>For wider aspect ratios, movies are encoded with black bars on the top and bottom of the frame. This is called <strong>letterboxing</strong>. And for taller Aspect Ratios, black bars are added to the sides of the frame. This is called <strong>Pillarboxing</strong>. This method was popular before anamorphic. It isn&#8217;t required now as modern displays and DVD players add black spaces by itself to fix the Aspect Ratio.</li>
</ol>
<p class="compact">Both these methods are rendered useless now with the advent of Anamorphic.</p>
<ol start="3">
<li>By using <strong>anamorphic</strong> property, the PAR of the movie is adjusted to view it in both 4:3 as well as 16:9 displays. This method is the one that is most widely used now. Pan and scan crops off a part of the frame, while Letterboxing/Pillarboxing reduces the effective resolution, as part of the resolution is comprised of just black lines. So, anamorphic in this sense, offers the best of both worlds. It preserves the Resolution and the Aspect Ratio while keeping the video frame intact.</li>
</ol>
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/anamorphic-1.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/anamorphic-1.jpg" alt="Original Frame" /></a><i>(a). Original Frame</i><br />
2.35 Aspect Ratio; PAR=1
</div>
<div class="compact image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/anamorphic-2.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/anamorphic-2.jpg" alt="SAR Output Frame" /></a><i>(b). The Frame as it would be stored on an Anamorphic Disk<br />
The SAR Output. The frame appears squished.</i>
</div>
<div class="spaced image">
<a href="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/anamorphic-3.jpg" target="_blank"><img decoding="async" class="aligncenter compact" src="https://www.ocfreaks.com/imgs/guide_tutorial/handbrake_part1/anamorphic-3.jpg" alt="16:9 Anamorphic Frame" /></a><i>(c). The Frame as it would be displayed on a 16:9 Display<br />
Black bars are added to the top and bottom of the frame while playback, to compensate for the wider Aspect Ratio of 2.35(letterboxing).</i>
</div>
<p class="compact">You&#8217;ll need to crop off the bars if you want to convert a pillarboxed/letterboxed source to anamorphic.</p>
<h2 style="padding-top: 30px; margin-bottom: 20px;"><span id="Closing_Notes">Closing Notes</span></h2>
<p style="margin-bottom: 5px;">I&#8217;ll be ending this tutorial here.</p>
</p>
<p>For the <strong><em>&#8220;Advanced&#8221;</em></strong> tab, I&#8217;ll be making a separate post. Part 2 Coming soon!</p>
<p>The post <a href="https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/">Handbrake Complete Tutorial Part 1: How to Transcode &#038; Compress Videos</a> appeared first on <a href="https://www.ocfreaks.com">OCFreaks!</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ocfreaks.com/handbrake-complete-tutorial-part-1-transcode-compress-videos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2559</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Page Caching using Disk: Enhanced 

Served from: www.ocfreaks.com @ 2026-03-04 18:13:43 by W3 Total Cache
-->