Encoding Issues – a call for help.
on September 18th, 2010, by beornHey all, Beorn here, the animator dude who’s been roped into the thankless task of encoding the movie into various formats. (Actually I was crazy enough to volunteer!)
Fortunately the DivX files will be encoded by the good people at DivX, who are actual professionals (as opposed to a forum trawling script kiddie like me).
Despite what Ton has said on this blog before, this is not my area of expertise. I’m really learning as I go and would very much appreciate any advice from the community. I just thought I’d share my current progress and ask for any suggestions on how to improve things.
The goal:
To provide h264 quicktimes and ogg video files in 480p, 720p and 1080p, with subtitles and surround sound (except the 480p versions which will be stereo), and to encode the video for the dvds (NTSC and PAL versions).
I’ve been supplied:
- directory of PNG files, 2048×872 in size
- a stereo wav file
- an audio only quicktime file with 5.1 sound in the aac codec. (there is also an ac3 file for the dvd)
- a directory of subtitle files in .srt format
Please note: I’ve compiled my own versions of ffmpeg and x264 in order to make the quicktimes.
My current issues:
- I haven’t been able to add 5.1 audio to the ogg files in any other codec than flac, which means the files are HUGE.
- The ogg video files are about 3x bigger than the quicktimes, even with stereo sound
- I haven’t been able to add subtitles to the quicktimes.
- I’m using mplayer to do the scaling/cropping/letterboxing, but it keeps crashing on the 1080 versions when trying to crop on the fly. Notice the hack I’ve included on those versions; making cropped copies of the PNGs, encoding them and deleting them. It works, but it’s… inelegant.
Here are the shell scripts…
Ogg versions:
title="Sintel"
author="Durian Open Movie Team"
year="2010"
license="Creative Commons Attribution 3.0 license"
copyright="(c) Copyright 2010 Blender Foundation, all rights reserved"
description="Sintel open movie project"
au_stereo="input/audio/sintel-master-st.wav"
au_surround="input/audio/sintel-master-51.mov"
echo "********************"
echo "Ogging the audio"
echo "********************"
ffmpeg -i $au_stereo -acodec libvorbis -ab 448k -ac 2 output/ogg/tmp-audio-st.ogg
ffmpeg -i $au_surround -acodec flac -ac 6 -ab 128k output/ogg/tmp-audio-51.ogg
echo "********************"
echo "Ogging the subtitles"
echo "********************"
kateenc -t srt -l en -c SUB -o output/ogg/tmp-subs_en.ogg input/subtitles/sintel_en.srt
kateenc -t srt -l de -c SUB -o output/ogg/tmp-subs_de.ogg input/subtitles/sintel_de.srt
kateenc -t srt -l es -c SUB -o output/ogg/tmp-subs_es.ogg input/subtitles/sintel_es.srt
kateenc -t srt -l fr -c SUB -o output/ogg/tmp-subs_fr.ogg input/subtitles/sintel_fr.srt
kateenc -t srt -l nl -c SUB -o output/ogg/tmp-subs_nl.ogg input/subtitles/sintel_nl.srt
kateenc -t srt -l pl -c SUB -o output/ogg/tmp-subs_pl.ogg input/subtitles/sintel_pl.srt
echo "********************"
echo "Starting 480 ogg"
echo "********************"
rm output/ogg/stream.yuv
mkfifo output/ogg/stream.yuv &&
mplayer mf://input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1152,scale=854:480 -vo yuv4mpeg:file=output/ogg/stream.yuv&
ffmpeg2theora --keyint 24 --framerate 24 -v 8 output/ogg/stream.yuv --title "$title" --artist "$author" --copyright "$copyright" --license "$license" -o output/ogg/tmp-480.ogv
oggz-merge output/ogg/tmp-480.ogv output/ogg/tmp-audio-st.ogg output/ogg/tmp-subs_en.ogg output/ogg/tmp-subs_de.ogg output/ogg/tmp-subs_es.ogg output/ogg/tmp-subs_fr.ogg output/ogg/tmp-subs_nl.ogg output/ogg/tmp-subs_pl.ogg -o output/ogg/sintel-480p.ogv
rm output/ogg/stream.yuv
echo "********************"
echo "Starting 720 ogg"
echo "********************"
rm output/ogg/stream.yuv
mkfifo output/ogg/stream.yuv &&
mplayer mf://input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1152,scale=1280:720 -vo yuv4mpeg:file=output/ogg/stream.yuv&
ffmpeg2theora --keyint 24 --framerate 24 -v 8 output/ogg/stream.yuv --title "$title" --artist "$author" --copyright "$copyright" --license "$license" -o output/ogg/tmp-720.ogv
oggz-merge output/ogg/tmp-720.ogv output/ogg/tmp-audio-st.ogg output/ogg/tmp-subs_en.ogg output/ogg/tmp-subs_de.ogg output/ogg/tmp-subs_es.ogg output/ogg/tmp-subs_fr.ogg output/ogg/tmp-subs_nl.ogg output/ogg/tmp-subs_pl.ogg -o output/ogg/sintel-720p.ogv
rm output/ogg/stream.yuv
echo "********************"
echo "Starting 1080 ogg"
echo "********************"
cd tmp
mplayer mf://../input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1080,crop=1920:1080 -vo png:z=3
cd ..
ffmpeg2theora --keyint 24 --framerate 24 -v 8 tmp/%08d.png --title "$title" --artist "$author" --copyright "$copyright" --license "$license" -o output/ogg/tmp-1080.ogv
oggz-merge output/ogg/tmp-1080.ogv output/ogg/tmp-audio-51.ogg output/ogg/tmp-subs_en.ogg output/ogg/tmp-subs_de.ogg output/ogg/tmp-subs_es.ogg output/ogg/tmp-subs_fr.ogg output/ogg/tmp-subs_nl.ogg output/ogg/tmp-subs_pl.ogg -o output/ogg/sintel-1080p.ogv
rm tmp/*.png
rm output/ogg/tmp*.*
echo "Ogg versions encoded"
H264/AAC Quicktimes:
title="Sintel"
author="Durian Open Movie Team"
year="2010"
copyright="(c) Copyright 2010 Blender Foundation, all rights reserved"
license="Creative Commons Attribution 3.0 license"
description="Sintel open movie project"
au_stereo="input/audio/sintel-master-st.wav"
au_surround="input/audio/sintel-master-51.mov"
echo "********************"
echo "Starting 480 quicktime"
echo "********************"
rm output/h264/stream.yuv
mkfifo output/h264/stream.yuv &&
mplayer mf://input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1152,scale=854:480 -vo yuv4mpeg:file=output/h264/stream.yuv&
ffmpeg -y -f yuv4mpegpipe -i output/h264/stream.yuv -i $au_stereo -acodec libfaac -ab 448k -ac 2 -vcodec libx264 -vpre slow -crf 22 -threads 8 -metadata title="$title" -metadata author="$author" -metadata year="$year" -metadata copyright="$copyright" -metadata license="$license" -metadata description="$description" output/h264/sintel-480p.mov
rm output/h264/stream.yuv
echo "********************"
echo "Starting 720 quicktime"
echo "********************"
rm output/h264/stream.yuv
mkfifo output/h264/stream.yuv &&
mplayer mf://input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1152,scale=1280:720 -vo yuv4mpeg:file=output/h264/stream.yuv&
ffmpeg -y -f yuv4mpegpipe -i output/h264/stream.yuv -i $au_surround -acodec copy -vcodec libx264 -vpre slow -crf 22 -threads 8 -metadata title="$title" -metadata author="$author" -metadata year="$year" -metadata copyright="$copyright" -metadata license="$license" -metadata description="$description" output/h264/sintel-720p.mov
rm output/h264/stream.yuv
echo "********************"
echo "Starting 1080 quicktime"
echo "********************"
cd tmp
mplayer mf://../input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1080,crop=1920:1080 -vo png:z=3
cd ..
ffmpeg -y -r 24 -i tmp/%08d.png -i $au_surround -acodec copy -vcodec libx264 -vpre slow -crf 22 -threads 8 -metadata title="$title" -metadata author="$author" -metadata year="$year" -metadata copyright="$copyright" -metadata license="$license" -metadata description="$description" output/h264/sintel-1080p.mov
rm tmp/*.png
echo "Quicktimes encoded"
DVD versions:
# NTSC version
mencoder mf://input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1152,scale=720:480 -oac lavc -ovc lavc -ss 0 -endpos 883 -mpegopts format=dvd:tsaf -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:aspect=16/9:vrc_maxrate=9800:vbitrate=4400:keyint=15:acodec=ac3:abitrate=192 -srate 48000 -ofps 30000/1001 -of mpeg -mc 0 -noskip -o "output/dvd/sintel-ntsc_noaudio.mp2"
echo "NTSC-DVD files encoded"
# PAL version
mencoder mf://input/png/*.png -mf w=2048:h=872:fps=24:type=png -sws 9 -vf expand=2048:1152,scale=720:576 -oac lavc -ovc lavc -ss 0 -endpos 883 -mpegopts format=dvd:tsaf -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:aspect=16/9:vrc_maxrate=9800:vbitrate=4400:keyint=15:acodec=ac3:abitrate=192 -srate 48000 -ofps 25/1 -of mpeg -mc 0 -noskip -o "output/dvd/sintel-pal_noaudio.mpeg2"
echo "PAL-DVD files encoded"
Please try to limit comments to those that are actually useful to this process.
Also, please do not ask us to send you the files to encode yourself. After the premiere, all can be released.
Cheers,
Beorn
September 18th, 2010 at 1:49 pm
i’m not familiar with encoding but the path and the parameters in th “oging” of the subtitles aren’t consistent.
both german and english are linked to “-l en”. the same for polish enad french.
a check is needed.
Good luck, we’re waiting for.
September 18th, 2010 at 1:53 pm
About the ogg audio: Ask Jan if he can provide you with uncompressed audio, since you’re re-encoding he lossy AAC audio to Ogg Vorbis now.
Do you also have a separate AC3 file for the PAL version? (due to PAL speedup)
September 18th, 2010 at 2:03 pm
@Xand: Nice pickup! Those subtitles were only added today, and I was a little sloppy with my cut and pasting. Fixed now.
@J: Jan’s opinion is that the ogg files shouldn’t get 5.1, as it seems to be too difficult and unreliable. Yes there is an AC3 file, but dvd audio is not my department (as I implied in the post)
September 18th, 2010 at 2:15 pm
@Beorn: The AC3 encode isn’t just for the DVD, it’s suitable for online release formats too. We’ve successfully made AVIs with AC3 tracks in the past, and Matroska should be able to encapsulate it as well.
September 18th, 2010 at 2:29 pm
Off-topic question for Jan: (sorry)
When the film gets released, will the uncompressed 5.1 audio also be available? (just like with ED and BBB)
September 18th, 2010 at 2:30 pm
Why don’t you use the new vp8/webm format?
http://www.webmproject.org/
You can use PiTiVi or Transmageddon to convert movie in vp8 format.
September 18th, 2010 at 2:37 pm
WebM would be nice as well. It would be especially suitable for YouTube, for example, but really web video in general π
September 18th, 2010 at 2:39 pm
but you have to use the developers version of Gstreamer
sudo add-apt-repository ppa:gstreamer-developers/ppa
September 18th, 2010 at 2:52 pm
@jan: Turns out we aren’t doing AVIs this time… just ogg video and H264 quicktimes. Based on what they did for the trailer, DivX are supplying mkv files. They will be getting the ac3 file to use.
Everyone else: I’m not really asking for suggestions about which formats to supply, (especially if it means doing heaps more research on the best settings etc. )
The delivery formats have been decided, and what we have is working, I was just hoping for help on the specific (nice to have) issues outlined in the post.
BTW, I tested the oggs and quicktimes and they work fine in both totem and vlc on linux, but vlc can’t read the subtitles. :\
…and the quicktimes work fine in quicktime player on a mac
September 18th, 2010 at 3:04 pm
Is there any reason youre letterboxing the video? And you are cropping the 1080p videos? Ok, you woudn’t have to bother with rescaling and thus loosing fine details, but loosing a part of the weights a little more then a little detail right?
My final hope is with the DivX guys then…
September 18th, 2010 at 3:13 pm
Mmmm, why cropping? In this way you loose 68 pixels horizontally, which is unacceptable IMHO.
Or do both I an Mathias misread the script?
September 18th, 2010 at 3:21 pm
webm is supported by the newest versions of ffmpeg,too.
September 18th, 2010 at 3:38 pm
please use DIRAC! the only trully FOSS codec at HD quality! http://www.diracvideo.org/
September 18th, 2010 at 3:43 pm
About the 1080p problem:
Can’t you downscale the the PNG’s to 1920 pixels wide by using the batch conversion of some kind program like The Gimp, Cinepaint or something like that?
September 18th, 2010 at 3:44 pm
I don’t really know much about encoding, but last time I used SUPER, an relative tool: http://www.erightsoft.com/SUPER.html
September 18th, 2010 at 3:53 pm
For the Ogg audio:
I suggest using oggenc, the reference encoder from the vorbis-tools package.
The latest version does handle more than 2 channels for certain.
oggenc -o audio.ogg audio.wav
That should do it, provided the wav file correctly describes the channels.
For the large ogg video sizes, you’re adding keyint 24, which means a keyframe per second – that seems a lot. Maybe try dropping this, and decreasing the quality (-v 8) a bit, it should help a lot. You might need to do some amount of testing with varying -v values till the quality/size ratio’s acceptable.
As for subtitles not playing, Linux distributions have been slow to compile in support for subtitles in ogg. I know the Windows version of VLC plays them fine.
September 18th, 2010 at 3:57 pm
For the Theora encodes, you might consider upping the keyframe interval. 24 frames means one second (obviously intentional), but you’ll get a smaller bitrate and final filesize if you increase that rate. The standard recommendation I’ve heard is an interval of 250.
Also, you should be using the libtheora 1.2/ptalarbvorm development encoder, SVN checkout is available here:
http://svn.xiph.org/experimental/derf/theora-ptalarbvorm/
Despite being “experimental” it’s quite stable and much, much higher quality than libtheora 1.1. You’ll get far better Ogg Theora videos as a result. If you install it and ffmpeg2theora is dynamically linked, just ldconfig and you’ll be using ptalarbvorm.
September 18th, 2010 at 3:59 pm
What no avi’s?? I have both ED and BBB in AVI, since it is the most widely supported across different players. (also can play in mp3 players :p)
But I am happy you guys are doing it in DivX π
Are you embedding the subtitles in?
Like if it is the English version, will u have English subtitles embedded? or are the subtitle files separate? Cuz i think most people prefer to watch without subtitles.
Well anyway, good luck with the encoding!!!
September 18th, 2010 at 3:59 pm
It may be better to drop Ogg Theora and use WebM (whch has basically ended the format wars for the most part). It is free, and of superior quality, and unlike DIRAC, both compact and agreed on by everyone (Microsoft included) except Apple.
Either way, i’ve posted this call for help on the #ffmpeg irc chnnel on FreeNode, the linux questions sub-Reddit, and on identi.ca
http://www.reddit.com/r/linux4noobs/comments/dfmk4/sintel_blenders_current_open_movie_project_needs/
http://identi.ca/notice/51113686
Good luck!
September 18th, 2010 at 4:02 pm
Additionally, ffmpeg2theora does do cropping/scaling, as well as can work directly from PNG images, so you might want to skip the crashy mplayer step.
See ffmpeg2theora –help for how to tell it to load an image per frame, eg:
Encode a series of images:
ffmpeg2theora frame%06d.png -o output.ogv
September 18th, 2010 at 4:07 pm
Why are you using mplayer at all? Just feed the pngs into ffmpeg and tell it to pad, resize, crop, whatever you want to do. Perhaps they’re not numbered, then you might need to use mplayer (or just rename them and drop it).
Also, what exactly is the problem with using 6 channel and libvorbis through ffmpeg? It works fine for me.
September 18th, 2010 at 4:22 pm
Webm format can be encoded using ffmpeg too π I’ve compiled my ffmpeg with webm support…
September 18th, 2010 at 4:32 pm
@Ogg help: Does the Ogg spec define a downmix behaviour when you play 5.1 content back on a stereo system? And is the channel tagging and/or ordering reliable, i.e. do VLC/MPlayer/Perian get the assignment right upon decoding?
I seem to remember those were the main issues when I last evaluated Ogg for multichannel delivery, but I admit that was 2 years ago and I haven’t looked into it since then.
September 18th, 2010 at 5:08 pm
jan,
Ogg will play as stereo if you provide 5.1 channels, with the first two channels being chosen. I cant say whether all players are reliable though.
Danny,
while WebM is the current & future direction, thereβre still plenty of systems that play Ogg Theora and not it.
Blender,
And the same goes with AVI, how come this is being dropped for .m4v and .divx?
Hate to suggest you do more work, but you should be makingβ¦
.avi for Windows,
.WebM for Internet,
.m4v for Apple/QT,
.ogv for Legacy Internet and Linux,
(and .divx from DivX peeps)
If you need computing time or more help, hereβs one person.
September 18th, 2010 at 5:08 pm
Re cropping/letterboxing: The 720p and 480p are scaled and letterboxed, but the 1080 version is pixel for pixel, but cropped at either side. This was Ton’s decision, and it will mean that the full HD version will have the best detail, even though we lose a little on the sides.
Re ffmpeg vs mplayer doing the scaling: to tell the truth I can’t remember why I didn’t use ffmpeg (or ffmpeg2theora), I remember having issues with it when back when I encoded the trailer. I agree it would simplify things. If anyone has some code snippets to do the crop/scale/letterboxing, they would be most welcome.
@James Darnley: the issue with 6 channel vorbis from ffmpeg was crackly audio. I don’t know enough to troubleshoot any further, but nothing I tried worked.
Thanks for your suggestions regarding the oggs. Indeed we are using all the bog standard Ubuntu packages for ogg. Perhaps grabbing the latest is worthwhile.
September 18th, 2010 at 5:15 pm
@John Drinkwater: any help would be welcome. I’m actually away from the institute for the next week, but feel free to contact Ton.
September 18th, 2010 at 5:26 pm
But why letterboxing? It reduces compressionability and gains you nothing. Just because BluRay and youtube do the same thing doesn’t mean its a good thing.
And cropping the 1080p… You gain detail in the picture, but you loose information on the sides. Imo a bad decision and no BD ist mastered that way.
On a sidenote: I offered Ton to connect you to professional encoders months ago. He said there is no need for that. Sad to see there is a need now…
What is the timeframe for this? Until when does this need to be finished?
September 18th, 2010 at 6:36 pm
Just a suggestion, could you include the stereo track on the 720p Quicktime as well? If it includes the surround track only, I think that will break compatibility with the iPhone 4/iPad/4G iPod Touch. The retina display deserves Sintel in HD. π
September 18th, 2010 at 7:11 pm
Hy,
In the french community, there’s a project that is becoming a must have for multiple encoding aspects. This project starts to be translated in english : http://ekd.tuxfamily.org/index.php/Accueil/AccueilEnglish
Basically, it has solved all the problems I’ve already had with encoding. Moreover, the dev-team is very efficient and always enjoy proposals that can improve their soft.
So if you’re interested in, just get it!
September 18th, 2010 at 7:19 pm
Why not get in touch with the xiph.org people? I am sure that they would help to make sure that you use all the best settings for vorbis/theora, and would know what the limitations are. The certainly would have a big interest in their products being in top form on a release like this.
Greg Maxwell from xiph even used BBB as a reference for a comparison between h264 and vorbis. http://people.xiph.org/~greg/video/ytcompare/comparison.html
http://www.xiph.org/contact/
September 18th, 2010 at 7:31 pm
I’m disappointed that the Duian team’s original vision of the project won’t be released in HD. Shot composition is an art and the idea that “taking a little of the sides” is the best solution to encoding the video seems to reject the aspect ratio originally chosen by the team for this short film. I’d rather have the full-frame preserved in the HD version and see the film as it was intended to be seen (even if that means the horizontal resolution is lower) than see it altered.
With that said, will all the necessary files to re-encode Sintel (without re-rendering it) be included on the DVD so fans can see the movie as it was originally meant to be seen?
September 18th, 2010 at 7:59 pm
DwarvenFury: I still hope the DivX guys don’t have the stupid obligation to create letterboxed or cropped versions. The original video files won’t be on the DVD, as they are 10s of GBs big, so unless DivX saves the day there will only be mediocre versions on the DVD. Lets just hope the community will find the time to re-render the film at 1080p and encode it like it was supposed to be.
I also wonder what Colin says to cropping his composition…
September 18th, 2010 at 8:20 pm
@beorn: It sounds like you need to update ffmpeg. _I_ fixed that particular bug a couple of months back.
September 18th, 2010 at 8:21 pm
*crosses fingers hoping for a good DivX version*
Mathias: You’re right, I forgot about the size of all those uncompressed source files. I wonder if one of the Main Sponsors could be persuaded to share or torrent the uncompressed frames and audio they receive so the community can re-encode without a community re-rendering project…
September 18th, 2010 at 8:43 pm
AFAIK the uncompressed files will be shared via web, but they will not be on the DVDs.
September 18th, 2010 at 8:56 pm
Also, do you use 448k bitrate for 2ch audio and 128k for 6ch?
September 18th, 2010 at 8:57 pm
@John Drinkwater: “Ogg will play as stereo if you provide 5.1 channels, with the first two channels being chosen.”
Yeah, that’s the behaviour I’ve seen back in the BBB days. This renders the 5.1 mix unuseable on stereo systems. No good.
@JtheNinja: QuickTime mixes a 5.1 stream down to stereo if needed, I’d be very surprised if the iPad/iPhone doesn’t.
September 18th, 2010 at 9:00 pm
You *should* be able to do everything with ffmpeg, as it can take an image sequence as input, and it has filters for cropping, padding, and scaling. For example, 1080p H.264 surround:
ffmpeg -y -r 24 -i input/png/%08d.png -alang eng -i $au_surround -slang eng -i input/subtitles/sintel_en.srt -slang deu -i input/subtitles/sintel_de.srt (etc.) -acodec copy -vcodec libx264 -vpre slow -crf 22 -threads 0 -vf pad=1920:1080:64:104 -metadata title=”$title” -metadata author=”$author” -metadata year=”$year” -metadata copyright=”$copyright” -metadata license=”$license” -metadata description=”$description” output/h264/sintel-1080p.mov
720p H.264:
ffmpeg -y -r 24 -i input/png/%08d.png -alang eng -i $au_surround -slang eng -i input/subtitles/sintel_en.srt -slang deu -i input/subtitles/sintel_de.srt (etc.) -acodec copy -vcodec libx264 -vpre slow -crf 22 -threads 0 -vf scale=-1:720 -vf crop=135:0:1280:720 -metadata title=”$title” -metadata author=”$author” -metadata year=”$year” -metadata copyright=”$copyright” -metadata license=”$license” -metadata description=”$description” output/h264/sintel-720p.mov
720p Ogg Vorbis Theora:
ffmpeg -y -r 24 -i input/png/%08d.png -alang eng -i $au_surround -slang eng -i input/subtitles/sintel_en.srt -slang deu -i input/subtitles/sintel_de.srt (etc.) -acodec libvorbis -vcodec libtheora -threads 0 -vf scale=-1:720 -vf crop=135:0:1280:720 -metadata title=”$title” -metadata author=”$author” -metadata year=”$year” -metadata copyright=”$copyright” -metadata license=”$license” -metadata description=”$description” output/h264/sintel-720p.mov
Of course you’ll have to fiddle with the cropping rects and video and audio quality settings.
September 18th, 2010 at 9:01 pm
I think you’re right. I just checked Elephants Dream and they have the PNG sequences up for download along with the uncompressed audio files.
September 18th, 2010 at 9:06 pm
DwarvenFury and Mathias:
If they stick with the availability of the studio backups as they did with BBB, we will have access to all the images without having to render them again.
I’m off to go watch BBB again!
September 18th, 2010 at 10:10 pm
Hi,
Like Florian Thomas was saying, the EKD project can help you and not only for transcode your videos. It provide too the possibility to tag your video like you are doing with your script. It is same the only graphical application in the Linux world who can do that. And if you want to use the DNxHD format, you can too but all this features are in the development version.
And you could use the WebM format (like suggest Danny P.) instead of the Ogg format, they are the both free.
Happy to see that all your work is finished and i become impatient to see/to have Simtel.
September 18th, 2010 at 10:52 pm
To all those complaining about the cropping and resizing; last I checked, they release all the uncompressed PNGs with the sound files. There will be MANY versions of this film, hence it being open-source. Sitting here complaining about the official formats that are being encoded is futile and useless to the community. I’m sure there will be many full sized un-cropped versions of the film, so relax. Secondly, keep in mind, they are working on Linux. While there are many encoders out there, not all of them allow for the customization they are looking for, or the compatibility, and if it’s on windows, it’s probably a waste of time.
September 18th, 2010 at 11:14 pm
Michael: To characterize it as “complaining” is unfair, in my opinion. I don’t think it’s out of the question to expect Sintel to be released it in its original aspect ratio. I pre-ordered the DVD and I feel I have the right to express my opinion about the official format of its release since I sponsored the project and it is after all an “open project.”
September 18th, 2010 at 11:26 pm
Well, I understand Ton’s nightmares by the word rescaling, but IMHO you don’t notice it when done properly.
Composition is more important than a few perfect extra detail, is it?
September 18th, 2010 at 11:28 pm
I mean ”’few percent of extra detail”
September 18th, 2010 at 11:37 pm
If you using 64bit linux. try 32bit.
ffmpeg and mplayer have some issues on 64 bit linux.
tedious tiny bugs lurking. these have been bothering me even at a easy task like converting mp3 files.
September 19th, 2010 at 12:08 am
Imo its just a pity to see how much energy they put in the picture and how few they put into the compression. Sure I can encode it myself, I was just hoping to not have to. I preordered the DVDs knowing how bad they did with BBB. Thats why I offered help months ago but I was told “don’t worry, BBB won’t be repeated, we have all worked out”.
Another note: If ffmpeg x264 presets are anything like the official presets it uses 5 ref frames for the preset “slow”. With 1920×1080 this is exceeding level 4.1 restrictions. I’m not sure what the QT version is targeted at anyways, but this might break compatibility with some hardware decoders. (If you wouldn’t crop but rescale the 2k version, this wouldn’t be a problem btw…)
September 19th, 2010 at 12:22 am
Good suggestion, don’t use 5 ref. frames!
Btw, I don’t worry as long as I can get the original PNG’s, as I’m gonna make BDMV version to play on my BD player. (and friend of mine helped me making an AviSynth script for that. π )
I wish Beorn all luck, it’s not the most exciting thing to do.
September 19th, 2010 at 12:33 am
” … and to encode the video for the dvds (NTSC and PAL versions) …”
What framerate is the animation in? 24 or 23.976?
For NTSC you might want to scale that to 28 frames in a second and for PAL you might want to put 25 png’s in a second ( speeding up the sound with 4% ).
PAL players need MP2 sound ( MPEG-1 Audio Layer II ) and NTSC players have AC3 in their specs if using compressed audio. But you can use wave. Just keep in mind that the whole bitrate for video, audio and subtitles is 9.8 Mbit/s max. ( so if your audio is taking 0.8 Mbit/s you have 9 left for video mpeg2 and none for subtitles. )
September 19th, 2010 at 12:37 am
@Michael Hartsell:
Weird.
I’d say blender is perfect to scale the 2k down to a letterboxed 1080p.
If not… well then it’s about time it does! ’cause I know photoshop can.
September 19th, 2010 at 12:39 am
In case this helps, there are compiled ffmpeg2theora versions using the ptalarbvorm branch of libtheora (which, as mentioned earlier by Basil, is a lot better at encoding quality):
http://firefogg.org/nightly/
September 19th, 2010 at 12:43 am
@joeri67:
Both the PAL and NTSC versions get an AC3 5.1 track.
The method to convert the framerate for NTSC is just 3:2 pulldown.
September 19th, 2010 at 12:58 am
@J. After that demo “BD on DVD” showed up, thats what I expected to ship too. A Version playable by BD players. But Ton wasn’t interested…
@joeri 28 frames per second? Since when is that an NTSC framerate? 23.976 (with 3:2 pulldown) and 29.97 are NTSC framerates. And I doubt there are many PAL players out in the wild, that cannot play AC-3 audio. There are many DVDs that only contain AC-3 audio.
September 19th, 2010 at 1:02 am
Sorry for OT, but it is extremely sad that the state of free-format usability seems hardly better than it was 5 years ago when I had to evaluate this for Elephants Dream.
Exporting an H.264 from Quicktime is a matter of opening the image sequence, and then doing File->Export. With all of the talk here it seems that free formats still require command-line hacking and arcane knowledge of obscure options. Is it really any surprise that more content producers (i.e. artists, not compression engineers) are not using these free formats for delivery? I’d love to see some of these other formats take off, but it’s not going to happen at this rate.
September 19th, 2010 at 1:11 am
Correction: Almost every DVD. (Dolby Digital is supported by all DVD players)
And about Ton:
I mailed extensively with Ton, and he didn’t exclude that, but there’s so much other data to put on the two data DVDs, that it’s more wise to just offer an ISO as download. (and that has also the advantage that you can fix things when needed)
I met Ton twice in real live, so he knows that I’m more than a nickname. π
Btw, offering services is very kind, but it’s too risky, one can think: Aaaaaaaaahhh, I got the files, let’s put them on the web, which means: non-compliance of the agreement with the Netherlands Film Festival and everyone upset. π
September 19th, 2010 at 1:18 am
“But Ton wasnβt interested⦔
I can see why.
September 19th, 2010 at 1:23 am
” then doing File->Export. ”
I would say that for adding subs to qt. But QTX has changed life a lot.
You’ll need a QT7.6pro and the Perian extension to save srt into the qt file.
The again, VLC works fine with a mov and a manual added srt.
So I don’t see the fuzz. And the movie is easy to understand without the “dialog”.
September 19th, 2010 at 1:37 am
In VLC you can perfectly play MKV files with SRT subs, so just download the DivX version and you’re fine. π (as long as they keep the OAR)
September 19th, 2010 at 2:12 am
There wouldn’t have been the need to send the files, like now knowledge can be transfered in text form… But I get your concern.
And joeri, I know what you mean, because I probably sound pretty bitchy. But Imo I was reasonable and nice the first 2 emails.
September 19th, 2010 at 3:23 am
I also vote for Compositing over Extra Detail!!! π
September 19th, 2010 at 4:55 am
Seeing the comments section already half-degenerating into non-helpful posts, I also wish to strongly express:
Losing the sides of the frames is way worse than having to resize. It’s completely missing the forest for the trees.
But it’s okay as long as the DivX guys will be doing what they did with the trailer, I guess.
September 19th, 2010 at 6:41 am
Exporting is as easy as going into QuickTime7 Pro, File>Open Sequence, and exporting it into various formats at whatever sizes.
Regarding letterboxing, just forget about it: it’ll ruin the whole composition that is a key part of a good movie!
September 19th, 2010 at 8:14 am
See, this is the one thing that bothers me about open movie projects– they focus on blender, rightly, but then ignore ALL the other infrastructure they need to actually produce a product.
As you can see, the transcoding situation right now sucks horribly. You could have had an ffmpeg developer working with the blender team on this months ago and have a GUI with three buttons on it that does like 7 different formats for you on your render farm.
Blender is awesome. Now what about GIMP, Inkscape, transcoding software, etc? you use them, they affect your workflow. Now they’re holding you back π
September 19th, 2010 at 12:23 pm
Beorn, if you want some decent advice with a lot less noise then try the guys over at http://forum.doom9.org and you should get some solid suggestions.
September 19th, 2010 at 1:20 pm
Pro’s and Con’s with Letterboxing:
Con’s:
-the extra encoding needed for the black bars (esp. the sharp Border) means increasing filesize or decreasing quality for NOTHING.
-16:9 TVs and Monitors become more and more common, people will have to handle the additional vertical black bars that are needed to be able to show the stupid horizontal black bars.
Pro’s:
– Hmm… pro’s? does anybody have any idea?
September 19th, 2010 at 1:30 pm
Beorn,
As one of the many that pre-ordered the DVD, I have to agree with a lot of the comments, that cropping the image (for the HD-versions) is a bad decision. On a 100 cm wide flat-screen tv you loose 6.25 cm of the picture-width. And over 6% is a huge part of the picture (just visualize this f.i. with your fingers and you’ll see just how much this is).
Imho, loosing this much of the picture want do justice to Sintel or those that pre-ordered the DVD.
Although resizing will loose some detail, the amount of detail that is lost is not nearly as much as with cropping the image and for most people, if not all, indistinguishable from the original. There are many very good resize-algorithms available.
So I would strongly urge you and Ton to reconsider the decision to crop the image on the HD-versions.
Btw. The dimensions of 2048:872 resize almost perfectly to 1920:816 (no change in the aspect ratio of 2.35:1).
Good luck
September 19th, 2010 at 1:45 pm
Beorn,
On the matter of letter-boxing.
For the 1080, 720 and 480 versions there’s absolutely no reason to use letter-boxing. These will be played on the computer or by dedicated media-players, that are perfectly capable of adding black horizontal bars when needed.
1080p should be scaled to 1920:816, 720p should be scaled to 1280:544 and 480p should be scaled to 960:408. They all give the original aspect-ration of 2.35:1.
To recapp, letter-boxing NOT needed.
Hope this helps.
September 19th, 2010 at 2:13 pm
I was actually surprised by the good advice this thread has yielded. I will be in contact from the people from ffmpeg and ogg (and have already got a lot of advice from the doom9 forum – thanks Yellow!), probably when I get back next week.
Regarding the 1080 cropping, this is why for the trailer I opted to scale down to fit the whole image into a 1080 frame (as many here have suggested). Ton, however, decided to preserve resolution rather than aspect for the final 1080p encode. Not my decision, although I understand his reasoning.
I take the point about letterboxing being inefficient and unnecessary when encoding. I actually did plead the non letterbox case to Ton and Campbell back when I was encoding the trailer. It was an argument I lost. The idea is to deliver in standard HD formats, plus a 480 version for those with low bandwidth. Having these formats also makes it easier to deliver to youtube.
I have spent many voluntary hours on this. There’s a lot of trial and error involved here, and many many different ways to do things. As I said, it is a thankless task.
In the end (after the premiere), I believe the 2k PNGs will be made available online, so you can encode whatever resolution/codec/wrapper you like. You can even print out a 21312 page flipbook if you want.
I’m away for the next week and will tackle it again just before the premiere.
September 19th, 2010 at 2:51 pm
About the third alinea:
I can understand that argument, but when you use to much ref. frames, it can cause problemes, so what’s ”standard”? π
But even while Ton and Campbell want something different, why not give the people what they want?
Nobody here in the comments likes the idea of cropping, so it’s becomming ”Ton vs. The rest”, which is a pity in such a project.
You’ve spend more than a year to get beautiful animation in the 2:35:1 frame, so it’s a pity to think: ”but I like 1:1 pixel mapping more”. And you’re losing detail anyway, even when you use an uber-high bitrate, since AVC uses YUV (subsampling), while the original PNGs are RGB.
Delivery formats are always less than the original, but little technical issues will barely be noticed, while actually alternating the creative product only because you want 1:1 pixel mapping isn’t the right way to go.
Celebrate the creative, not the pixels. π
September 19th, 2010 at 3:13 pm
WTF? Ton wants to deliberately cripple (crop) Sintel in 1080p? Has he lost his mind?
Second decision I don’t favor: Letterboxing
Third bad decision: Ogg (there is the superior format Matroska).
Seems like this time I need to wait for volunteers to create non-cropped and non-letterboxed encodings *argh* (or do it myself)
This is just sad π
September 19th, 2010 at 3:21 pm
I think DivX will please you! (their version of the trailer wasn’t letterboxed)
September 19th, 2010 at 3:35 pm
Also, DivX supplied matroska (which is a wrapper, not a codec).
September 19th, 2010 at 3:53 pm
Yeah, DivX supplies Matroska (when someone uses format in conjunction with digial video it can mean many things, in this case it refered to container format).
But the question is: Are they allowed to scale or do they have to crop poor Sintel?
September 19th, 2010 at 3:59 pm
Sorry, but Ton has no idea about video encoding (he said so himself) yet he decides what is done. Thats a sad thing. Well the 1:1 pixel mapping is something you can decide without knowing video encoding stuff, but its still a bad decision imo.
Imo you should have asked yourself (or the community) why you want all those version.
DVD is a given, no questions asked.
Mkv/h264 is a given, because that is used for most quality files (especially by people who know their stuff).
Ogg for the free software guys… ok. But since they want an inferior codec, I’d have no problems giving them inferior quality. If there is to few space on the DVDs to fit a quality 1080p, then skip it.
Quicktime? Who uses that anymore? While technically nearly the same, MP4 is more compatible imo. With this and especially the lower resolution, I’d target mobile devices. Make the 720p playable on high end Android/Iphones and the 480p playable on older phones. Also make sure, all the MP4s can be streamed with flash players like jwplayer.
That covers all use cases I can think of. (But others might disagree). So while your targets are not that badly chosen, they could use some refinement, especially in the encoding settings.
Thiss beron, thanks for doing this. I know encoding can be a frustrating job. Especially doing it on a short timeframe can be annoying, because it simply takes time to do. Please convince Ton to listen to the community.
September 19th, 2010 at 4:07 pm
Ok how about for the 1080p you do BOTH the letterbox and the crop versions, that way everyone is happy cuz they can watch which ever version they like better, and that even gives us a chance to compare between them.
September 19th, 2010 at 4:15 pm
As long as DivX doesn’t crop, you get both! π
But I agree with you, everyone should do the thing they’re skilled in.
A filmmaker needs people who he/she can trust.
September 19th, 2010 at 5:20 pm
@Mathias: I’ve always been a little confused by the difference between the .mp4 and .mov wrappers. Why is .mp4 more compatible? This is something I can change fairly easily.
September 19th, 2010 at 5:25 pm
I personally use both mencoder and ffmpeg to encode and/or transcode videos.
I’d recommend compiling first a single uncompressed video file (.avi or something with the 5.1 audio, which will be a HUGE file), and then just transcode it with your favorite tool into whatever compressed formats you prefer. ffmpeg and mencoder both ought to be able to merge 5.1 audio into simple stereo without too much trouble.
Just my $0.02 worth of opinion here.
Also, @Mathias – Quicktime may not be MP4, but both MP4 and QT are just encapsulation codecs! The actual video compression can be h263/264 on both! And audio can be AAC, MP3, old mpeg, wav or even vorbis! In many cases I’ve had more luck with QT files on proprietary systems (like Windows with VLC or OSX QT player!) by using the h264/aac combo, rather than using MP4, which while technically supported, seems to have issues with “standard” video players.
September 19th, 2010 at 5:29 pm
Matthias, no need for contempt, please.
“since they want an inferior codec, Iβd have no problems giving them inferior quality.” sounds nasty. You may not agree with the reasons some have for chosing Theora over H.264, but you will have your H.264 version all the same, don’t ruin it for others on the pretense you won’t be affected personally.
September 19th, 2010 at 5:52 pm
There may be some reasons to choose Theora over H.264 but there are no reasons to choose Theora over VP8. Probably, most free software guys will have to encode WebM version themselves.
September 19th, 2010 at 5:55 pm
@Beorn:
I would use you MP4. (if I download an Apple MOV trailer, PowerDVD doesn’t play it, but when I change the extension to MP4, BAM, plays perfectly!
September 19th, 2010 at 5:59 pm
Sorry for the typos, I write too fast…
September 19th, 2010 at 5:59 pm
Hi Beorn.
You say you can’t add 5.1 audio to the Ogg versions in anything but flac, but you don’t say what didn’t work. You couldn’t encode to surround vorbis with your ffmpeg build? oggz-merge didn’t like the 5.1 vorbis? The result wouldn’t play in your verification players?
I would second the suggestion to use oggenc, rather than ffmpeg, for encoding the vorbis audio. You need libvorbis 1.3.1 and vorbis-tools 1.4.0 or later for proper surround support. You could also try dumping the surround track to pcm wav with ffmpeg and then encoding that as part of the ffmpeg2theora run.
I notice your script is requesting an audio bitrate of 448 for the stereo vorbis track, which is too much (128 is generally fine, or -q 3 in oggenc), and 128 for the 5.1 flac, which is way, way too little.
The theora video is probably huge because of the ‘-v 8’ which is asking for very high constant quality. I’d also suggest using the nightly ffmpeg2theora-ptalarbvorm built against the 1.2 pre-release branch of libtheora, again from http://firefogg.org/nightly/. With that version try something like ‘–two-pass –soft-target -V 3000 -v 3’ for the 480 release, and up the target bitrate in the -V option for the larger resolutions, or if the quality is insufficient. Using whatever x264 picks for a bitrate is a reasonable starting point.
The copyright tag also doesn’t match the attribution string given on the durian website (“(c) copyright Blender Foundation | durian.blender.org”).
If you have more questions about the Ogg encoding, you might try asking in #theora on irc; lots of folks with expertise there.
September 19th, 2010 at 6:04 pm
The –two-pass and –soft-target options for ffmpeg2theora are gnu-style double-hyphen long options. I think the comment filter stripped the second hyphens.
September 19th, 2010 at 6:20 pm
@Ralph Giles: Good advice. Thanks a lot. Indeed I have been using the standard ubuntu 10.04 build of vorbis-tools, and will definitely have to get a more recent build.
As I said earlier, I’ll be back on to this in a week or so, at which time I’ll be contacting ffmpeg (and x264) and theora experts for further help.
September 19th, 2010 at 6:29 pm
Will this not delay the online release?
September 19th, 2010 at 7:48 pm
Hi all,
Here’s why I think cropping from 2048 to 1920 will give better pictures:
http://download.blender.org/durian/t_2048.png
http://download.blender.org/durian/t_1920.png
The 2nd was scaled down using a basic cubic filter. Subtle details get lost, check eyelashes for example. Also the textures get less crisp. Scaling down from 100 to 93% is almost as bad as viewing the 720p instead of 1080p version. Such minor scaling always yields in blurred images. Even the best magic image filtering can never bring back the original high quality sampled 3d graphics.
I think that most people will watch the HD version on regular HD screens, in full screen mode, playing a 2048 wide version then will make the player scale it down. Or, if you disable that you’ll miss the sides anyway.
So what you want, miss 3% on both sides or get a more blurred result?
September 19th, 2010 at 7:54 pm
I do like the constructive help shown on this website, even if there are some rather abnoxious doom and gloomers.
Ton you and the team should be on weekend break like the rest of us….
regards
TFS
September 19th, 2010 at 8:01 pm
” So what you want, miss 3% on both sides or get a more blurred result? ”
My personal (and thus subjective) opinion:
A more blurred result, hands down.
Looking at these two images, the differences are hard to spot, and definitely not something you see when you start comparing the images by switching tabs in FF. Then, when I see the differences, they’re really minute. If you stand at a distance where you see the whole picture, as you’d do if you were watching the movie, you don’t really see the differences.
And, of course, the movie’s animated, which just removes any possibility of it making a difference (I assume you gave an example where the differences are well visible).
Seriously, I acknowledge that, as one of the people having worked on this, you want the detail to be best possible, but only pedants watching the movie with their face stuck to the screen will moan about the slight blur.
September 19th, 2010 at 8:06 pm
Also, forgive my ignorance, but, if you want to have a 1920 wide movie, why not render it from Blender to images 1920 wide in the first place ?
September 19th, 2010 at 8:24 pm
@Ton and Not much blurry:
I can see difference, but mostly in Sintel’s glove and the bloody cloth in her hand, while there isn’t much difference in the faces of Sintel and Scales, which is what you focus on when emotionally attracted by the story.
September 19th, 2010 at 8:25 pm
Well, we wanted a 1920 wide movie, but rendered it out wider to 2048 for 35 mm film. That’s a decision that now backfires to us… π Most shots really survive perfect for 1920, also for playback and render review we used 1920 wide screens. I do admit that on celluloid it’s fabulous, the width works great.
September 19th, 2010 at 8:31 pm
Btw, I completely understand Ton, but if you really want to see all the detail, you better watch screenshots than shots of a few seconds in a narrative.
So it’s a compromise between being very focussed on technical things and keeping your product of art in mind.
September 19th, 2010 at 8:34 pm
@Ton:
On celluloid you even lose more detail. π
And that’s the whole point, you and me really like 35mm film, while it’s everything but perfect.
It’s about the experience when watching a movie, not about the sampling of some textures.
September 19th, 2010 at 8:39 pm
What about re-rendering those few shots that don’t survive rescaling very well?
September 19th, 2010 at 8:41 pm
I meant that the width looked fabulous, the film detail was so-so OK. π
BTW: This discussion is not new, also film makers have this topic.
http://www.reduser.net/forum/archive/index.php/t-6652.html
September 19th, 2010 at 8:46 pm
Ton,
To begin, you used a simple cubic filter. There are other resize-filters that preserve more detail and sharpness (f.i. lanczos3). Even when using the lesser bicubic filter the difference in sharpness is going to be hard to see on a moving animated sequence, (if at all), from the distances most people view their HD-display.
By cropping the image you miss out on a lot more detail than in the case of scaling the image. When scaling you still have all the information, be it slightly less sharp, but if you crop the image we loose all of that information completely. Information, that might benefit the story as a whole.
That’s my point of view.
September 19th, 2010 at 8:50 pm
I’ve tried the Lancos filter in Irfanview, and compared it to Ton’s cubic image, but I cannot tell them apart in a blind test.
September 19th, 2010 at 9:03 pm
I’ve downscaled the 4K poster of this shot to 1920 and it’s better than a downscale from the 2K version.
September 19th, 2010 at 9:10 pm
I understand that Beorn is putting a lot of work into this and it’s greatly appreciated. I’m not trying to knock the people who are doing the work, but simply want the decision to crop Sintel to be re-evaluated based on the overwhelming response the community has provided on the subject in this thread.
IMO, the detail loss with the rescaling is perfectly acceptable. The image is slightly softer, but that actually helps with the aliasing visible on Sintel’s hair.
September 19th, 2010 at 9:15 pm
@kadargo: fwiw, in the scripts all the scaling is being done using lanczos.
September 19th, 2010 at 9:16 pm
And makes it more ”cinematic” π
The only way to see all the detail is watching the screenshots, in motion with YUV and low-bitrate AVC you lose detail anyway.
September 19th, 2010 at 9:18 pm
Just to mention from my own experiences…
I agree that downscaling implies a detail loss, but also an animation shows less details than a static image. In my opinion there should practically no difference between the cropped and the scaled animations, and you also have to remember that nearly all video codecs are lossy, which means that all the details you are talking about are – lets say – blurred out, because they will be considered as insignificant like the mp3 codec does this with not-hearable frequencies.
Though at some point with the bitrate you will see the difference, but I still don’t think that anyone will see the difference.
September 19th, 2010 at 9:22 pm
For me this is really a no-brainer, yes eyelash detail is a good example, but the difference in detail on especially the gloves (and hair) is so much more apparent. To lose this much detail on the whole picture for a slightly wider view is not justifiable for me.
3% is a bit difficult to visualize so I uploaded the pic with 3% borders:
http://img530.imageshack.us/img530/2443/t204864pixelborders2.png
September 19th, 2010 at 9:28 pm
So let’s check a few versions:
2k:
http://download.blender.org/durian/t_2048.png
2k -> 1920p cubic:
http://download.blender.org/durian/t_1920.png
2k -> 1920p lanczos3:
http://www.raubkopictures.de/files/t_1920lanc.png
4k -> 1920p lanczos3:
http://www.raubkopictures.de/files/t_1920lanc.4k.png
I consider a scaling from 4k to 1920p the best solution.
September 19th, 2010 at 9:29 pm
No, thanks!:P
September 19th, 2010 at 9:35 pm
2048 to 1920 scaled with Sinc(Lanczos3) in Gimp:
http://img715.imageshack.us/img715/8733/t2048scaledto1920withsi.png
It does look slightly better than cubic (check the gloves and hair), but not quite there yet for me… Hehe hope I’m not starting something here π
September 19th, 2010 at 9:47 pm
s0ndeb0k: The black bars are considerably big π
I ran a few tests with 2k -> 1920p and 4k -> 1920p and the latter is the best solution imho…
September 19th, 2010 at 10:09 pm
The best solution would be to rerender at 1920×816 or scale down from a 4k version. But I guess both is out of the possible before the premiere.
I made two versions of the screenshot. One with cropping and one with lanczos resizing, pushed them through x264 (qp22) and back to png. Here are the results:
http://img405.imageshack.us/img405/962/resizeu.png
http://img148.imageshack.us/img148/6/cropj.png
The artifacts cause by cubic resize by Ton are of course gone. (Visible on the Hand) But still there is still detail loss.
I still don’t think that many will notice it, because no BluRay is that sharp. If you (Ton) want to provide a better picture quality and better experience then commercial BluRays, there is no other way then to rerender the files. (And get rid of the aliasing in the process.)
If the picture quality of normal (good mastered) BluRays is enough for you, then I’d just resize the picture.
September 19th, 2010 at 10:19 pm
That’s very convincing, I think! (thanks for your work, btw)
September 19th, 2010 at 10:23 pm
I just realized, x264 did a mediocre job on the background of those pictures… Well I only had one frame and its a bit useless to tune settings based on one frame and just for one frame. The detail on the rest shouldn’t be much affected, because thats where the bitrate goes and no deblocking and similar stuff happens anyways.
(I’m just posting this before someone asks…)
September 19th, 2010 at 10:36 pm
Here is a test I did. 1920p downsampled from 2K using lanczos3 done in Gimp:
http://www.raubkopictures.de/files/t_1920lanc.png
And here is downsampled version from the 4k files releases a while ago. While the details are preserved best, you must be warned, though. The shot has not been graded yet so the colors don’t match:
http://www.raubkopictures.de/files/t_1920lanc.4k.png
I consider a scaling from 4k to 1920p the best solution.
September 19th, 2010 at 10:41 pm
Ton, once ago I’ve read that story that on a siggraph you asked the Pixar people how they handled AA issues, and their answer was: ‘we render the frames in double resolution, then scale it down’.
Rescaling by such a small factor really produces unsharpness, but you HAVE 4k resolution frames. Resacaling them to 2048 OR 1920 will give you very nice results, about the quality of original 2k renders.
Please consider comparing the following:
– a downscale of the mentioned Frame to 2048
– a downscale of the mentioned Frame to 1920
– the original render at 2048
– the downscale of the 2048 to 1920
(use lanczos for scaling)
The downscale 2048 -> 1920 will be the worst.
The others should be of almost same quality.
I tried this with the 4k images from the Sintel-Posters-zip, but the image has evolved since then, its not really the same anymore. But it gives very good results for me. Try this with your own .png files.
September 19th, 2010 at 10:48 pm
Ups, others where faster and mentioned the same.
September 19th, 2010 at 10:56 pm
But the movie isn’t yet fully rendered in 4K.
September 19th, 2010 at 11:10 pm
Hmm, I don’t really want to step into this discussion, but…
it would be interesting if the Blender institute could do a quick rerender of just these frames people are experimenting with to the target resolutions so you can compare what the encoding/cropping/whatever should target at for pixel-quality when rescaled. Or maybe a few seconds sample of that scene in all relevant resolutions.
I suppose rerendering the whole movie is out of the question now… but a 4k / 3d version is going to be done later? That farm should fly trough 1920:816 right? maybe some last minute render house donations π ?
It will be awesome no matter what!!!
don’t get lost in technical stuff, but let the technical side support the artistic one the best, be it rescaling / cropping / letterboxing / rerendering…
September 19th, 2010 at 11:43 pm
@Scott To be honest, I fail to see any difference at all in detail. If I try to forget the colour difference, the detail on her hand are the same if you scaled from 4k or from 2k…
I agree, we need a rerender of this screenshot in 4k and 1080p to make a proper comparison.
September 19th, 2010 at 11:56 pm
hmm, it seems for the web, 1280 x 544 is most used, search vimeo for 2:35:1. maybe render that?
hmm, not easy all this delivery format / encoding stuff… and we’re not even talking about mobile delivery yet…
September 20th, 2010 at 12:25 am
@beorn I forgot to answer the q about Mov/MP4. Mov was a container years ago. Then they implemented h264/aac in Mov and suggested that as a standard. It got accepted but renamed to mp4. Today .mov and .mp4 are basically the same. Mov can contain more (older) codecs then Mp4, thus mp4 is “more compatible” because it means h264/AAC. I think the .mp4 extension is much more common today. Every h264/flash streaming service uses the mp4 extension, phones know what an mp4 is, the psp does, hardware players do… I don’t even think apple uses mov anymore (but I don’t really know much about apple). Its more a cosmetic thing, but why have an obsolete extension, when you can use the one used today?
(Does anyone here know of a device that understands h264 in mov but not in MP4?)
And for mobile compatibility I’d limit the h264 720p (and lower) encode to main profile.
September 20th, 2010 at 1:00 am
Andrius, one good reason why OGV can be preferred over WebM is, because WebM is too new, and many GNU/Linux distributions don’t come with WebM encoding.
September 20th, 2010 at 1:01 am
I meant WebM decoding.
September 20th, 2010 at 1:15 am
Hi,
I really want to help Beorn, but unfortunately I don’t know nothing about this stuff. I think you guys should not discuss settings and formats, but try to fix the script.
Thanks to s0ndeb0k. As you can see, there is a difference between scaling and cropping. And if I can see this on my little notebook-screen, what does it do on larger displays?
In fact, on the sides of movies there is never happening anything important. All action focusses on the middle. So you won’t notice the cropping.
I don’t know how long the process takes, but if not to long, you maybe could deliver a cropped and a unchanged version of the movies. The unchanged for the people with the displays who can handle this, and the cropped for the people with the stupid hardware.
September 20th, 2010 at 1:24 am
Hey guys, i currently have an all Mac – Finalcut/Motion/DVD Studio Pro based Editing facility, and we can take those 2k pngΒ΄s secuence, crop them and export them to h264. Our workflow is always h264 oriented. We can also encode the video to DVD. We are already testing the use the srt files in our DVD software Hope we can help…
September 20th, 2010 at 2:49 am
Id go for the crop. And where the composition is in danger make a new one. As far as i can remember the movie there will only be a few composition problems when cropping. Its not a spaghetti western or a polanski nor kubric. Its probably better to chooce for the technical quality over the creative one on this issue. It also leaves room for people to encode their own versions from the png sequences.
Ofcourse nobody will mis the details like eye lashes if they havent seen them in the first place. And i’m not at all impressed what they add to the story telling.
Also: 3:2 pulldown is a bad idea for a dvd that for 80% will be played on progressive pc’s. Maybe there is time to do the progressive friendly version although that might be more jerky. Then again, who will playback the dbd video? The downloads will probably be available way sooner, and the discs will be full of HD versions.
Mov, mp4, m4v, qt
mov is mostly used on video editing. Mp4 for web. M4v for apple devices like itouch and apple tv. Most often reason for not playback is the “strict” setting of the display size. I’ve only seen handbrake handle that correctly. Thats opensource, so you might want to look into that. I think it can mux subtitles but im not sure if it muxes or renders.
September 20th, 2010 at 3:28 am
For NTSC there is the only alternative to 3:2 pulldown is rerendering the film at 29.97 fps. And normally players remove the pulldown and presend progressive video anyways.
I wondered: Would it have been possible to create the 35mm master directly from a 1080p source? Or would it have had to be resized to 2k to create the master?
September 20th, 2010 at 7:32 am
@gundampilot001, WebM is being adopted much faster than Ogg Theora. This means that in 6 months, it will be playable on more machines than Ogg Theora ever has.
September 20th, 2010 at 9:24 am
For DVD I think it’s logical to adhere to the DVD standard. DVD’s support 29.97 fps so (an early) suggestion to speed it up to PAL and NTSC is not preferred. And we haven’t even talked about Anamorphic on DVD, where the whole 4:3 resolution is used for the vertical quality. Anyway, a DVD is foremost to be watched on a DVD player I guess.
Encoding and formats is always important to get right. Many people do have hardware players connected to big screens. And while they play 99% of all formats, that 1% is an issue if you use things like to many re-frames or other settings that are not in the 4.1 spec which is meant to ensure maximum compatibility across all platforms and players. It would be great if that could be achieved so not many people will download the 25GB png files to encode a version that will fix any possible problems. Container formats are many, from good old mov, mp4, m4v, avi, ogg, mkv, etc. Sometimes a special container is needed for say mobile display, others play just a bit better on several older PC’s. Still I wonder how many formats for how many purposes are needed. Do many here downloaded the OGG just because it’s an open format or it’s quality or…?
Letterboxing (adding black bars on top/bottom to end up with 16:9 aspect ratio) is not useful for playing in any Software or Hardware player. It only adds to size to encode the black bars. And people viewing it on, say a 21:9 display will get black bars on top/bottom and on the sides, needing to manually zoom which would have been done automatically if the movie was not Letterboxed. The argument for the standard HD format is only valid for BluRay authoring anyway, and that is not the issue here.
Cropping from the original Aspect Ratio, although for technical reasons, is considered bad practice. I read enough BluRay reviews that reduce the rating purely based on cropping. On the other hand, most BluRays are mastered from the 4K versions. So the problem in this case is the master is ‘only’ 2K, not 4K or native 1080p. Maybe a 4K downscaled to 1080p looks better as native 1080p due to any aliasing problems are resolved through the process (called super sampling by some). In the end, staring at a still of the animation doesn’t help. Discussing an eyelash while when in motion the moving picture distracts from analyzing the image on pixel level. In the end I think to the viewer it’s what is nicer, the full image or the cropped seen as a movie. Although the crop is small, the aspect ratio is visually different.
On closing I want to thank Beorn for his great effort, and I hope it gets resolved in a way most of us can live with. And don’t forget there are many people who know a lot about encoding and aspect ratios, mastering and so on that might be willing to help to make Sintel a perfect product.
My personal preferences:
Letterboxing: Big No
Cropping: No, rather not
September 20th, 2010 at 10:49 am
Unfortunately we don’t have the 4k renders yet, scaled down to 1920 these will look perfect indeed.
One solution is for us to encode and publish the 2048 wide version without any scale or crop, these are the files we have been playing and viewing here all the time anyway. In my experience movie players handle that well, at least on our laptops and studio systems.
In full-screen mode on a HD screen you then view it scaled down a bit, which is close to what you’d experience with pre-scaling (probably even better, since encoding happened on original frames, not on a re-sampled scaled one).
You then can also view it on 1:1 pixels mapped cropped, and we can please the lucky few with 2560 or wider screens too π
Would that work?
September 20th, 2010 at 11:49 am
A 2048 version without the black bars on top and bottom (know as letterboxing) would be able to scale by the media player to fit the screen.
But when I choose in VLC crop to, I can pick a few aspect ratios, among 2.35:1. But for that the viewer needs to determine what to pick to get 1:1 pixels. Picking 16:9 will crop even more. But remember, realtime scaling might result in a worse image I suspect, than doing it before the encoding process. (it’s like realtime 3D versus prerendered 3D, realtime has to cut corners somewhere) π
Maybe make a 2.35:1 2K version.
Technical people seem to favor 1:1 pixel with crop, artistic people the resize. Hard choice…
And a Scaled 2.35:1 1080p version could be created later when you have 4K renders. (I think that was coming, right?) Then you would have the best 1080p version you could have.
All without ‘Letterboxing’, please.
Then I would get the 2.35:1 2K version and the 2.35:1 1080p version later.
But thanks for the effort to all involved!
PS. At my previous message about frame rates on DVD I of course I was refering to 23.976fps
September 20th, 2010 at 12:37 pm
Problem is, the DVD’s need to be produced and they’ll need to have 1080p encodings on one of the data discs.
Just a question: How long will it take to render the whole movie in 4K with all capacity in the Blender Institute full steam ahead?
September 20th, 2010 at 12:56 pm
But Ton wants a solution:
Put both a native and a -as good as it gets- 1920 downscale version on the DVD.
And as soon as you have the 4K version rendered and graded, create new 1920 versions of it and put them online!
Btw, wasn’t it feasible to render the whole movie again in 4K during the tweaking period after the pre-premiere?
September 20th, 2010 at 12:59 pm
Hi Ton,
2048 wide version without any scale or crop (for the DVD and first online release) sounds a pretty good alterantive. A real 1920 version may then be compiled when 4k frames are available.
@ Logan: I don’t think it’s “like realtime 3D versus prerendered 3D” but rather hardware-rescaling (in most cases the GraCard wil rescale the video, which works pretty good) vs. Software-rescaling. Thus the result should be very good.
Haven’t checked VLC for this special gimmick right now (due to a missing real 2k video), but there are players around that do allow keeping pixel aspect ratio while scaling in different ways.
And again, please no letterboxing. I don’t see any controversary according this point, noone here argued for letterboxing, noone likes the idea. There is no need for that. There are no benefits from Letterboxing.
September 20th, 2010 at 1:09 pm
Letterboxing is actually only necessary for DVD, Blu-ray, AVCHD, and other official HD standards which are officially 16:9 (1:78:1) only.
Btw, the MOV trailers from Apple aren’t letterboxed. (to give a well-known example)
September 20th, 2010 at 1:11 pm
@beorn Earlier in the thread you said this was a thankless task – I can’t help with the technical side unfortunately but I can at least change the nature of the task by saying a big THANK YOU! for all your efforts π
September 20th, 2010 at 1:13 pm
@Maddes: But I would always include also a 1920 version, because no one can be sure how gameconsoles and and Mediaplayers like the Dune, HDX, Popcornhour etc. handle the 2048 resolution, plus the scaling in some players is really bad)
September 20th, 2010 at 1:47 pm
I know space on (4) DVDs is limited., and the full hd videos will be the most space consuming files. How many different files will be there on dvd?
at BBB we had 3 files for 720p, 3 files for 1080p.
these 3 files were : one ogg, two avis. The stereo avi contained two (!) video streams (theora and mp4) and two audio streams (vorbis and mp3)
For Sintel Beorn said there will be just ogg video and H264 quicktimes.
maybe just two files each resolution?
Maybe we could get: Real 2k resolution with Theora codec in ogg container, for computers.
And maybe real HD (1920) resolution for H264 in mp4 container (aka “quicktime”) for hardware decoders like bd-players?
September 20th, 2010 at 2:05 pm
For Theora encoding :
– drop the –keyint parameter, default value is ok.
– add –optimize (slower but smaller file size for same quality)
– -v7 should be enough (lower it if the file size is too big)
my 2 cents
September 20th, 2010 at 2:08 pm
You can ask the doom9.org guys next time, they really know about video encoding.
September 20th, 2010 at 2:18 pm
Ton beat me to the punch with the suggested alternative of a 2048k version. This would be more than acceptable for me, if done without letter-boxing. Even if the 2048k-version doesn’t make it on the DVD, I would suggest to at least make a 2048k version available for download.
As J. pointed out, some media-players might struggle with a 2048k-version. I can try and see how the Popcorn Hour copes with this using an upscaled version of BBB.
September 20th, 2010 at 2:39 pm
Indeed I forgot my HD Media Player supports max 1080p, but I figured it would be the max output resolution, not input. Well, to be sure I indeed have to test it eventually. Important for hardware players is sticking to the 4.1 rules.
September 20th, 2010 at 3:11 pm
Danny Piccirillo, maybe you are right, and I certainly hope you are. But my point was, that _currently_ there aren’t many GNU/Linux distributions with WebM decoding, and Sintel is coming out now, and not in 6 months.
September 20th, 2010 at 4:49 pm
Mathias Says:
September 19th, 2010 at 23:43
@Scott To be honest, I fail to see any difference at all in detail. If I try to forget the colour difference, the detail on her hand are the same if you scaled from 4k or from 2kβ¦
Ton Says:
September 20th, 2010 at 10:49
Unfortunately we donβt have the 4k renders yet, scaled down to 1920 these will look perfect indeed.
If both of you are right, then the lack of detail when using lanczos3 from 2k is not caused by the scaling algorithm but by the fact that the non-cropped version has a lower vertical resolution (#lines).
In this case scaling from 2k should not be a problem.
The discussion here suffers from not enough information about possibilities, so I propose the following:
Ton: Could you render said frame with current grading in 4k so we can find out how much loss of detail actually occurs when scaling from 2k to 1920p vs. a scaling from 4k (which should look perfect)?
September 20th, 2010 at 4:49 pm
I think offering a 2048x1080P version initially with a (scaled) 1920 version to come later is a winning proposal. Already, people can play the former as either a scaled or cropped version depending on their preference, though the scaling might not be quite as good as a prescaled one. Perhaps release the 2k version upon release, and (maybe) a properly labeled cropped copy for the people who cannot play 2k at all. Then release a scaled one when the 4k renders are done. (Though I might be wanting the 4k version then!) VLC does offer a filter for langzos scaling, so people should be able to get decent scaling on the computer at least.
On the subject of WebM, I think that’s really the way to go. Perhaps offer a theora encode on the website, but considering that it’s now gearing up for the fall releases of several major distros, WebM support is coming very soon. Ubuntu Maverick is due in a couple weeks and will have support for webm. The Nokia N900 has supported webm through the extra-codecs package for months, and Android devices, which I don’t think have theora, will soon support webm. It might be a good idea to offer theora in at least one resolution for the people who both require free codecs and have older systems. It’s not a question of six months, it’s 2 weeks (ubuntu) to a month (fedora). I think a better quality free codec is worth that.
September 20th, 2010 at 5:13 pm
… and we are even talking about built in -support for WebM. For systems without builtin WebM support you can get it anyway right now. Current VLC does have it. Maybe you need to update if you didn’t for several Months…
September 20th, 2010 at 6:24 pm
@Beorn Glad it was helpful. If you have a week before trying again, please ask for a lossless copy of the soundtrack. Encoding from that instead of aac will definitely make a quality difference in the Ogg version.
September 20th, 2010 at 6:36 pm
I like the solution with encoding the video in 2048, although my internet is quite slow.
September 20th, 2010 at 7:39 pm
How slow? π
September 20th, 2010 at 7:47 pm
A 2048 version would be nice, but I’m unsure of how many PCs will be able to play it while dynamically rescaling it.
September 20th, 2010 at 7:51 pm
I fail to see the desire for WebM and OGG because other than that the encoders are free, decoders are there for many formats. In the end it’s the quality and compatibility that counts, not the container or the codec.
And it also opens the door to OGG and WebM developers to produce an encoder themselves to show off their codecs. I’m sure the OGG and WebM could do a more precise encoding of the movie than I could.
I mean, I understand mp4 (aka m4v) for mobile stuff and (H.264) MKV for quality, even (DivX) AVI for lower end PC’s but OGG or WemM just because we can? I just take the best version regardless of container or codec and that will be most likely (H.264) MKV.
September 20th, 2010 at 7:53 pm
I have internet via satellite which has theoretically ~240kb/s but it is only achieved in the middle of the night, so i have to download it over night anyway and i don`t care about a few minutes difference.
September 20th, 2010 at 8:05 pm
You all shouldn’t forget that we have a mirror that’ll host all 2048 original pngs. For both ED and BBB this has been a great resource for many codec testing everywhere, including by Microsoft! Providing the original frames for comparison is very important, no resampled scaling should be done on that.
What we talk about now is just what we’ll release here initially, and what will go on the DVDs we ship. I like to have this project public now, further delays are not needed.
When talking to Colin he mentioned he prefers to keep the width, and likes the idea to provide a 2048 pixel version as “HD” movie, so I suggest we go for that.
A scaled down 720p and 480p will also be made, including versions on youtube etc. We won’t letterbox frames.
The 4k version still has to be rendered, a process that’s estimated to take 2 to 2.5 months. It’s being postponed until we’re fully done here the online launch and DVD mastering.
BTW: I’ve asked DivX about this topic, and got this back from their chief encoder “We can take care of this, we have experience cropping uncompressed sources as well as resizing, but I think cropping is best to preserve quality.” π
That’s also my two cents!
Anyway, don’t worry for now. The movie itself is worth watching in any way, scaled or cropped alike. Thanks for all feedback, we’re back to all the other todos that are awaiting us… Oh, just 7 days before premiere, yay!
September 20th, 2010 at 8:35 pm
Of course cropping preserves the quality the best, but artistically it’s kind of not done.
And yes, the premiere, can’t wait! (projected in BlenderScope π π π )
September 20th, 2010 at 10:31 pm
First of all, its great to read that there will be no letter-boxing on the HD-versions.
I did a quick test with a 2048k version of BBB (scaled to 2048×872, x264-codec with bitrate set to 10.000 in an mkv-container) in order to see if it would play on the popcornhour (c200).
I can report, that it played with just one little hick-up (but i think that was due to some bad rendering of x264, since this also occurred in VLC and Mplayer at exactly the same point).
So it seams that at least the sigma-based media-players should play the 2048k version just fine.
September 20th, 2010 at 11:32 pm
Ton Says:
September 20th, 2010 at 20:05
When talking to Colin he mentioned he prefers to keep the width, and likes the idea to provide a 2048 pixel version as βHDβ movie, so I suggest we go for that.
Great!
September 20th, 2010 at 11:36 pm
LOGAN,
OGG, WebM and Dirac are not there just because “we can”, but because they are the only unencumbered by patents. Quality and compatibility isn’t the only thing that matters. There are tons of information on this issue in the Internet, and you should probably read some of it. For starters:
http://www.fsf.org/news/blogs/community/google-free-on2-vp8-for-youtube
http://www.fsf.org/news/free-software-foundation-statement-on-webm-and-vp8
September 21st, 2010 at 2:47 am
My two paid-for cents are that I trust the Durian folks. The 2k version sounds like a good compromise for me to use since I know how to set scaling and cropping in my player of choice, but I would also be perfectly happy with a 1080 crop. As I see it, that 3% on either side REALLY doesn’t matter for framing, unless Sintel spends all her time halfway out-of-frame…
And to give the neglected audio side some attention, I would absolutely love to see a stereo FLAC track make it to the DVD, but as long as that’s available alongside the PNGs and Jan and everyone are happy with the on-disc audio quality, I won’t have any reason to complain.
Thank you, Beorn, for taking on this thankless task!
-Pete
September 21st, 2010 at 3:08 am
I am not really skilled at encoding files, but I know a free software that encode files well (as I eared) which is “handbreak”. For subtitles I am afraid to be not very helpful in the aim of using free softwares, I’m not really really aware with them… Sorry.
Excuse my poor english. I hope I could have help you.
September 21st, 2010 at 3:59 am
Everybody is talking about the quality with scaling. If you want good quality in scaling, it should probably be done in a 32bit linear color space. Most of the scaling routines listed thus far are done in 8bit sRGB (or even YCbCR colorspace *ick*) and that presents issues with creating aliased lines and gamma error issues. You would probably get best quality by doing the scaling for each destination format by creating PNG sequences scaled with imagemagick (or graphicsmagick). You can create scripts for them and they can do the scaling in float linear color space.
Interesting read: http://www.4p8.com/eric.brasseur/gamma.html
September 21st, 2010 at 4:11 pm
Is mplayers built-in scaling good (if thats whats used)? Say, as good as imagemagicks scaling which actually filters them before downscaling?
If not thats bad.
September 21st, 2010 at 4:14 pm
Might be a good idea to look into doing a WebM version, open codec, better video compression than Theora.
Also for Theora you could email the developers at Xiph, they are pretty accessible, probably Monty would be a good person to talk too: [email protected] (got that from http://www.xiph.org/contact/ ) he knows Theora inside out.
September 21st, 2010 at 5:18 pm
Spudd86 i agree, xiph even supports webm!
WebM (VP8+Vorbis) is superior compared to Ogg Theora (VP3+Vorbis)
its also supported by Chrome 6, Opera 10.60, Firefox 4 and even Internet Explorer 9 with webm codec installed
September 22nd, 2010 at 5:49 pm
WebM/VP8 is a part of Ubuntu 10.10, Fedora 13, Fedora 14, and current Debian testing.
Ubuntu 10.10 just upgraded to the latest 0.9.2 release of the libvpx vp8 library. http://www.ubuntuupdates.org/packages/show/211504
Fedora 13 and Fedora 14 includes the 0.9.1 version of libvpx at the moment.
Ubuntu, Debian, and Fedora communities supporters versions of gstreamer, vlc, ffmpeg, mplayer, web browsers, and other applications with VP8 and WebM support.
libvpx 0.9.2: https://groups.google.com/a/webmproject.org/group/webm-discuss/browse_thread/thread/affaf0069c199ca4
September 28th, 2010 at 7:31 am
Congratulations to the Durian OMP & Blender Foundation for the Sintel Premiere!!!
I can not wait to see the movie when I can, whether online or when I get my own DVD.
Greetings from a mexican Blender fan & visual artist who learn Blender every day and hope some day can show my 3D stuff to you!
December 10th, 2011 at 11:16 am
Hi there, You have done a fantastic job. I’ll definitely digg it and individually recommend to my friends. I am sure they will be benefited from this website.