Hi,
1) It is possible to do. However, with a system with only a camera (no laser), you should map the environment in many directions so that relocalization can happen more often (e.g., the robot cannot relocalize in an environment where the images have been taken in reverse direction).
2) No, the same algorithm is used for loop closure detection (incremental mode) and localization.
For your video, you may want to show TF on RVIZ so we can see better if the jumps happen on relocation or if it is an odometry error.
For the first case, when rtabmap relocalizes on the map, the robot may "jump" to the localized place. So jumps (small or big) are okay if they relocalize the robot correctly against the map/environment. At 2:05, there is a big jump, but I think this one may be a wrong localization. You can tune these parameters to increase the thresholds at which the relocation is accepted:
<node name="rtabmap" type="rtabmap" pkg="rtabmap_ros">
...
<!-- [0, 1] the higher it is, the less loop closures will be detected but less wrong loop closures will be also detected -->
<param name="Rtabmap/LoopThr" type="string" value="0.11"/>
<!-- Minimum visual correspondences to accept a loop closure -->
<param name="LccBow/MinInliers" type="string" value="10"/>
</node>
Setting these parameters too high will disable the ability of rtabmap to relocalize. Maybe try "Rtabmap/LoopThr" up to 0.5 and "LccBow/MinInliers" up to 20.
cheers