Rather than do a quick patch/fix, for the 0 sample content file issue in #acxi did a complete correction, along with small refactor to make logic easier to follow, and code easier to read. Now -Z analyze mode collects and shows all 0 size errors, along with < minimum value, and -Xq exits with error for both #metaflac and #ffprobe options.
Also added size print for < 1 KiB, for B, that wasn't supported so showed 0 if < 1 KiB, now shows B, a 0 sample #flac is 86 B, for example due to metadata.
#acxi #metaflac #ffprobe #flac
FFmpeg stands for " Fast Forward MPEG."
MPEG stands for "Motion Picture Experts Group."
FFmpeg is designed for processing video and audio files on the command line. It is widely used for transcoding, basic editing like trimming and concatenation, video scaling and video post-production effects and standards compliance (SMPTE, ITU).
Included with FFmpeg is also FFplay and FFprobe.
FFplay is a simple media player.
FFprobe is a tool to display media information.
My reason for asking is if I use
-map 0:0 -map 0:x
to encode an mpg file from a DVD rip,
the resulting file is in English, otherwise I get Spanish.
The 'x' is derived from the #ffprobe command, and the line that has 0x80 is the one I use.
Incidentally...
1. Getting chapter info:
ffprobe -i <filename.m4b> -print_format json -show_chapters -v quiet -hide_banner
The output of which I direct into a tempfile.
2. Read in the tempfile, get the chapter ids, start_time, and end_time. Then use:
ffmpeg -ss <start_time> -to <end_time> -i <filename.m4b> -v quiet -hide_banner -vn -map_chapters -1 ./temp/<chap_id>.mp3
In a loop, to gradually grab each slice of audio into a separate mp3 file.
Meanwhile, written a first pass #python script that can do the split #M4B #audiobook thing. It currently splits to #mp3 into a hardcoded directory. I'll make it a little more configurable tomorrow. Uses #ffprobe to get the chapter info, and then #ffmpeg to do the actual split/transcode. Oh and I went with -ss & -to rather than -ss and -t
#python #m4b #audiobook #mp3 #ffprobe #ffmpeg