Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 7th October 2010, 18:02   #1  |  Link
Klagar
Registered User
 
Klagar's Avatar
 
Join Date: Sep 2010
Posts: 46
FFMPEG - Windows vs Linux ?

Hi !

First of all, sorry for any enthusiast who thought I was about to start a discussion over whether it would be best to use FFMPEG on Windows or Linux... Not gonna happen !

Rather, I have some questions regarding compatibility issues. I heard that, some tests having been made, there were major differences in the way one uses FFMPEG on either OS.

For example, someone told me the -treillis parameter had to be set to 1 whenever one encoded on Windows, or to 0 if encoding on Linux (or maybe the opposite, he wasn't very clear on the subject :S), otherwise the encoding would just plain not work.

Another example : the -qmin/-qmax parameters would typically accept values ranging from 1 (or 0 ?) to 31, or up to 51 when encoding to H264. That was on Wiondows. But the same person told me that for some reason, they never could set this parameter higher than 30 when encoding on Linux.

One last example : I heard (haven't had a chance to test it out yet, still waiting for Linux to get installed on my machine) that the -qcomp parameter works in Windows only, not in Linux.

So the question is as follows : first, can anyone confirm or invalidate those informations, preferably with some reason or explanation ? And second, are there any other examples of parameters which should react differently when using one or the other OS ? Or alternatively, is there some way to prevent such incompatibility from occurring ?

Thanks as always !
Klagar is offline   Reply With Quote
Old 7th October 2010, 18:53   #2  |  Link
akupenguin
x264 developer
 
akupenguin's Avatar
 
Join Date: Sep 2004
Posts: 2,392
All invalid, and I have no idea how someone would arrive at those conclusions.
akupenguin is offline   Reply With Quote
Old 7th October 2010, 19:25   #3  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,989
Yeah... sounds pretty incorrect to me

Derek
__________________
These are all my personal statements, not those of my employer :)
Blue_MiSfit is offline   Reply With Quote
Old 7th October 2010, 20:45   #4  |  Link
Klagar
Registered User
 
Klagar's Avatar
 
Join Date: Sep 2010
Posts: 46
Thanks for taking the time to answer !

Are you telling that this is invalid in the sense that said parameters should work equally well on any OS ?

Is there anything at all that is true in what I've stated ?
For example, when I said "-qmin/-qmax parameters would typically accept values ranging from 1 (or 0 ?) to 31, or up to 51 when encoding to H264", this information came to me from a Doom9 member. Is it wrong as well ?

Well, someone arrived at these solutions by testing.
We needed to encode videos in some formats that would fit the web, and then encode them again in other formats that would fit, let's say, mobiles and other smaller screens.
We noticed that some code lines worked sweet and gentle on windows but crashed awfully as they went off on Linux, and vice-versa.

Another example I just thought of :
In a command line made to encode videos into mp4 format destined to be viewed on IPhones, the -partitions parameter must be set to +parti4x4+parti8x8+partp8x8 ; if there is any change in the value, encoding crashes.

Here is the complete line, maybe it'll help you understand something :
"-acodec libfaac -ab 32k -ac 2 -ar 8000 -s %a few possible sizes% -aspect %according to size% -vcodec libx264 -coder 0 -flags +loop -cmp +chroma -partitions +parti4x4+parti8x8+partp8x8 -me_method full -subq 5 -me_range 16 -r 15 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b 192k -trellis 1 qcomp 0.6"

I know this is pretty limited and I'll have to run my own tests to see the results for myself, and maybe eventually I will be able to post error messages and other useful information, but for now that's all I have, and my job is to find out what's happening and why. Neat, huh ?

Thanks again to anyone who can answer the question or just give some insight, documentation, or a clue where to find more for myself !
Klagar is offline   Reply With Quote
Old 7th October 2010, 20:51   #5  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by Klagar View Post
Are you telling that this is invalid in the sense that said parameters should work equally well on any OS ?
Yes! Exactly
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 7th October 2010, 20:54   #6  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by Klagar View Post
Thanks for taking the time to answer !

Are you telling that this is invalid in the sense that said parameters should work equally well on any OS ?

Is there anything at all that is true in what I've stated ?
For example, when I said "-qmin/-qmax parameters would typically accept values ranging from 1 (or 0 ?) to 31, or up to 51 when encoding to H264", this information came to me from a Doom9 member. Is it wrong as well ?

Well, someone arrived at these solutions by testing.
Let me guess, you're using two different versions? Start by updating the latest; and no, the default version that came with <insert distro here> is not the latest, it's more likely 3 years old.

If you're trying to encode with x264, read the bloody guide. Don't spam retarded long commandlines and hope that it works -- there's documentation for a reason. In fact, if you don't read the guide, x264 will even pipe up and tell you what to do. Of course you ignored that too.
Dark Shikari is offline   Reply With Quote
Old 7th October 2010, 22:18   #7  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,989
If you're just trying to encode using x264, you might consider just using the x264cli It's got robust input filters, and can even do basic filtering these days (resize, deinterlace etc)

Derek
__________________
These are all my personal statements, not those of my employer :)
Blue_MiSfit is offline   Reply With Quote
Old 8th October 2010, 01:35   #8  |  Link
Midzuki
Unavailable
 
