Subject: Re: bug#42607: guix.gnu.org/videos don't play on iOS

From: Leo Famulari <[email-masked]>
Date: Mon, 1 Feb 2021 15:54:02 -0500

On Wed, Jul 29, 2020 at 07:26:57PM -0400, Leo Famulari wrote:
> > nginx can easily sniff iOS/Macintosh user agents and serve them an inferior
> > format to match, such as h264 with MP3 audio, which can both be encoded
> > using free software in Guix.
> 
> Here is where the videos are created:
> 
> https://git.savannah.gnu.org/cgit/guix/videos.git/tree/Makefile
> 
> ------
> $(NUMBER).clino.$(VIDEO).webm: \
> 	 $(VIDEO)/$(LOCALE_LANG)/durations.txt        \
> 	 $(VIDEO)/$(LOCALE_LANG)/audios/all.mp3	
> 		ffmpeg -y -f concat -vsync cfr \
> 		-i $(VIDEO)/$(LOCALE_LANG)/durations.txt \
> 		-i $(VIDEO)/$(LOCALE_LANG)/audios/all.mp3 \
> 		-c:a libopus -b:a 192k \
> 		-c:v libvpx-vp9 -crf 31 -b:v 0 -pix_fmt yuv420p \
> 		-af apad -shortest \
> 		-vf fps=25 -threads 4 $(VIDEO)/$(LOCALE_LANG)/videos/$@;
> 		make clean_noCli
> ------
> 
> So, we'd need to add a target that did "-c:a copy -c:v libx264" and add
> some logic to create two videos instead of one. I didn't look into it
> closely yet to see if that will be simple or not.

Coming back to this, I don't remember why I suggested "c:a copy". We
would want to transcode the audio as well, because the standard codec is
h264/aac.