Anonymous
Как нарезать с помощью FFMPEG в Python
Сообщение
Anonymous » 30 окт 2025, 18:08
Я пытался нарезать свои аудиофайлы на основе выходных данных silero-vad, используя следующий код.
Код: Выделить всё
for time_stamp in speech_timestamps_sec:
output_destination = f"{DESTINATION_FOLDER}/{base_name}_{time_stamp['start']}_{time_stamp['end']}.wav"
print(output_destination)
print(AUDIO_WAV_FILE)
duration = time_stamp['end'] - time_stamp['start']
(
ffmpeg
.input(AUDIO_WAV_FILE, ss=time_stamp["start"])
.output(output_destination, t=duration, c='copy') # Use c='copy' for fast, loss-less cutting
.run(overwrite_output=True)
)
Вот какая ошибка:
Код: Выделить всё
ffmpeg version 7.1.2-1+b1 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 15 (Debian 15.2.0-4)
configuration: --prefix=/usr --extra-version=1+b1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --disable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.101 / 61. 19.101
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
[aist#0:0/pcm_s16le @ 0xaaaaed4a1120] Guessed Channel Layout: mono
Input #0, wav, from '/home/vexed/SDRTrunk/recordings/20251026_171906Cities__Fresno_Fresno_PD1___TO_1.wav':
Metadata:
comment : Date:2025-10-26 17:19:06.032;System:Cities ;Site:Fresno;Name:Fresno PD1 ;Decoder:NBFM;Frequency:460050000;
ISBJ : Cities
grouping : Cities
encoder : sdrtrunk v0.6.1
title : 1"Police Southwest"
composer : sdrtrunk v0.6.1
copyright : 2025
album : Fresno PD1
genre : Scanner Audio
TDAT : 2025-10-26 17:19:06.032
date : 2025
Duration: 00:00:00.77, bitrate: 134 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Output #0, wav, to '/home/vexed/PythonProjects/SDR-Project/VoiceToText/SamplesWithTranscription/20251026_171906Cities__Fresno_Fresno_PD1___TO_1.wav_7.2_12.288.wav':
Metadata:
ICMT : Date:2025-10-26 17:19:06.032;System:Cities ;Site:Fresno;Name:Fresno PD1 ;Decoder:NBFM;Frequency:460050000;
ISBJ : Cities
grouping : Cities
ICRD : 2025
INAM : 1"Police Southwest"
composer : sdrtrunk v0.6.1
ICOP : 2025
IPRD : Fresno PD1
IGNR : Scanner Audio
TDAT : 2025-10-26 17:19:06.032
ISFT : Lavf61.7.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s
Press [q] to stop, [?] for help
[out#0/wav @ 0xaaaaed49c6b0] video:0KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
[out#0/wav @ 0xaaaaed49c6b0] Output file is empty, nothing was encoded
size= 0KiB time=N/A bitrate=N/A speed=N/A
Файл все равно создается. Файл пустой, содержит только метаданные. Я также попытался использовать библиотеку подпроцессов для запуска команды и получил те же результаты.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... -in-python
1761836914
Anonymous
Я пытался нарезать свои аудиофайлы на основе выходных данных silero-vad, используя следующий код. [code]for time_stamp in speech_timestamps_sec: output_destination = f"{DESTINATION_FOLDER}/{base_name}_{time_stamp['start']}_{time_stamp['end']}.wav" print(output_destination) print(AUDIO_WAV_FILE) duration = time_stamp['end'] - time_stamp['start'] ( ffmpeg .input(AUDIO_WAV_FILE, ss=time_stamp["start"]) .output(output_destination, t=duration, c='copy') # Use c='copy' for fast, loss-less cutting .run(overwrite_output=True) ) [/code] Вот какая ошибка: [code]ffmpeg version 7.1.2-1+b1 Copyright (c) 2000-2025 the FFmpeg developers built with gcc 15 (Debian 15.2.0-4) configuration: --prefix=/usr --extra-version=1+b1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --disable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 [aist#0:0/pcm_s16le @ 0xaaaaed4a1120] Guessed Channel Layout: mono Input #0, wav, from '/home/vexed/SDRTrunk/recordings/20251026_171906Cities__Fresno_Fresno_PD1___TO_1.wav': Metadata: comment : Date:2025-10-26 17:19:06.032;System:Cities ;Site:Fresno;Name:Fresno PD1 ;Decoder:NBFM;Frequency:460050000; ISBJ : Cities grouping : Cities encoder : sdrtrunk v0.6.1 title : 1"Police Southwest" composer : sdrtrunk v0.6.1 copyright : 2025 album : Fresno PD1 genre : Scanner Audio TDAT : 2025-10-26 17:19:06.032 date : 2025 Duration: 00:00:00.77, bitrate: 134 kb/s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Output #0, wav, to '/home/vexed/PythonProjects/SDR-Project/VoiceToText/SamplesWithTranscription/20251026_171906Cities__Fresno_Fresno_PD1___TO_1.wav_7.2_12.288.wav': Metadata: ICMT : Date:2025-10-26 17:19:06.032;System:Cities ;Site:Fresno;Name:Fresno PD1 ;Decoder:NBFM;Frequency:460050000; ISBJ : Cities grouping : Cities ICRD : 2025 INAM : 1"Police Southwest" composer : sdrtrunk v0.6.1 ICOP : 2025 IPRD : Fresno PD1 IGNR : Scanner Audio TDAT : 2025-10-26 17:19:06.032 ISFT : Lavf61.7.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s Press [q] to stop, [?] for help [out#0/wav @ 0xaaaaed49c6b0] video:0KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown [out#0/wav @ 0xaaaaed49c6b0] Output file is empty, nothing was encoded size= 0KiB time=N/A bitrate=N/A speed=N/A [/code] Файл все равно создается. Файл пустой, содержит только метаданные. Я также попытался использовать библиотеку подпроцессов для запуска команды и получил те же результаты. Подробнее здесь: [url]https://stackoverflow.com/questions/79802496/how-to-slice-using-ffmpeg-in-python[/url]