Midzuki's Avatar
 
Join Date: Mar 2009
Location: offline
Posts: 1,480
Quote:
Originally Posted by Klagar View Post
Are you telling that this is invalid in the sense that said parameters should work equally well on any OS ?
The "obvious" answers is "always yes".
The "not-so-obvious" answer should be : it depends.

I mean, it's NOT impossible that you yourself, or someone else, has found and downloaded some "wicked" Windows build of ffmpeg. In other words, it's not impossible that a 0PER had decided to compile and to release a crippled ffmpeg.exe for the <irony>"stupid"</irony> users of the "evil" operating shisutemu. I have at least one build of mpg123.exe that DOES NOT have the documented keyboard shortcuts for MP3 playback and navigation --- therefore, ...
Midzuki is offline   Reply With Quote
Old 8th October 2010, 14:32   #9  |  Link
Klagar
Registered User
 
Klagar's Avatar
 
Join Date: Sep 2010
Posts: 46
Thanks again for your answers !

@Dark Shikari :
You might have a point about the two different versions. They are installed on a machine to which I have no access whatsoever, so I honestly don't know. It shouldn't be, programmers are supposed to be reliable about those things, but then again... "supposed"...

Are you telling me x264 is the name of the code we use in FFmpeg ? No wonder I could find no documentation, I thought x264 was another coding language entirely ! I thought FFmpeg's code was called... well... "FFmpeg's code", or something ! Nowhere in FFmpeg's (scarce) documentation is it written that "using its command line you code in x264" or anything.
In that case, sure I'll check the documentation you gave me before asking anything else !

So thanks for pointing me to this info that probably seems the most basic of all to you, but wasn't obvious at all to me.


@Everyone : If you're all telling me the code is supposed to be cross-platform, then that must be true. As Midzuki stated, there MIGHT be some glitches, but assuredly not that many. Maybe our versions here are outdated, or maybe it's something else, and when I find it I'll let you know if it can be of any use to anyone in the future.


Thanks as always !
Klagar is offline   Reply With Quote
Old 8th October 2010, 16:01   #10  |  Link
nm
Registered User
 
Join Date: Mar 2005
Location: Finland
Posts: 2,641
Quote:
Originally Posted by Klagar View Post
Are you telling me x264 is the name of the code we use in FFmpeg ?
You are specifying -vcodec libx264, which means that you are asking FFmpeg to encode the video with libx264.

Quote:
I thought FFmpeg's code was called... well... "FFmpeg's code", or something ! Nowhere in FFmpeg's (scarce) documentation is it written that "using its command line you code in x264" or anything.
FFmpeg contains many video and audio encoders and it can also use some external libraries such as libx264. If you didn't know that before using the command-line application, it's no wonder you're lost with it.

Encoders are selected with parameters -acodec and -vcodec, which are placed after the input file in the command line. Available encoders and decoders can be listed with ffmpeg -codecs.
nm is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 03:32.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.