Jump to content

New iFFmpeg Samsung NX1 H.265 transcoding app for the Mac is the best yet


Andrew Reid
 Share

Recommended Posts

  • Administrators

One thing the Samsung NX1 shares in common with the much more expensive Canon 1D C is that both produce files which are tricky (or impossible) to edit natively on most current hardware and software. The 1D C’s MJPEG is sluggish to edit on anything less than a powerhouse of a machine and the H.265 from the NX1 also needs transcoding to ProRes 4K which is editable even on a reasonably specced Macbook Pro.

iFFMPEG replaces Wondershare Video Converter as my tool of choice for this.

Thanks for the tip off GMaximus!

Read the full article

iffmpeg.jpg

Link to comment
Share on other sites

EOSHD Pro Color 5 for Sony cameras EOSHD Z LOG for Nikon CamerasEOSHD C-LOG and Film Profiles for All Canon DSLRs

iFFmpeg is a graphical front-end for FFmpeg, an opensource command-line tool used to convert multimedia files between formats.

There are many free GUIs written for FFmpeg that work on windows OS. To name a few: ffmpeg-gui, TEncoderffeAvantiWinff

Among all TEncoder is a multi-threaded application.

I am curious to see if you can replicate the results that you get from iFFmpeg, on a windows machine as they both seem to be using the same code. Feel free to share the footage (if you don't have access to windows) and I'd be more than happy to transcode on linux and windows and share the results.

 

 

Link to comment
Share on other sites

Hi,

If you open terminal, you can use ffmpeg for free. If you do not have a Samsung, but want to experiment with HVEC, you need to type something like this (encode to H.265):

ffmpeg -i input.mov -c:v libx265 -preset medium -x265-params crf=28 -c:a aac -strict experimental -b:a 192k output.mp4

More info:

https://www.ffmpeg.org/ffmpeg-codecs.html

And if you have a Samsung 4K TV, it can play the H.265 files directly from USB or NAS, which is very nice.

Link to comment
Share on other sites

The above example is for encoding to h.265. For encoding from h.265 (and any other codec) to ProRes HQ, use this:

ffmpeg -threads 8 -i input.mov -c:v prores -profile:v 3 -qscale:v 9 -vendor ap10 -pix_fmt yuv422p10le output.mov

You can also save this as a shell script, name it, for example, "any2prores", and run it from the command line:

#!/bin/sh

if [[ $1 ]]; then
   ffmpeg -threads 8 -i $1 -c:v prores -profile:v 3 -qscale:v 9 -vendor ap10 -pix_fmt yuv422p10le ${1/.*/-prores.mov}
fi

This will do effectively the same as iffmpeg, only for $17 less...

Link to comment
Share on other sites

  • Administrators

I'm pleased with the results from Rocky Mountains Movie Converter on my PC. It's free and whilst not offering any image adjustment, it does give the Samsung's H265 files quite a pleasing reduction in contrast when converted to Prores.

http://www.mydiyworld.net/?p=1805

​Thanks I'll give that a go too. Searched for it on Google before but couldn't find it.

Link to comment
Share on other sites

So funny Andrew, I just bought this app today and was about to make a topic on EOSHD forum when I saw your post :) 

I just shot a commercial (france) yesterday with the NX1, and was quite disappointed with wondershare (tons of banding). IFFMPEG is a huge improvement in terms of quality. And I also agree that when you don't want to bother with command lines 17 (21€ in France) is a bargain.

Now I don't know if you noticed, but some settings needs a restart of the app to be applied - although the app doesn't warn you -. Such as changing the destination folder for example.


Cheers from France! 

Link to comment
Share on other sites

My pleasure !

Also, I found myself struggling a little bit with the Prores quality settings. They re split in many different menus :/

One setting that I am testing right now is the macroblocking bit rate. I feel like this is what hurts the NX1 the most during compression. I'll let you know if it works for me !

Also I m kind of surprised at the speed. I don't find the app substantially slower than wondershare for example. Regarding contrasts settings do you know if it is possible to roll it down (like wondershare) ? 

Thanks again !

Link to comment
Share on other sites

  • Administrators

Strange, I found it faster!

What system are you using?

Contrast, not sure, but if it drops any further I don't think it'll reveal any more usable info in the lows / blacks, just more blocking. Will be interested to see what your macroblocking bit rate changes do. You're right that is a weakness of the NX1, it does compress the shit out of the shadows :)

Link to comment
Share on other sites

  • Administrators

Just double checked the conversion rates. Wondershare took 28 seconds to convert a 5 second long test clip from the NX1 to ProRes LT. 7 seconds of that were at the start whilst it said "Waiting"

