Awk 如何使用预定义的时间将音频文件拆分为多个章节

Awk 如何使用预定义的时间将音频文件拆分为多个章节,awk,sed,ffmpeg,Awk,Sed,Ffmpeg,如何将有声书本文件拆分为10章,在给定的元数据预定义时间内更易于收听 0.0000003472.683000秒本次ch0 3472.683000、7642.058000 ch1 等等 每章的开头和结尾有两列 我是一个哑巴,但我尝试过使用awk在左右两侧添加列以获取命令行,但失败了 ffmpeg -i output.mp3 -acodec copy -ss begin -to end ch'number'.mp3. 问题在于NF位置,然后增加新输出文件的数量 如何使用awk或sed

如何将有声书本文件拆分为10章,在给定的元数据预定义时间内更易于收听 0.0000003472.683000秒本次ch0

3472.683000、7642.058000 ch1

等等

每章的开头和结尾有两列

我是一个哑巴,但我尝试过使用awk在左右两侧添加列以获取命令行,但失败了

    ffmpeg -i output.mp3  -acodec copy -ss  begin -to end  ch'number'.mp3.
问题在于NF位置,然后增加新输出文件的数量


如何使用awk或sed并计算新文件名ch01 ch02等

每个预定义章节的“开始”和“结束”时间,用途:10 ffmpeg命令行将其拆分

    ffmpeg -i audiofile.mp3  -acodec copy -ss begin to end  ch'number'.mp3
首先在开头添加带有sed的模式'-i output.mp3-acodec copy-ss'

    sed  -e '1,$s/^/ -i audiofile.mp3  -acodec copy -ss' file1 > file2 #file1 :contains 2 columns of begin and end time 
结果

    -i audiofile.mp3  -acodec copy -ss begin, end  
第二,将“by'-to”全局替换为g

    sed s'/, / -to /g' file2 > file3
我们会

    -i audiofile.mp3  -acodec copy -ss begin -to end
带awk的第三增量计数器

    awk '{$(NF+1) = "ch"(NR-1)".mp3"} 1' file3 > file4
我们获得ch0.mp3 ch1.mp3..ch10.mp3

     -i audiofile.mp3 -acodec copy -ss begin -to end ch'number'.mp3 
ffmpeg从文件4读取输入

    ffmpeg $(cat file4)

你将有10章

这段muxer就是为了这个

ffmpeg -i output.mp3 -c copy -f segment -segment_times 0,3472.683,7642.058 -segment_start_number 1 ch%d.mp3

我已经多次添加了前三章。此命令将创建ch1.mp3、ch2.mp3、,ch3.mp3.

有声读物的标题也很有趣:克莱夫·汤普森的编码者。因此,更清楚地说,这些是文件4中的f第一章,如下所示-i output.mp3-acodec copy-ss 0.000000-to 3472.683000-ch0.mp3-i output.mp3-acodec copy-ss 3472.683000-to 7642.058000-ch1.mp3-i output.mp3-acodec copy-ss 7642.058000-至11130.578000 ch2.mp3-i output.mp3-acodec copy-ss 11130.578000-to 14836.993000 ch3.mp3-i output.mp3-acodec copy-ss 14836.993000-to 18700.283000 ch4.mp3确保您有节省时间的改进