index.html

DIY 360 degree video


About my DIY 360 degree camcorder

Video rig and related stitching problems

360 video recording and synchronisation

Audio.

Auto vs Manual White Balance.

360 degree video assembling.

Preparing series of images.

Geometric template.

Shrinking images.

Stitching images to 360 video frames.

RAM disk as a working directory.

Coverting frames to a 360 video and publishing.

Multiblend on my Linux box

Software

ASCII video and panorama


Jp2a video

AAlib video

Libcaca video

360 ASCII panorama

Software


Other ...


Hero4 black fisheye correction using kdenlive.

Linux to cifs/smb share rsync.

AMDGPU-PRO and Vega 56 setup on my Ubuntu 16.04.



Google+ Youtube 360Cities





ASCII images and video with AAlib.




AAlib video:



http://youtu.be/_k0I_bw9tow


HowTo.


Script - version 1.


  # This script is free software, and can be used, modified and
  # distributed under the terms of the GPL License: http://www.gnu.org/licenses/gpl.html .

  v ;

  aud=$( echo $vid | sed '1,$ s/^\(.*\)\.\(.*\)$/\1/' ) ;
  rm *.tga *.svg *.JPG *.html *.jpg *.tga *.log *.jpeg *.xwd *.png ;

  ffmpeg -i $vid -r 25 -f image2 %7d.jpg ;

  for line in $( ls *.jpg )
  do
          #echo $line ;
          AaLib=$( echo $line | sed '1,$ s/\.jpg//' ) ;

          nipe=$( echo $AaLib | sed '1,$ s/......\(.\)/\1/' ) ;
          nipe1=$( echo $AaLib | sed '1,$ s/\(......\)./\1/' ) ;

          if (( $AaLib == "0000001" ))
          then
                  echo -n $line ;
                  AaLib=$( echo $line | sed '1,$ s/\.jpg//' ) ;
                  asciiview $AaLib.jpg &
                  sleep 1 ;
                  wmctrl -r "aa for X" -e 0,0,0,1664,936 ;
                  sleep 1 ;
                  afx="" ;
                  afx=$(xwininfo -tree -root | grep "aa for X" | sed '1,$ s/\( *\)\(.\)x\(.*\) "\(.*\)$/\2x\3/' ) ;
                  xwd -id $afx -out $AaLib.xwd ;
                  convert $( echo $AaLib".xwd" ) $( echo $AaLib".JPG" ) ;
                  kill -9 $( ps -C aview -o pid= ) > /dev/null 2>&1 ;

                  i=2 ;
                  while (( i < 5 ))
                  do
                          echo -n " "$i ;
                          cp $AaLib.JPG $nipe1$i.JPG ;
                          echo -n " ... $nipe1$i" ;
                          i=$(( $i + 1 )) ;
                  done
          fi

          if (( $nipe == "0" ))
          then
                  echo -n $line ;
                  AaLib=$( echo $line | sed '1,$ s/\.jpg//' ) ;
                  asciiview $AaLib.jpg &
                  sleep 1 ;
                  wmctrl -r "aa for X" -e 0,0,0,1664,936 ;
                  sleep 1 ;
                  afx="" ;
                  afx=$(xwininfo -tree -root | grep "aa for X" | sed '1,$ s/\( *\)\(.\)x\(.*\) "\(.*\)$/\2x\3/' ) ;
                  xwd -id $afx -out $AaLib.xwd ;
                  convert $( echo $AaLib".xwd" ) $( echo $AaLib".JPG" ) ;
                  kill -9 $( ps -C aview -o pid= ) > /dev/null 2>&1 ;

                  i=1 ;
                  while (( $i < 5 )) ;
                  do
                          echo -n " "$i ;
                          cp $AaLib.JPG $nipe1$i.JPG ;
                          echo -n " ... $nipe1$i" ;
                          i=$(( $i + 1 )) ;
                  done
                  echo "" ;
          fi

          if (( $nipe == "5" ))
          then
                  echo -n $line ;
                  AaLib=$( echo $line | sed '1,$ s/\.jpg//' ) ;
                  asciiview $AaLib.jpg &
                  sleep 1 ;
                  wmctrl -r "aa for X" -e 0,0,0,1664,936 ;
                  sleep 1 ;
                  afx="" ;
                  afx=$(xwininfo -tree -root | grep "aa for X" | sed '1,$ s/\( *\)\(.\)x\(.*\) "\(.*\)$/\2x\3/' ) ;
                  xwd -id $afx -out $AaLib.xwd ;
                  convert $( echo $AaLib".xwd" ) $( echo $AaLib".JPG" ) ;
                  kill -9 $( ps -C aview -o pid= ) > /dev/null 2>&1 ;

                  i=6 ;
                  while (( $i < 10 )) ;
                  do
                          echo -n " "$i ;
                          cp $AaLib.JPG $nipe1$i.JPG ;
                          echo -n " ... $nipe1$i" ;
                          i=$(( $i + 1 )) ;
                  done
                  echo "" ;
          fi

  done

  mencoder mf://*.JPG -mf fps=25:type=JPG -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2 -oac copy -o "$aud".avi

    


