Just a few thoughts for discussion.
As we all know the 50fps content doubles the storage requirement compared to 25fps and as we also know get_iplayer simply remuxes the stream as it's downloaded.
I know for most content it won't make a blind bit of difference, but you like to think that you are capturing the best quality for when it would make a difference. e.g. action scenes etc.
However, it got me thinking. Given that for most content one frame is going to be pretty much the same as the next.
Are the Beeb coding the stream efficiently? Presumably the 50fps stream contains as twice as many I frames in the h264 video, but I would presume this wouldn't be necessary. Has anyone had any size reduction transcoding the video while maintaining the 50fps and resolution?
I keep meaning to have a play with transcoding the downloads to HEVC after download, but it would take forever on a raspberry Pi 3 I suspect. Does anyone have any experience to share with doing this?
It was my understanding that the 50fps videos are simply doubled-up frames. That is to say, frame 1 is the same as frame 2, and frame 3 (different from 1 & 2) is the same as frame 4 etc. Whereas the 25fps are all different frames. I can't remember the reason why the BBC do this (or did this), but I'm sure someone will clarify.
There is a difference between the audio quality though: 50fps is ~125kbps & 25fps is ~96kbps.
So I remux the 25fps video with the 50fps audio, which can nearly halve the size of some videos.
Here's the script I wrote to do it (you'll need to rename the files as per script):
Code:
:: Name: mp42mp4-ffmpeg.cmd
:: Purpose: Configures ffmpeg to copy mp4 contents and create a new mp4
:: Author: jaybeee @ themixingbowl.org
:: Revision: Dec 2016 - v0.1
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
:: variables begin with v
:: set name of this script without file extension
SET vMe=%~n0
:: set name of the parent directory where this script resides
SET vParent=%~dp0
:: set location of ffmpeg ** CHANGE ME **
SET vffmpeg="C:\PATH\TO\ffmpeg.exe"
:: -map 0:v:0 can be translated as: from the first input (0), select video stream type (v), first video stream (0)
:: -map 1:a:0 can be translated as: from the second input (1), select audio stream type (a), first audio stream (0)
:: The -shortest option will cause the output duration to match the duration of the shortest input stream.
:: -movflags empty_moov -OR- -movflags faststart -can be used-
%vffmpeg% -i 25fps.mp4 -i 50fps-audio.mp4 -c copy -map 0:v:0 -map 1:a:0 -shortest -movflags faststart out.mp4
:: Finish
ECHO Finished remuxing
:: pause can be used to view the extraction details
PAUSE
:END
ENDLOCAL
ECHO ON
@EXIT /B 0
I think the main reason for the 50fps versions was to allow for things like sport which are shot at 50fps to be available at a better quality with smoother movement etc. Why this is available for all programmes though I don't know because as you said, to get the 50fps framerate, they just duplicate each frame for anything which is shot at 25fps which really won't show much improvement for most programmes.
(19-03-2017, 07:52 PM)I think the main reason for the 50fps versions was to allow for things like sport which are shot at 50fps to be available at a better quality with smoother movement etc. Why this is available for all programmes though I don't know because as you said, to get the 50fps framerate, they just duplicate each frame for anything which is shot at 25fps which really won't show much improvement for most programmes.
ah ok, so most (all?) BBC sport programmes are shot at 50fps then?
is there an easy way to tell if frames in the 50fps have been duplicated? Would you have to visually inspect the frames? or is that even possible if there's such a small difference between them??
Quote:ah ok, so most (all?) BBC sport programmes are shot at 50fps then?
I would have thought that things like the world cup, olympics etc would be in 50fps but I'm not sure if they do that as a general rule for sport or not.
It's not just sport, most TV shows in the uk (with the exception of single camera dramas) are shot at 50fps, they do not double up frames on iplayer, if a show is available in 50fps that is because this is how it was shot. I am a television cameraman and studio engineer.
Sorry folks, this is veering well away from anything to do with get_iplayer. Thread closed.