I’m trying to get a post process script to turn the audio to aac because that’s reasonably quick and saves me transcoding.
For the life of me I can’t see how to fix this.
If I run the script manually on the final destination file it works fine, however inside plex it just always errors with:
Unable to find a suitable output format
Script:
#!/bin/bash
sleep 2
NOW=$(date +"%m%d%Y")
LOG=/mnt/disk4/DVR/log.log
BASEPATH=$(dirname "$1")
BASEFILE=$(basename "$1")
check_errs()
{
# Function. Parameter 1 is the return code
# Para. 2 is text to display on failure.
if [ "${1}" -ne "0" ]; then
echo "ERROR # ${1} : ${2}" >> "$LOG"
# as a bonus, make our script exit with the right error code.
exit ${1}
fi
}
echo "Starting $NOW" >> "$LOG"
echo "File: $1" >> "$LOG"
echo "Dest: $BASEPATH/$BASEFILE.tmp.ts" >> "$LOG"
/usr/bin/ffmpeg -loglevel debug -i "$1" -c:v copy -c:a aac "$BASEPATH/$BASEFILE.tmp.ts" >> "$LOG" 2>&1
check_errs $? "Failed to convert file $1"
echo "Removing original file." >> "$LOG"
rm -f "$1" >> "$LOG"
check_errs $? "Failed to remove original file $1"
echo "Renaming new video to old name" >> "$LOG"
mv -f "$BASEPATH/$BASEFILE.tmp.ts" "$1" >> "$LOG"
check_errs $? "Failed to rename new file to original file name $1"
Log file I generate:
File: /mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts
Dest: /mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.tmp.ts
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.1.1 (GCC) 20170630
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3 --enable-libfdk_aac --enable-nonfree
WARNING: library configuration mismatch
avutil configuration: --libdir=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28/lib --prefix=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28 --enable-shared --disable-schannel --disable-libx264 --disable-bzlib --enable-debug --disable-avfilter --disable-avdevice --disable-swresample --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-ffprobe --disable-muxers --disable-encoders --disable-decoders --disable-hwaccels --disable-devices --disable-lzma --disable-iconv --enable-gnutls --disable-protocol=concat --external-decoder=h264 --pkg-config-flags=--static --enable-decoder=png --enable-decoder=apng --enable-decoder=bmp --enable-decoder=mjpeg --enable-decoder=thp --enable-decoder=gif --enable-decoder=dirac --enable-decoder=ffv1 --enable-decoder=ffvhuff --enable-decoder=huffyuv --enable-decoder=rawvideo --enable-decoder=zero12v --enable-decoder=ayuv --enable-decoder=r210 --enable-decoder=v210 --enable-decoder=v210x --enable-decoder=v308 --enable-decoder=v408 --enable-decoder=v410 --enable-decoder=y41p --enable-decoder=yuv4 --enable-decoder=ansi --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_alaw --enable-decoder=pcm_mulaw --enable-decoder=ass --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=ccaption --enable-decoder=pgssub --enable-decoder=jacosub --enable-decoder=microdvd --enable-decoder=movtext --enable-decoder=mpl2 --enable-decoder=pjs --enable-decoder=realtext --enable-decoder=sami --enable-decoder=ssa --enable-decoder=stl --enable-decoder=subrip --enable-decoder=subviewer --enable-decoder=text --enable-decoder=vplayer --enable-decoder=webvtt --enable-decoder=xsub --enable-decoder=eac3_eae --enable-decoder=truehd_eae --enable-decoder=mlp_eae --enable-encoder=h264_qsv --enable-encoder=mpeg2_qsv --enable-encoder=hevc_qsv --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=h264_nvenc --enable-encoder=eac3_eae --arch=x86_64 --cc='ccache gcc' --enable-libmfx
avcodec configuration: --libdir=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28/lib --prefix=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28 --enable-shared --disable-schannel --disable-libx264 --disable-bzlib --enable-debug --disable-avfilter --disable-avdevice --disable-swresample --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-ffprobe --disable-muxers --disable-encoders --disable-decoders --disable-hwaccels --disable-devices --disable-lzma --disable-iconv --enable-gnutls --disable-protocol=concat --external-decoder=h264 --pkg-config-flags=--static --enable-decoder=png --enable-decoder=apng --enable-decoder=bmp --enable-decoder=mjpeg --enable-decoder=thp --enable-decoder=gif --enable-decoder=dirac --enable-decoder=ffv1 --enable-decoder=ffvhuff --enable-decoder=huffyuv --enable-decoder=rawvideo --enable-decoder=zero12v --enable-decoder=ayuv --enable-decoder=r210 --enable-decoder=v210 --enable-decoder=v210x --enable-decoder=v308 --enable-decoder=v408 --enable-decoder=v410 --enable-decoder=y41p --enable-decoder=yuv4 --enable-decoder=ansi --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_alaw --enable-decoder=pcm_mulaw --enable-decoder=ass --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=ccaption --enable-decoder=pgssub --enable-decoder=jacosub --enable-decoder=microdvd --enable-decoder=movtext --enable-decoder=mpl2 --enable-decoder=pjs --enable-decoder=realtext --enable-decoder=sami --enable-decoder=ssa --enable-decoder=stl --enable-decoder=subrip --enable-decoder=subviewer --enable-decoder=text --enable-decoder=vplayer --enable-decoder=webvtt --enable-decoder=xsub --enable-decoder=eac3_eae --enable-decoder=truehd_eae --enable-decoder=mlp_eae --enable-encoder=h264_qsv --enable-encoder=mpeg2_qsv --enable-encoder=hevc_qsv --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=h264_nvenc --enable-encoder=eac3_eae --arch=x86_64 --cc='ccache gcc' --enable-libmfx
avformat configuration: --libdir=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28/lib --prefix=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28 --enable-shared --disable-schannel --disable-libx264 --disable-bzlib --enable-debug --disable-avfilter --disable-avdevice --disable-swresample --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-ffprobe --disable-muxers --disable-encoders --disable-decoders --disable-hwaccels --disable-devices --disable-lzma --disable-iconv --enable-gnutls --disable-protocol=concat --external-decoder=h264 --pkg-config-flags=--static --enable-decoder=png --enable-decoder=apng --enable-decoder=bmp --enable-decoder=mjpeg --enable-decoder=thp --enable-decoder=gif --enable-decoder=dirac --enable-decoder=ffv1 --enable-decoder=ffvhuff --enable-decoder=huffyuv --enable-decoder=rawvideo --enable-decoder=zero12v --enable-decoder=ayuv --enable-decoder=r210 --enable-decoder=v210 --enable-decoder=v210x --enable-decoder=v308 --enable-decoder=v408 --enable-decoder=v410 --enable-decoder=y41p --enable-decoder=yuv4 --enable-decoder=ansi --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_alaw --enable-decoder=pcm_mulaw --enable-decoder=ass --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=ccaption --enable-decoder=pgssub --enable-decoder=jacosub --enable-decoder=microdvd --enable-decoder=movtext --enable-decoder=mpl2 --enable-decoder=pjs --enable-decoder=realtext --enable-decoder=sami --enable-decoder=ssa --enable-decoder=stl --enable-decoder=subrip --enable-decoder=subviewer --enable-decoder=text --enable-decoder=vplayer --enable-decoder=webvtt --enable-decoder=xsub --enable-decoder=eac3_eae --enable-decoder=truehd_eae --enable-decoder=mlp_eae --enable-encoder=h264_qsv --enable-encoder=mpeg2_qsv --enable-encoder=hevc_qsv --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=h264_nvenc --enable-encoder=eac3_eae --arch=x86_64 --cc='ccache gcc' --enable-libmfx
swscale configuration: --libdir=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28/lib --prefix=/data/jenkins/pms-deps-universal-v2/BUILD_TAG/linux-ubuntu-x86_64/output/pms-depends-linux-ubuntu-x86_64-release-c70cb28 --enable-shared --disable-schannel --disable-libx264 --disable-bzlib --enable-debug --disable-avfilter --disable-avdevice --disable-swresample --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-ffprobe --disable-muxers --disable-encoders --disable-decoders --disable-hwaccels --disable-devices --disable-lzma --disable-iconv --enable-gnutls --disable-protocol=concat --external-decoder=h264 --pkg-config-flags=--static --enable-decoder=png --enable-decoder=apng --enable-decoder=bmp --enable-decoder=mjpeg --enable-decoder=thp --enable-decoder=gif --enable-decoder=dirac --enable-decoder=ffv1 --enable-decoder=ffvhuff --enable-decoder=huffyuv --enable-decoder=rawvideo --enable-decoder=zero12v --enable-decoder=ayuv --enable-decoder=r210 --enable-decoder=v210 --enable-decoder=v210x --enable-decoder=v308 --enable-decoder=v408 --enable-decoder=v410 --enable-decoder=y41p --enable-decoder=yuv4 --enable-decoder=ansi --enable-decoder=alac --enable-decoder=flac --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_alaw --enable-decoder=pcm_mulaw --enable-decoder=ass --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=ccaption --enable-decoder=pgssub --enable-decoder=jacosub --enable-decoder=microdvd --enable-decoder=movtext --enable-decoder=mpl2 --enable-decoder=pjs --enable-decoder=realtext --enable-decoder=sami --enable-decoder=ssa --enable-decoder=stl --enable-decoder=subrip --enable-decoder=subviewer --enable-decoder=text --enable-decoder=vplayer --enable-decoder=webvtt --enable-decoder=xsub --enable-decoder=eac3_eae --enable-decoder=truehd_eae --enable-decoder=mlp_eae --enable-encoder=h264_qsv --enable-encoder=mpeg2_qsv --enable-encoder=hevc_qsv --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=h264_nvenc --enable-encoder=eac3_eae --arch=x86_64 --cc='ccache gcc' --enable-libmfx
libavutil 55. 58.100 / 55. 62.100
libavcodec 57. 89.100 / 57. 92.100
libavformat 57. 71.100 / 57. 72.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 7.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument '/mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'aac'.
Reading option '/mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.tmp.ts' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url /mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.
Successfully parsed a group of options.
Opening an input file: /mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.
[file @ 0x663a6a6280] Setting default whitelist 'file,crypto'
[mpegts @ 0x663a6a58c0] Format mpegts probed with size=2048 and score=50
[mpegts @ 0x663a6a58c0] stream=0 stream_type=1b pid=100 prog_reg_desc=
[mpegts @ 0x663a6a58c0] stream=1 stream_type=11 pid=101 prog_reg_desc=
[mpegts @ 0x663a6a58c0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:2
[mpegts @ 0x663a6a58c0] parser not found for codec none, packets or times may be invalid.
[mpegts @ 0x663a6a58c0] probing stream 1 pp:2500
[mpegts @ 0x663a6a58c0] Probe with size=2776, packets=1 detected loas with score=51
[mpegts @ 0x663a6a58c0] probed stream 1
[NULL @ 0x663a6aa4c0] user data:"x264 - core 148 r2665 a01e339 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=4 chroma_me=0 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=16.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00"
[AVBSFContext @ 0x663a6db380] nal_unit_type: 9, nal_ref_idc: 0
[AVBSFContext @ 0x663a6db380] nal_unit_type: 7, nal_ref_idc: 3
[AVBSFContext @ 0x663a6db380] nal_unit_type: 8, nal_ref_idc: 3
[AVBSFContext @ 0x663a6db380] nal_unit_type: 6, nal_ref_idc: 0
[AVBSFContext @ 0x663a6db380] nal_unit_type: 5, nal_ref_idc: 3
[mpegts @ 0x663a6a58c0] Probe buffer size limit of 5000000 bytes reached
[mpegts @ 0x663a6a58c0] Setting avg frame rate based on r frame rate
[mpegts @ 0x663a6a58c0] Could not find codec parameters for stream 1 (Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x663a6a58c0] After avformat_find_stream_info() pos: 0 bytes read:5722256 seeks:2 frames:291
Input #0, mpegts, from '/mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts':
Duration: 00:00:14.44, start: 1.400000, bitrate: 15141 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100], 67, 1/90000: Video: h264 (Main), 1 reference frame ([27][0][0][0] / 0x001B), none(progressive), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 0/1, 25 fps, 25 tbr, 90k tbn, 90k tbc
Stream #0:1[0x101](eng), 224, 1/90000: Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels
Successfully opened the file.
Parsing a group of options: output url /mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.tmp.ts.
Applying option c:v (codec name) with argument copy.
Applying option c:a (codec name) with argument aac.
Successfully parsed a group of options.
Opening an output file: /mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.tmp.ts.
[NULL @ 0x663a6abfc0] Unable to find a suitable output format for '/mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.tmp.ts'
/mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts.tmp.ts: Invalid argument
[AVIOContext @ 0x663a6ae500] Statistics: 5722256 bytes read, 2 seeks
ERROR # 1 : Failed to convert file /mnt/disk3/TV-DVR/.grab/ce692d1de80bcbae7c69790d4a56ab4fa4d84f0d/Saturday Kitchen Best Bites (2010) - 2017-08-13 00 00 00 - Episode 08-13.ts