Script - version 2.


  # This script is free software, and can be used, modified and
  # distributed under the terms of the GPL License: http://www.gnu.org/licenses/gpl.html .

  v ;

  aud=$( echo $vid | sed '1,$ s/^\(.*\)\.\(.*\)$/\1/' ) ;
  rm *.tga *.svg *.png *.html *.jpg *.tga *.log *.jpeg *.xwd ;

  ffmpeg -i $vid -r 30 -s vga -f image2 %7d.jpg ;

  for line in $( ls *.jpg )
  do
          #echo $line ;
          ascii=$( echo $line | sed '1,$ s/\.jpg//' ) ;

          nipe=$( echo $ascii | sed '1,$ s/......\(.\)/\1/' ) ;
          nipe1=$( echo $ascii | sed '1,$ s/\(......\)./\1/' ) ;

          if (( $ascii == "0000001" ))
          then
                  echo -n $line ;
                  asciiview $ascii.jpg &
                  sleep 1 ;
                  wmctrl -r "aa for X" -e 0,0,0,1024,768 ;
                  sleep 1 ;
                  afx="" ;
                  afx=$(xwininfo -tree -root | grep "aa for X" | sed '1,$ s/\( *\)\(.\)x\(.*\) "\(.*\)$/\2x\3/' ) ;
                  xwd -id $afx -out $ascii.xwd ;
                  convert $( echo $ascii".xwd" ) $( echo $ascii".png" ) ;
                  kill -9 $( ps -C aview -o pid= ) ;

                  i=2 ;
                  while (( i < 10 ))
                  do
                          cp $ascii.png $nipe1$i.png ;
                          echo -n " ... $nipe1$i" ;
                          i=$(( $i + 1 )) ;
                  done
          fi

          if (( $nipe == "0" ))
          then
                  echo -n $line ;
                  asciiview $ascii.jpg &
                  sleep 1 ;
                  wmctrl -r "aa for X" -e 0,0,0,1024,768 ;
                  sleep 1 ;
                  afx="" ;
                  afx=$(xwininfo -tree -root | grep "aa for X" | sed '1,$ s/\( *\)\(.\)x\(.*\) "\(.*\)$/\2x\3/' ) ;
                  xwd -id $afx -out $ascii.xwd ;
                  convert $( echo $ascii".xwd" ) $( echo $ascii".png" ) ;
                  kill -9 $( ps -C aview -o pid= ) ;

                  i=1 ;
                  while (( $i < 10 )) ;
                  do
                          cp $ascii.png $nipe1$i.png ;
                          echo -n " ... $nipe1$i" ;
                          i=$(( $i + 1 )) ;
                  done
                  echo "" ;
          fi
  done

  killall aview ;

  mencoder -audiofile "$aud".mp3 mf://*.png -mf w=1024:h=768:fps=30:type=xvd -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2 -oac copy -o "$aud".avi
    
regulation-internal

Top of Page