iFFMPEG for the same 5 second H.265 clip to ProRes LT took 13 seconds. Even if you subtract the 7 seconds from the Wondershare time it's still nearly double the time.

That's for one clip... might be quicker with multiple clips as Wondershare can use 4 cores, one clip per core so simultaneous conversions on the go.

iFFMPEG is doing a 1 pass encoding, not sure what Wondershare does but iFFMPEG produces the nicer file so it's all moot.

Link to comment
Share on other sites

I know that I mentioned this awhile back, but Handbrake is a GUI frontend of ffmpeg, so if your ffmpeg has  the h265 decoding library, you should be able transcode similarly with Handbrake.

 

On the other hand, using ffmpeg on the command line can give one a lot more control of a transcode.  The syntax is fairly easy to learn.  The same is true of mencoder, which has a lot more filters than ffmpeg.  Unfortunately, I don't think that mencoder currently has any h265 capability.

 

Both ffmpeg and mencoder have players -- ffplay and mplayer, respectively.  The command to play a file (from the "current" directory) in ffplay is:

ffplay <video file>

Of course, replace "<video file>" with the actual name of your video file.  If the video file is in a directory other than the one that is "current" to the terminal, you must supply "path" with the video file name in place of "<video file>".

 

For full screen we merely add the "-fs" flag:

ffplay -fs <video file>

See how the full screen flag works?  Transcoding works in a similar way, but there are usually more flags.

Link to comment
Share on other sites

Just double checked the conversion rates. Wondershare took 28 seconds to convert a 5 second long test clip from the NX1 to ProRes LT. 7 seconds of that were at the start whilst it said "Waiting"

iFFMPEG for the same 5 second H.265 clip to ProRes LT took 13 seconds. Even if you subtract the 7 seconds from the Wondershare time it's still nearly double the time.

That's for one clip... might be quicker with multiple clips as Wondershare can use 4 cores, one clip per core so simultaneous conversions on the go.

iFFMPEG is doing a 1 pass encoding, not sure what Wondershare does but iFFMPEG produces the nicer file so it's all moot.

​You're right Andrew, actually I didn't time both of them with the same clips. It was just a feeling that iFFMPEG was doing a better job for about the same speed :). Thanks for checking that out.

Also regarding the macroblocking, I believe that if you choose the "extreme" settings in Prores, it automatically chooses the highest bitrate for macroblocks - as I see no difference in terms of rendering nor size between a extreme with macroblocks @ maximum, and extreme with "auto". 

If I have time I'll make a test between Extreme and HQ with highest settings for macroblocks (maybe we can save on a few Gb).

Link to comment
Share on other sites

  • 2 weeks later...

You can also save this as a shell script, name it, for example, "any2prores", and run it from the command line:

#!/bin/sh

if [[ $1 ]]; then
   ffmpeg -threads 8 -i $1 -c:v prores -profile:v 3 -qscale:v 9 -vendor ap10 -pix_fmt yuv422p10le ${1/.*/-prores.mov}
fi

This will do effectively the same as iffmpeg, only for $17 less...

Thanks.  Using your command line arguments, on a Windows PC, you can do PowerShell to get the same effect. This is how I convert all MP4 files in a directory to ProRes HQ with 8 CPU threads.

get-childitem ./*.mp4 | foreach ($_) {$input = $_.BaseName; $output = $input+" ProRes.mov"; & "ffmpeg.exe" -y -threads 8 -i $_.FullName -c:v prores -profile:v 3 -qscale:v 9 -vendor ap10 -pix_fmt yuv422p10le $output}

 

 

 

Link to comment
Share on other sites

with *nix / osx you can use the bash shell to loop through files in a directory and run ffmpeg in the body of the loop, i wind up using this often when starting a job. this command (assuming you're in the bash shell and have a relatively recent ffmpeg installed) will take a folder of mov files and create directories with the movie name as the filename, minus the extension, and export a 4 digit padded 10bit dpx sequence into it. modify it for whatever you want to batch to.

for i in `ls *.mov`; do mkdir `echo $i | sed 's/\(.*\)\..*/\1/'`; ffmpeg -i $i -pix_fmt gbrp10le `echo $i | sed 's/\(.*\)\..*/\1/'`/$i".%04d.dpx"; done

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • EOSHD Pro Color 5 for All Sony cameras
    EOSHD C-LOG and Film Profiles for All Canon DSLRs
    EOSHD Dynamic Range Enhancer for H.264/H.265
×
×
  • Create New...