{"id":49210,"date":"2020-06-08T03:01:18","date_gmt":"2020-06-07T17:01:18","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=49210"},"modified":"2020-06-08T18:01:41","modified_gmt":"2020-06-08T08:01:41","slug":"concatenating-video-on-command-line-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/concatenating-video-on-command-line-tutorial\/","title":{"rendered":"Concatenating Video on Command Line Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/air_drop_messages_live_photo_more.mp4 \"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Concatenating Video on Command Line Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/air_drop_messages_live_photo_more.gif\" title=\"Concatenating Video on Command Line Tutorial\"   \/><\/a><p class=\"wp-caption-text\">Concatenating Video on Command Line Tutorial<\/p><\/div>\n<p>You might also want to think of today&#8217;s tutorial as a (follow up to) &#8220;Making Of&#8221; presentation with reference to yesterday&#8217;s <a title='Camera App Photo Live Mode Sharing Tutorial' href='#caplmst'>Camera App Photo Live Mode Sharing Tutorial<\/a> where we used the wonderful command line <a target=_blank title='ffmpeg' href='https:\/\/www.ffmpeg.org\/'>ffmpeg<\/a> tool.  For us, this &#8220;command line&#8221; was macOS 10.14.5 Mojave one, but <a target=_blank title='ffmpeg' href='https:\/\/www.ffmpeg.org\/'>ffmpeg<\/a> stresses its cross-platform capabilities.  The videos relating to &#8230;<\/p>\n<ul>\n<li>yesterday&#8217;s MP4 explanatory video was created via &#8230;\n<ol>\n<li>macOS MacBook Pro PhotoBooth &#8230;<\/li>\n<li>Video mode<\/li>\n<li>two finger gesture Export&#8230;<\/li>\n<\/ol>\n<p> &#8230;\n<\/li>\n<li>and the day before&#8217;s MP4 explanatory video was created via &#8230;\n<ol>\n<li>iOS iPad Camera app (filming iPhone creating its Camera app Live mode photos) &#8230;<\/li>\n<li>Video mode<\/li>\n<\/ol>\n<p> &#8230;\n<\/li>\n<li>share to macOS MacBook Pro (and we refer you to yesterday&#8217;s <a title='Camera App Photo Live Mode Sharing Tutorial' href='#caplmst'>Camera App Photo Live Mode Sharing Tutorial<\/a>)<\/li>\n<li>at (macOS (Terminal application)) command line &#8230; convert MOV to MP4 via &#8230;<br \/>\n<code><br \/>\nffmpeg -i avideofile.mov avideofile.mp4<br \/>\n<\/code>\n<\/li>\n<\/ul>\n<p> &#8230; and as you would appreciate if you are into <i>creating graphic media presentation<\/i> content, it is challenging to make the one apt &#8220;take&#8221; of a video.  Sometimes, even, you get a part of a procedure &#8220;semi-right&#8221; and rather than completely start over with another video, &#8220;life intervenes&#8221; to mean that second video just takes up where the first left off.  Yesterday&#8217;s explanatory video was of this ilk, and we &#8220;let it slide&#8221; that way for a day.  Today, though, we take up the challenge &#8230;<\/p>\n<blockquote><p>\nBut why don&#8217;t we try to concatenate two videos into one to give a bigger picture of the explanatory video result?\n<\/p><\/blockquote>\n<p> &#8230; and the answer to this was staring us in the face <font size=1>(and isn&#8217;t it just mortifying saying &#8220;Good morning, ffmpeg&#8221;)<\/font>, with command line &#8220;ffmpeg&#8221; being capable of this, and we recommend you read <a target=_blank title='Useful link' href='https:\/\/trac.ffmpeg.org\/wiki\/Concatenate'>this useful link<\/a>, thanks, regarding further reading here, because we had some false starts, but ending up realizing that the &#8220;ts&#8221; (Transport Stream) format video as a middleperson made both doing and understanding &#8220;ffmpeg&#8221; video concatenations easy.  So &#8230;<\/p>\n<ol>\n<li>to &#8220;ffmpeg&#8221; video concatenate &#8230;<\/li>\n<li>primary to intermediate video format conversion &#8230;<br \/>\n<table>\n<tr>\n<th>Broadly &#8230;<\/th>\n<\/tr>\n<tr>\n<td style='vertical-align:top;'>Convert primary &#8220;MOV&#8221; media formats to intermediate &#8220;ts&#8221; videos<\/td>\n<\/tr>\n<tr>\n<th>Specifically, on macOS Terminal, for two roughly minute long videos, that second command below related to <a href='#secondvpart'>yesterday&#8217;s<\/a> explanatory video &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code><br \/>\nffmpeg -i  air_drop_messages_live_0photo.mov air_drop_messages_live_0photo.ts<br \/>\nffmpeg -i  air_drop_messages_live_photo.mov air_drop_messages_live_photo.ts<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<\/table>\n<\/li>\n<li>concatenate videos in intermediate format &#8230;<br \/>\n<table>\n<tr>\n<th>Broadly &#8230;<\/th>\n<\/tr>\n<\/tr>\n<tr>\n<td style='vertical-align:top;'>Concatenate &#8220;ts&#8221; videos into another &#8220;ts&#8221; video<\/td>\n<\/tr>\n<tr>\n<th>Specifically, on macOS Terminal &#8230;<\/th>\n<tr>\n<td>\n<code><br \/>\nffmpeg -i \"concat:air_drop_messages_live_0photo.ts|air_drop_messages_live_photo.ts\" -c copy  air_drop_messages_live_photo_more.ts<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<\/table>\n<\/li>\n<li>intermediate to output video format conversion &#8230;<br \/>\n<table>\n<tr>\n<th>Broadly &#8230;<\/th>\n<\/tr>\n<tr>\n<td style='vertical-align:top;'>Convert intermediate &#8220;ts&#8221; concatenated video into output &#8220;MP4&#8221; (concatenated) video<\/td>\n<\/tr>\n<tr>\n<th>Specifically, on macOS Terminal &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code><br \/>\nffmpeg -i air_drop_messages_live_photo_more.ts  air_drop_messages_live_photo_more.mp4<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<\/table>\n<\/li>\n<\/ol>\n<p> &#8230; as you can see with the resultant concatenated video (about two minutes) below &#8230;<\/p>\n<p><video style=\"width:100%;\" controls><source src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/air_drop_messages_live_photo_more.mp4 ' type='video\/mp4'><\/source><\/video><\/p>\n<p> &#8230; some <a target=_blank title='AirDrop information from Apple' href='https:\/\/support.apple.com\/en-au\/HT204144'>AirDrop<\/a> and AirPlay iPhone Settings demonstrations (in the first take not used yesterday, but prepended today) adds to the Sharing explanatory video for the &#8220;Sharing of iOS Camera app Live mode Photos&#8221;.  This explanatory video &#8220;concatenated take&#8221; was created via &#8230;<\/p>\n<ul>\n<li>macOS MacBook Pro PhotoBooth Video mode &#8230; filming &#8230;<\/li>\n<li>iPhone (sharer) and iPad (sharee<a target=_blank title='?' href='https:\/\/www.youtube.com\/watch?v=PzaWVzK5WQo'>?<\/a>) mounted on a music stand &#8230; then &#8230;<\/li>\n<li>two finger gesture Export&#8230; (exports to MOV video, for us)<\/li>\n<\/ul>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/concatenating-video-on-command-line-tutorial\/'>Concatenating Video on Command Line Tutorial<\/a>.<\/p-->\n<p><b><i>Did you know?<\/i><\/b><\/p>\n<p>Knowing very little about the ffmpeg intermediate &#8220;ts&#8221; (Transport Stream) video format <a target=_blank title='Google search, thanks to all' href='https:\/\/www.google.com\/search?rlz=1C5CHFA_enAU832AU832&#038;sxsrf=ALeKk00pOFk3mKu2akejk_JBP5tp1qMhgw%3A1591570431161&#038;ei=_2_dXvG-CfWY4-EP3IKGsAg&#038;q=ts+video+format&#038;oq=ts+video+format&#038;gs_lcp=CgZwc3ktYWIQAzICCAAyAggAMgIIADICCAAyAggAMgIIADICCAAyAggAMgYIABAWEB4yBggAEBYQHjoECCMQJzoFCAAQkQI6BQgAEIMBOgUIABCxAzoECAAQQzoHCAAQsQMQQzoECAAQClDizLgPWPTnuA9g3eq4D2gAcAB4AIABywKIAcYXkgEHMC44LjYuMZgBAKABAaoBB2d3cy13aXo&#038;sclient=psy-ab&#038;ved=0ahUKEwixurzx5fDpAhV1zDgGHVyBAYYQ4dUDCAw&#038;uact=5'>we looked it up<\/a> and discovered it is a streaming video format.  So what, you might ask?   Well, some time back, <a target=_blank title='YouTube videos' href='https:\/\/www.youtube.com'>YouTube<\/a> was recommending use of streaming video formats in preference to other video formats, and so we decided to upload to YouTube ffmpeg&#8217;s &#8220;ts&#8221; version of this video for your interest and perusal, perhaps &#8230;<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/DaGVYI4WP0w\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<hr>\n<p id='caplmst'>Previous relevant <a target=_blank title='Camera App Photo Live Mode Sharing Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/camera-app-photo-live-mode-sharing-tutorial\/'>Camera App Photo Live Mode Sharing Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/air_drop_messages_live_photo.mp4 \"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Camera App Photo Live Mode Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/air_drop_messages_live_photo.jpg\" title=\"Camera App Photo Live Mode Sharing Tutorial\"   \/><\/a><p class=\"wp-caption-text\">Camera App Photo Live Mode Sharing Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s <a title='Camera App Photo Live Mode Primer Tutorial' href='#caplmpt'>Camera App Photo Live Mode Primer Tutorial<\/a> talked about the iOS Camera app&#8217;s Live mode functionality, creating an animated GIF type of photo that can be stored in the &#8230;<\/p>\n<p><code><br \/>\nAlbums -&gt; Media Types -&gt; Live Photos<br \/>\n<\/code><\/p>\n<p> &#8230; area.  Sharing via the Mail option of the Photos app&#8217;s Sharing icon and menu lost the &#8220;animation&#8221; (for the emailee), creating a &#8220;still&#8221; (photo) as the downloaded media.  But, as promised in the <a href=#spress>Stop Press<\/a> yesterday, there are some sharing options that can keep that &#8220;animated&#8221; (GIF) feel &#8230;<\/p>\n<ul>\n<li>via Messages app the shared photo will play like an animated GIF on a long touch (perhaps also on non-iOS devices (we did not test this?))<\/li>\n<li>for sharing with other iOS devices within range and operating system viability you can use <a target=_blank title='AirDrop information from Apple' href='https:\/\/support.apple.com\/en-au\/HT204144'>AirDrop<\/a><\/li>\n<\/ul>\n<p> &#8230; as you can see demonstrated below &#8230;<\/p>\n<p><video id=secondvpart style=\"width:100%;\" controls><source src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/air_drop_messages_live_photo.mp4 ' type='video\/mp4'><\/source><\/video><\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/camera-app-photo-live-mode-sharing-tutorial\/'>Camera App Photo Live Mode Sharing Tutorial<\/a>.<\/p-->\n<p><i><b>Did you know?<\/b><\/i><\/p>\n<p>In amongst the <a target=_blank title='Apple' href='https:\/\/apple.com'>Apple<\/a> &#8220;stable&#8221; this animated GIF &#8220;look and feel&#8221; is exclusively a (mobile) iOS (ie. iPhone, iPad etcetera) thing.  The same SMS viewed on this macOS MacBook Pro displays as a &#8220;still&#8221; (photo), and the macOS involvement makes it a &#8220;still&#8221; even forwarding this on to iOS via the macOS Messages app.<\/p>\n<hr>\n<p id='caplmpt'>Previous relevant <a target=_blank title='Camera App Photo Live Mode Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/camera-app-photo-live-mode-primer-tutorial\/'>Camera App Photo Live Mode Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/live_mode.mp4\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Camera App Photo Live Mode Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/live_mode.jpg\" title=\"Camera App Photo Live Mode Primer Tutorial\"   \/><\/a><p class=\"wp-caption-text\">Camera App Photo Live Mode Primer Tutorial<\/p><\/div>\n<p>Meanwhile, back at <a target=_blank title='Apple' href='https:\/\/apple.com'>Apple<\/a>&#8216;s iPhone Camera App, further to <a title='Camera App Video Slow Motion Primer Tutorial' href='#cavsmpt'>Camera App Video Slow Motion Primer Tutorial<\/a>, we wanted to find out more about that yellow &#8220;dart board&#8221; type &#8220;button&#8221; up the top that can be toggled between &#8230;<\/p>\n<ul>\n<li>live off<\/li>\n<li>live<\/li>\n<\/ul>\n<p>What is &#8220;Live Mode&#8221; as far as the iOS Camera app goes?  We consulted <a target=_blank title='what is ios camera live icon?' href='https:\/\/www.google.com\/search?q=what+is+ios+camera+live+icon&#038;rlz=1C5CHFA_enAU832AU832&#038;oq=what+is+ios+camera+live+icon&#038;aqs=chrome..69i57.10729j0j7&#038;sourceid=chrome&#038;ie=UTF-8'>Google<\/a> and came to <a target=_blank title='How to Use Live Photos on iPhone and iPad' href='https:\/\/www.macrumors.com\/how-to\/live-photos-iphone-ipad\/'>How to Use Live Photos on iPhone and iPad<\/a> &#8230;<\/p>\n<blockquote cite='https:\/\/www.macrumors.com\/how-to\/live-photos-iphone-ipad\/'><p>\nBasically, a Live Photo is a combination of a video clip and a still image that results in something akin to an animated GIF when long pressed. With the feature enabled, your iPhone or iPad grabs up to 1.5 seconds of video before and up to 1.5 seconds of video after you tap the shutter button.\n<\/p><\/blockquote>\n<p> &#8230; as a &#8220;very cute&#8221; hybrid between &#8220;photo&#8221; mode and &#8220;video&#8221; mode and &#8220;slo-mo&#8221; (video) mode.  Afterwards, if your &#8220;live&#8221; mode photo is saved into Photos it will sit in &#8230;<\/p>\n<p><code><br \/>\nAlbums -&gt; Media Types -&gt; Live Photos<br \/>\n<\/code><\/p>\n<p> &#8230; and will present, initially, like a &#8220;still&#8221;, but touch (for a goodly time), will &#8220;very cutely&#8221; turn into an animation (like an animated GIF that you control).<\/p>\n<p>So what happens if you share this &#8220;live photo&#8221; via email?  On this MacBook Pro, it gets shared as a &#8220;still&#8221;.  On an iPad (opened email) it shares as a &#8220;still&#8221;, as it does on the same iPhone device it was taken on, in that iPhone&#8217;s Mail app.  But &#8230;<\/p>\n<p><code><br \/>\nTouch Photos app icon -&gt; Albums -&gt; Media Types -&gt; Live Photos -&gt; Long Touch on \"Live Photo\" of interest<br \/>\n<\/code><\/p>\n<p> &#8230; brings the whole &#8220;back story&#8221; to light.<\/p>\n<p><video style=\"width:100%;\" controls><source src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/live_mode.mp4' type='video\/mp4'><\/source><\/video><\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/camera-app-photo-live-mode-primer-tutorial\/'>Camera App Photo Live Mode Primer Tutorial<\/a>.<\/p-->\n<p id=spress><i><b>Stop Press<\/b><\/i><\/p>\n<p>If you want to share a Live Mode iPhone Camera app photo in an SMS via Messages app or with another Apple iOS device in the same building, the sharing news is better.  We&#8217;ll demonstrate tomorrow.<\/p>\n<hr>\n<p id='cavsmpt'>Previous relevant <a target=_blank title='Camera App Video Slow Motion Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/camera-app-video-slow-motion-primer-tutorial\/'>Camera App Video Slow Motion Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/Luna_Nala.mov\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Camera App Video Slow Motion Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/Luna_Nala.jpg\" title=\"Camera App Video Slow Motion Primer Tutorial\"   \/><\/a><p class=\"wp-caption-text\">Camera App Video Slow Motion Primer Tutorial<\/p><\/div>\n<p>Continuing the video theme of yesterday&#8217;s <a title='QuickTime Player Mov Video Conversion Tutorial' href='#qtpmvct'>QuickTime Player Mov Video Conversion Tutorial<\/a> today we try out the iPhone (ie. iOS) Camera app&#8217;s Video mode&#8217;s Slo-Mo mode of use.<\/p>\n<p>Get ready for longer but attention grabbing videos <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/Luna_Nala.mov\" title=\"Click picture\">straight from the source<\/a> &#8230;<\/p>\n<p><video style='width:100%;' controls><source type='video\/mp4' src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/Luna_Nala.mov'><\/source><\/video><\/p>\n<p>No doubt many of you out there have been trying this feature out yourselves?!<\/p>\n<hr>\n<p id='qtpmvct'>Previous relevant <a target=_blank title='QuickTime Player Mov Video Conversion Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/quicktime-player-mov-video-conversion-tutorial\/'>QuickTime Player Mov Video Conversion Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinningaround.gif\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"QuickTime Player Mov Video Conversion Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinningaround.gif\" title=\"QuickTime Player Mov Video Conversion Tutorial\"   \/><\/a><p class=\"wp-caption-text\">QuickTime Player Mov Video Conversion Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s <a title='Spinning Around Primer Tutorial' href='#sapt'>Spinning Around Primer Tutorial<\/a> changed quite a bit between 27th March 2019 06:00 and 11:20 AEST.  Why?  Well, our iPhone6 saves its videos (from the Camera iOS application) in *.mov format.  This *.mov has an associated mimetype <i>video\/quicktime<\/i> and as you may surmise from that mimetype it&#8217;s success as a video playing format depends <b>quite a bit<\/b> on the user having access to the QuickTime Player application.  We say <b>quite a bit<\/b> here because you can sometimes open an *.mov based URL in a web browser of a computer without <a title=\"QuickTime information from Apple\" href=\"https:\/\/support.apple.com\/downloads\/quicktime\" target=\"_blank\">QuickTime Player<\/a> installed, and believe I&#8217;ve seen the video be played that way, but with yesterday&#8217;s tutorial, we were asking the *.mov be played within an HTML video element (albeit one with no cross-domain issues).  The problem here even for computers with QuickTime Player installed &#8230;<\/p>\n<ul>\n<li>you see a <i>blank black<\/i> video screen (with controls (because we specified that with our &#8230;<br \/>\n<code><br \/>\n&lt;video style='width:100%;' controlshttp:\/\/www.rjmprogramming.com.au\/wordpress\/wp-admin\/post.php?post=44345&action=editsource type='video\/quicktime' src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.mov'http:\/\/www.rjmprogramming.com.au\/wordpress\/wp-admin\/post.php?post=44345&action=edit\/source&gt;&lt;\/video&gt;<br \/>\n<\/code><br \/>\n &#8230; video element HTML above)<\/li>\n<li>you click the play button and nothing happens<\/li>\n<\/ul>\n<p>All a bit disappointing, but please read on.<\/p>\n<p>Then we set out thinking about conversion from &#8230;<\/p>\n<ul>\n<li>*.mov to *.m4v via older QuickTime Player Version 10.4 (894.12) (no longer available as of Version 10.5 (928.50)) &#8230; which we associated with its <i>video<\/i> element in <a title='Spinning Around Primer Tutorial' href='#sapt'>Spinning Around Primer Tutorial<\/a><\/li>\n<li>*.mov to *.mp4 via <a target=_blank title='ffmpeg' href='https:\/\/www.ffmpeg.org\/'>ffmpeg<\/a> and help from <a target=_blank title='Great link, thanks' href='https:\/\/mrcoles.com\/convert-mov-mp4-ffmpeg\/'>this great link<\/a>, thanks, to use on a MacBook Pro (Terminal application) command line, the command &#8230;<br \/>\n<code><br \/>\nffmpeg -i spinning_around.mov -vcodec h264 -acodec mp2 spinning_around.mp4<br \/>\n<\/code><br \/>\n &#8230; which we associated with clicking on the tutorial picture of yesterday&#8217;s <a title='Spinning Around Primer Tutorial' href='#sapt'>Spinning Around Primer Tutorial<\/a><\/li>\n<\/li>\n<\/ul>\n<p> &#8230; and then reflecting, and <a target=_blank title='Reflecting' href='https:\/\/www.google.com\/search?q=playing+mov+in+video+elements+inline&#038;rlz=1C5CHFA_enAU832AU832&#038;oq=playing+mov+in+video+elements+inline&#038;aqs=chrome..69i57.66573j0j7&#038;sourceid=chrome&#038;ie=UTF-8'>thinking this cannot be so<\/a>, we got to <a target=_blank title='Useful link, thanks' href='https:\/\/stackoverflow.com\/questions\/31380695\/how-to-open-mov-format-video-in-html-video-tag'>another great link<\/a>, thanks, and realized that &#8230;<\/p>\n<p><code><br \/>\n&lt;video style='width:100%;' controls&gt;&lt;source type='video\/mp4' src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.mov'&gt;&lt;\/source&gt;&lt;\/video&gt;<br \/>\n<\/code><\/p>\n<p> &#8230; could be played in the <i>video<\/i> element, as below &#8230;<\/p>\n<p><video style='width:100%;' controls><source type='video\/mp4' src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.mov'><\/source><\/video><\/p>\n<p>You can also see this play out at WordPress 4.1.1&#8217;s <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/quicktime-player-mov-video-conversion-tutorial\/'>QuickTime Player Mov Video Conversion Tutorial<\/a>.<\/p>\n<hr>\n<p id='sapt'>Previous relevant <a target=_blank title='Spinning Around Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/spinning-around-primer-tutorial\/'>Spinning Around Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.mp4\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Spinning Around Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.jpg\" title=\"Spinning Around Primer Tutorial\"   \/><\/a><p class=\"wp-caption-text\">Spinning Around Primer Tutorial<\/p><\/div>\n<p>That Kylie Minogue song <a target=_blank title=\"Spinning Around\" href='https:\/\/www.youtube.com\/watch?v=ekpM8eD3LM4'>&#8220;I&#8217;m spinning around &#8230;&#8221;<\/a> <strike>spins<\/strike>springs to mind with today&#8217;s tutorial.<\/p>\n<p>Have you ever wanted to made a video to try to make yourself, or someone else, dizzy?   Well, we thought about this, and decided we&#8217;d &#8230;<\/p>\n<ol>\n<li>use an iPhone &#8230;<\/li>\n<li>start up its Camera app<\/li>\n<li>get it ready for (normal) Video mode<\/li>\n<li>grab a broom<\/li>\n<li>grab a rubber band, the thicker the safer for your iPhone &#8230; please be careful &#8230;<\/li>\n<li>bind the iPhone onto the broom handle via the rubber band, as tightly as you can<\/li>\n<li>tap the red button awaiting you starting the Video recording, on the iPhone &#8230; doh! &#8230;<\/li>\n<li>spin the broom handle for a while &#8230; we did about 10 seconds<\/li>\n<li>tap the red button to stop recording<\/li>\n<li>share the dizzifying Video, as we do here <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.mov\" title=\"Click picture\">and below<\/a><\/li>\n<\/ol>\n<p><!--video style='width:100%;' controls><source type='video\/quicktime' src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.mov'><\/source><\/video--><\/p>\n<p><video style='width:100%;' controls><source type='video\/mp4' src='http:\/\/www.rjmprogramming.com.au\/Mac\/iPhone\/spinning_around.m4v'><\/source><\/video><\/p>\n<p>Are you dizzy yet?<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d44332' onclick='var dv=document.getElementById(\"d44332\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/video\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d44332' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d44346' onclick='var dv=document.getElementById(\"d44346\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/quicktime\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d44346' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d44372' onclick='var dv=document.getElementById(\"d44372\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/camera\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d44372' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d49194' onclick='var dv=document.getElementById(\"d49194\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/iphone\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d49194' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d49201' onclick='var dv=document.getElementById(\"d49201\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/animated-gif\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d49201' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d49210' onclick='var dv=document.getElementById(\"d49210\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/concatenate\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d49210' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>You might also want to think of today&#8217;s tutorial as a (follow up to) &#8220;Making Of&#8221; presentation with reference to yesterday&#8217;s Camera App Photo Live Mode Sharing Tutorial where we used the wonderful command line ffmpeg tool. For us, this &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/concatenating-video-on-command-line-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,12,29,37],"tags":[2161,83,89,91,183,234,3318,327,407,415,626,631,3315,3316,3317,2178,2844,760,774,795,796,1738,927,1725,1133,1137,1159,1200,2961,3320,1319,1369,1493],"class_list":["post-49210","post","type-post","status-publish","format-standard","hentry","category-animation","category-elearning","category-operating-system","category-tutorials","tag-airdrop","tag-animated-gif","tag-app","tag-apple","tag-camera","tag-command-line","tag-concatenate","tag-did-you-know","tag-export","tag-ffmpeg","tag-ios","tag-iphone","tag-live","tag-live-mode","tag-long-touch","tag-macos","tag-macos-mojave","tag-media","tag-messages","tag-mobile","tag-mobile-app","tag-photo","tag-photobooth","tag-photos","tag-share","tag-sharing","tag-sms","tag-stop-press","tag-streaming","tag-transport-stream","tag-tutorial","tag-video","tag-youtube"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/49210"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=49210"}],"version-history":[{"count":15,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/49210\/revisions"}],"predecessor-version":[{"id":49236,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/49210\/revisions\/49236"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=49210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=49210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=49210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}