오디오 파일 .aac를 작은 부분으로 정확하게 분할하는 방법4.0초, 즉. 키프레임을 무시하시겠습니까?
원본 비디오 파일은 .mp4 형식입니다. 이 비디오 파일에서 .aac 오디오 파일을 얻었습니다. 하지만 분할된 오디오 파일의 새 부분은 항상 3.4초이므로 4.0초의 오디오가 필요합니다. 키프레임에 문제가 있을 수 있습니다.
감사해요.
cd $DIR_IN
for file in *.mp4
do
echo "Extracting the whole audio-track from $file to $DIR_TMP/${file%.mp4}.aac"
ffmpeg -i "$file" -vn -acodec copy $DIR_TMP/"${file%.mp4}.aac"
echo "Splitting the large video-file $file to a smaller audio-files '${file%.mp4}'XXX.aac"
ffmpeg -i $DIR_TMP/"${file%.mp4}.aac" -c copy -f segment -segment_time 4 $DIR_TMP/"${file%.mp4}%03d.aac"
rm -f $DIR_TMP/"${file%.mp4}.aac"
done
답변1
문제가 해결되었습니다.
#!/bin/bash
avfile=/tmp/video.mp4
ffmpeg -i "$avfile" -c:v libx264 -crf 23 -map 0 -segment_time 4 -g 4 -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*4)" -f segment /tmp/output/"${avfile%.mp4}%03d.mp4"
답변2
ffmpeg -i sourcefile.aac -f segment -segment_time 4 -c copy out%03d.aac
4초짜리 파일이 생성 out000.acc
됩니다 out001.acc
. 마지막 파일은 4초 이하일 수 있습니다.
인용하다:"지정된 분할 속도로 오디오 스트림 분할" 예https://gist.github.com/protolium/e0dbd4bb0f1a396fcb55