Tabla de contenido
dependiente del medio ambiente
prefacio
Este artículo proporciona un método de herramienta para cortar el video de acuerdo con la dimensión temporal, como siempre, el pragmatismo.
dependiente del medio ambiente
Para la instalación del entorno ffmpeg, puede consultar mi otro artículo: Instalación e implementación de Windows ffmpeg_阿良的博客-CSDN Blog
Este artículo no utiliza principalmente ffmpeg, pero ffprobe también se encuentra en el paquete zip del artículo anterior.
Instalación de ffmpy:
pip install ffmpy -i https://pypi.douban.com/simple
el código
Sin tonterías, en el código.
#!/user/bin/env python
# coding=utf-8
"""
@project : csdn
@author : 剑客阿良_ALiang
@file : cut_video.py
@ide : PyCharm
@time : 2022-12-27 10:22:48
"""
import os
import uuid
from ffmpy import FFmpeg
# 视频裁剪
# start_time格式样例:0:00,10:18
def cut_video_by_time(video_path: str, output_dir: str, start_time: str, duration: int):
ext = os.path.basename(video_path).strip().split('.')[-1]
if ext not in ['mp4', 'avi', 'flv']:
raise Exception('format error')
result = os.path.join(output_dir, '{}.{}'.format(uuid.uuid1().hex, ext))
ff = FFmpeg(inputs={video_path: None},
outputs={
result: '-ss {} -t {} -c:v copy -c:a copy -y'.format(start_time, duration)})
print(ff.cmd)
ff.run()
return result
if __name__ == '__main__':
print(cut_video_by_time(r'E:\360MoveData\Users\huyi\Desktop\3333333.mp4', r'E:\360MoveData\Users\huyi\Desktop',
'0:10', 5))
descripción del código
1. Los parámetros del método cut_video_by_time son, respectivamente, la dirección del video de entrada, la dirección del directorio de salida, el punto de tiempo de inicio del corte y la duración del corte.
2. Preste atención al formato de la hora de inicio, se dan varios formatos: 0:01, 10:11, con los minutos al frente y los segundos al final.
3. Se ha realizado una verificación simple del formato de video. Si necesita agregarlo, puede verlo usted mismo.
4. El nombre final del video usa uuid para evitar la duplicación.
5. La duración del video cortado no puede exceder el tiempo del video.
verificar
Información de video preparada.
Resultados de la
ffmpeg versión n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 los desarrolladores de FFmpeg
creados con gcc 9.3-win32 (GCC) 20200320
configuración:--prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os =mingw32 --habilitar-gpl --habilitar-versión3 --deshabilitar-depurar --habilitar-iconv --habilitar-zlib --habilitar-libxml2 --habilitar-libfreetype --habilitar-libfribidi --habilitar-gmp --habilitar -lzma --habilitar-fontconfig --habilitar-libvmaf --deshabilitar-vulkan --habilitar-libvorbis --habilitar-amf --habilitar-libaom --habilitar-avisynth --habilitar-libdav1d --habilitar-ffnvcodec --habilitar -cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx - -habilitar-libopencore-amrnb --habilitar-libopencore-amrwb --habilitar-libopenjpeg --habilitar-librav1e --habilitar-schannel --habilitar-sdl2 --habilitar-libsoxr --habilitar-libsrt --habilitar-libtwolame -- habilitar-libvidstab --habilitar-libx264--enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
Libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7.100 libavevice 5.100 5.100 5.100 5.100 5.100 LIBAVFILTER 7. 85.100 /
7.100
LIBAVDEVICE 5.100 5. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Entrada #0, mov,mp4,m4a,3gp,3g2,mj2, desde 'E:\360MoveData\Users\huyi\Desktop\3333333.mp4':
Metadatos:
marca_principal: isom
versión_secundaria: 512
marcas_compatibles: isomiso2avc1mp41
hora_de_creación: 2022-09-08T12:04:43.000000Z
Hw: 1
:
bitRate: 16000000
:
com.apple.quicktime.artwork: {"data":{"edittime":22,"infoStickerId":"","musicId":"","os":"windows","product": "lv","stickerId":"","videoEffectId":"","videoId":"245ba6f1-f2ab-4d70-bc77-c70ea30c171a","videoParams":{"be":0,"ef":0 ,"ft":0,"ma":0,"me":0,"mu":0,"re":0,"sp":0,"st":0,"te":0," t
maxrate: 16000000
:
te_is_reencode: 1
:
codificador: Lavf58.76.100
Duración: 00:00:26,91, inicio: 0,000000, tasa de bits: 11898 kb/s
Transmisión n.º 0:0(und): Vídeo: h264 (principal) (avc1/0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 11741 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (predeterminado)
Metadatos:
tiempo_de_creación: 2022-09-08T12:04:43.000000Z
nombre_del_controlador: VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, estéreo, fltp, 156 kb/s ( predeterminado)
Metadatos:
hora_de_la_creación: 2022-09-08T12:04:43.000000Z nombre_del_controlador: Salida
SoundHandler
#0, mp4, a 'E:\360MoveData\Users\huyi\Desktop\7812f03a858f11ed8359e454e8bf1461.mp4':
Metadatos:
om minor_brand
: is 512
marcas_compatibles: isomiso2avc1mp41
te_is_reencode : 1
:
Hw : 1
:
bitRate : 16000000
:
com.apple.quicktime.artwork: {"data":{"edittime":22,"infoStickerId":"","musicId":"","os":"windows","product":"lv" ,"stickerId":"","videoEffectId":"","videoId":"245ba6f1-f2ab-4d70-bc77-c70ea30c171a","videoParams":{"be":0,"ef":0,"ft ":0,"ma":0,"yo":0,"mu":0,"re":0,"sp":0,"st":0,"te":0,"t
maxrate : 16000000
:
codificador: Lavf58.45.100
Secuencia n.° 0:0(und): Video: h264 (principal) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2 -31,11741 kb/s, 30 fps, 30 tbr, 15360 tbn, 15360 tbc (predeterminado)
Metadatos:
hora_creación: 2022-09-08T12:04:43.000000Z
nombre_controlador: VideoHandler
Transmisión n.° 0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, estéreo, fltp, 156 kb/s (predeterminado)
Metadatos:
tiempo_de_creación: 2022-09-08T12:04:43.000000Z
nombre_del_controlador : SoundHandler
Mapeo de transmisión: Transmisión
#0:0 -> #0:0 (copiar)
Transmisión #0:1 -> #0:1 (copiar)
Presione [q] para detener, [?] para ayuda
marco = 150 fps = 0.0 q=-1.0 Lsize= 6607kB time=00:00:04.97 bitrate=10875.7kbits/s speed= 329x
video:6507kB audio:95kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.082792%
E:\360MoveData \Usuarios\huyi\Escritorio\7812f03a858f11ed8359e454e8bf1461.mp4
Información del video del resultado
Resumir
No hay nada que resumir, atención a la duración del video.
Cuota:
Las acciones parecen seguir a los sentimientos, pero en realidad las acciones y los sentimientos van de la mano.Si la voluntad controla las acciones, también puede controlar indirectamente los sentimientos. ——"La debilidad de la naturaleza humana"
Si este artículo te ha resultado útil, dale me gusta , ¡gracias!