Software X264

1 view
Skip to first unread message

Bradley Zweig

unread,
Aug 3, 2024, 3:56:11 PM8/3/24
to recesrahoofp

x264 is a free and open-source software library and a command-line utility developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC video coding format.[2] It is released under the terms of the GNU General Public License.[2]

x264 was originally developed by Laurent Aimar, who stopped development in 2004 after being hired by ATEME.[3][circular reference] Loren Merritt then took over development. Later, in 2008, Fiona Glaser joined the project. They both stopped contributing in 2014. Today, x264 is primarily developed by Anton Mitrofanov and Henrik Gramner.

x264 provides a command line interface as well as an API. The former is used by many graphical user interfaces, such as Staxrip[4] and MeGUI.[5] The latter is used by many other interfaces, such as HandBrake[6] and FFmpeg.[7]

x264 is able to use Periodic Intra Refresh instead of keyframes, which enables each frame to be capped to the same size enabling each slice to be immediately transmitted in a single UDP or TCP packet and on arrival immediately decoded.[3] Periodic Intra Refresh can replace keyframes by using a column of intra blocks that move across the video from one side to the other, thereby "refreshing" the image. In effect, instead of a big keyframe, the keyframe is "spread" over many frames. The video is still seekable: a special header, called the SEI Recovery Point, tells the decoder to "start here, decode X frames, and then start displaying the video." This hides the refresh effect from the user while the frame loads. Motion vectors are restricted so that blocks on one side of the refresh column don't reference blocks on the other side, effectively creating a demarcation line in each frame.

In April 2010, the x264 project announced full Blu-ray compliant video encoding capability making x264 the first free Blu-ray compliant software H.264 encoder.[17] x264 has always had the ability to create video streams that are playable on most Blu-ray devices. However, it was up to the user to choose appropriate conversion settings. The default x264 preset chooses adequate compatibility for Blu-ray players but it is now possible to choose more complex conversion settings while simply maintaining compatibility by explicitly enabling Blu-ray compatibility mode. Blu-ray compatibility can be useful when striving for cross device compatibility, especially in the realm of high definition hardware media players.

In November 2010, Fiona Glaser, an x264 developer, published information in which she claims that one of Tandberg Telecom's (a Cisco Systems subsidiary) patent applications from December 2008 contains a step-by-step description of an algorithm she committed to the x264 codebase around two months earlier.[19][20] This was relayed by media, which remarked that the company who filed the patent was following the x264 project IRC development channel and was known to the project developers,[21][22] leading to Tandberg claiming that they discovered the algorithm independently.[23]

Legal Report Trademark Abuse
VideoLAN, VLC, VLC media player and x264 are trademarks internationally registered by the VideoLAN non-profit organization.
VideoLAN software is licensed under various open-source licenses: use and distribution are defined by each software license.

With radarr, I use the same settings. I have a tag for x265 which I put for the releases but in radarr it will still grab the x264 and than upgrade whenever it is available. This is far preferred since in sonarr with the exact same settings, sonarr ignores the x264 versions and refuses to download them without the x265 tag. They are identical setups, is this a limitation in sonarr, an added feature in radarr or do i have some setting somewhere else different that i cannot find?? Example below since it just happened.
image1216762 114 KB

Once again please explain in detail how a tag by itself (i.e. without being in a release profile and a series) does not anything at all for controlling upgrades. That literally does not exist in the docs, in the ui, nor in the code.

Now if you were asking how to prefer x265 versions and given Preferred Words are always an upgrade, that answer would be to create a Release Profile preferring - or must containing if you wish - the following Regex should do it /[xh][ .]?265\\bHEVC(\\b\\d)/i

I have a lot of .x264 video files on my Windows system and want to know the easiest way to play the best quality. Do I need to convert them to another filetype? If so would a 10GB .x264 file be better converted on my faster Windows PC (new macbook is the upgraded 1.7ghz and 8gb RAM)? Please point me in the right direction. 1080p is a must and not spending 2hrs to convert every file would be nice.

Thank you Winston your information led me to find Miro Video Converter, nifty little free program for windows or mac that just has you put in an output device. It takes about 30min-45mins for a 2hr 1080p video which is alright, my i7 3770K is at 100% usage 3.9ghz so I'm thinking I will leave the converting on that machine for the time being, then transfer the new file over the network.

I'm not 100% sure you need to do that. I suspect you may just need to strip out the video from its container without needing to convert it. However one of the things that might affect whether this is so or not is the datarate of these files, I noticed you mentioned a 10 GB file which is quite huge and far too big for the Apple TV, it may ultimately be that you do need to re-encode the video itself, if only to reduce the file size.

This one in particular was 7.6GB and 1hr 45mins. What exactly do you mean by strip out the video from the container? Like manually typing in the filetype to h.264 replacing the old one or is there some sort of tool/software I need to do it?

Video containers can contain video which has been compressed in many different ways, but if it contains video compressed in a way (codec) that already is accepted by the Apple TV, you can simply wrap the video in another type of container that the Apple TV will work with (mp4 or mov for example). Doing this is significantly quicker than re-encoding.

OK I understand, if they are bigger than cineform I am not even going that path.
I thought the compression of x264 would give me better compression than cineform.
I will do what you said. Thank you very much.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Based on OpenBenchmarking.org data, the selected test / test configuration (x264 2022-02-22 - Video Input: Bosphorus 1080p) has an average run-time of 2 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

Yes, based on the automated analysis of the collected public benchmark data, this test / test settings does generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

Legal Disclaimer
Copyright 2010 - 2024 by Phoronix Media.
Powered by OpenBenchmarking.org Server using Phoronix Test Suite 10.8.4.
All trademarks used are properties of their respective owners. All rights reserved.

When I am using screen casting software like Green Recorder and vokoscreenNG, I just can't get videos that can be played on other platforms, like windows or android. After looking for solutions, I figure out that this issue relates to codec problems.

I have found out that vokoscreenNG thinks Video encoder x264,openh264,H.264 and MPEG-2 as unavailable, but pacman -Q shows that x264 has been installed. I also read the page codec in ArchWiki but I'm not clear about what to do.

MPEG (or any other non-codec-specific container) muxing is complicated enough task to grant a separate crate.
It's not just an annoying addition to the x264 usage that is expected to be implemented in the application crate itself.

Because according to the information in the following link, it says "if you want to edit the recorded video with Sony Vegas, Adobe Premiere with the AVI container, you must choose the "X264" option" it seems like there is a difference between H264 and X264 when editing in Vegas! I am confused!

x264 is a free and open-source software library and a command-line utility developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC format.[1] It is released under the terms of the GNU General Public License.[1]

Many hardware screen capture programs catpure in variable frame rate. That is not ideal for video editing. with bandicam it looks like it uses x.264 for software encoding and h.264 for hardware encoding. So they could have said for video editing use software encoding and not hardware encoding

H.264/AVC is conventionally wrapped in MP4, MOV and MKV containers. I think Bandicam is putting it into an AVI container. I can't remember the reason. It might be to do with licensing. But it's unconventional. The sentence you refer to is talking about the FourCC Code, which is a piece of metadata. So I think it's saying that if you want playback compatibility, choose "H264", and if you want editing compatibility, choose "X264". I guess the actual encoding would otherwise be the same.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages