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