diff --git a/Resources/vrecord_functions b/Resources/vrecord_functions
index b43067be..7494c006 100644
--- a/Resources/vrecord_functions
+++ b/Resources/vrecord_functions
@@ -89,6 +89,7 @@ _update_config_file(){
echo "DV_RESCUE_OPTION_TC=\"${DV_RESCUE_OPTION_TC}\""
echo "CC2VTT=\"${CC2VTT}\""
echo "CC2SRT=\"${CC2SRT}\""
+ echo "CAP2MP4=\"${CAP2MP4}\""
echo "MEDIA_ID_TYPE=\"${MEDIA_ID_TYPE}\""
echo "WEBVTT_EXTRA=\"${WEBVTT_EXTRA}\""
echo "HD_CHOICE=\"${HD_CHOICE}\""
diff --git a/vrecord b/vrecord
index d719689a..1ba96c04 100755
--- a/vrecord
+++ b/vrecord
@@ -829,6 +829,11 @@ OPTIONAL_TOOLS_GUI=$(cat << CONFIG_FORM
"${CC2SRT}"
CC2SRT
+
+
+ "${CAP2MP4}"
+ CAP2MP4
+
@@ -3181,11 +3186,26 @@ if [[ "${DEVICE_INPUT_CHOICE}" = 0 ]] ; then
_mv_tmp_file "${CAPTION_TMP}" "${CAPTION_LOG}"
_eia608dump2scc "${CAPTION_LOG}" "${CAPTION_SCC}"
if [[ "${CC2VTT}" = 'true' ]] ; then
- "${FFMPEG_BIN}" -nostdin -v 0 -y -i "${CAPTION_SCC}" "${CAPTION_SCC%.*}.vtt"
+ "${FFMPEG_BIN}" -nostdin -v 0 -y -i "${CAPTION_SCC}" -f webvtt - | sed -E 's/\\h//g; s/\{\\an[0-9]\}//g; s/<[^>]+>//g' > "${CAPTION_SCC%.*}.vtt"
_add_fadgi_header2vtt "${CAPTION_SCC%.*}.vtt"
fi
if [[ "${CC2SRT}" = 'true' ]] ; then
- "${FFMPEG_BIN}" -nostdin -v 0 -y -i "${CAPTION_SCC}" "${CAPTION_SCC%.*}.srt"
+ "${FFMPEG_BIN}" -nostdin -v 0 -y -i "${CAPTION_SCC}" -f srt -c:s srt - | sed -E 's/\\h//g; s/\{\\an[0-9]\}//g; s/<[^>]+>//g' "${CAPTION_SCC%.*}.srt"
+ fi
+ if [[ "${CAP2MP4}" = 'true' && "${MP4_CHOICE}" = 'true' ]] ; then
+ if [[ -s "${CAPTION_SCC%.*}.vtt" ]] ; then
+ CAP2EMBED="${CAPTION_SCC%.*}.vtt"
+ elif [[ -s "${CAPTION_SCC%.*}.srt" ]] ; then
+ CAP2EMBED="${CAPTION_SCC%.*}.srt"
+ else
+ CAP2EMBED="$(_maketemp .vtt)"
+ "${FFMPEG_BIN}" -nostdin -v 0 -y -i "${CAPTION_SCC}" -f webvtt - | sed -E 's/\\h//g; s/\{\\an[0-9]\}//g; s/<[^>]+>//g' > "${CAP2EMBED}"
+ fi
+ _report -dt "Wrapping the extracted captions into the Access MP4 file..."
+ "${FFMPEG_BIN}" -nostdin -v 0 -y -i "${MP4NAME}" -i "${CAP2EMBED}" -map 0:v -map 0:a -map 1:s -c:v copy -c:a copy -c:s mov_text "${MP4NAME}.subs.mp4"
+ if [[ $? -eq 0 ]]; then
+ mv -v "${MP4NAME}.subs.mp4" "${MP4NAME}"
+ fi
fi
fi