我需要使用python下载一个流视频(从URL),命令行参数是:
ffmpeg -i URL stream.mp4
我知道我可以使用子进程命令
subprocess.call('ffmpeg -i '+ URL +' stream.mp4', shell=True)
是否有像API这样的替代方法可以代替使用子进程命令
发布于 2016-05-20 01:45:23
这是一个在python中使用ffmpeg的API。
http://mhaller.github.io/pyffmpeg/
发布于 2021-01-28 05:32:58
你可以使用python-ffmpeg-video-streaming,我已经查看了它的文档和存储库,这是一个相当整洁的项目,从HLS ABR支持到AWS S3 upload。
对于HLS输出,请执行以下步骤:
步骤1:
使用pip:pip install python-ffmpeg-video-streaming
安装它
第2步:
附加视频源:
import ffmpeg_streaming
video = ffmpeg_streaming.input(VIEDO_URL)
第2步:
设置视频码率和输出:
from ffmpeg_streaming import Formats, Bitrate, Representation, Size
_360p = Representation(Size(640, 360), Bitrate(276 * 1024, 128 * 1024))
_480p = Representation(Size(854, 480), Bitrate(750 * 1024, 192 * 1024))
_720p = Representation(Size(1280, 720), Bitrate(2048 * 1024, 320 * 1024))
hls = video.hls(Formats.h264())
hls.representations(_360p, _480p, _720p)
hls.output('/var/media/hls.m3u8')
如前所述,您还可以将视频片段上传到任何兼容S3的云存储。
from ffmpeg_streaming import S3, CloudManager
s3 = S3(aws_access_key_id='YOUR_KEY_ID', aws_secret_access_key='YOUR_KEY_SECRET', region_name='YOUR_REGION')
save_to_s3 = CloudManager().add(s3, bucket_name="bucket-name")
hls.output(clouds=save_to_s3)
有关更多信息,请查看软件包的official documents
转码快乐!
https://stackoverflow.com/questions/37330455
复制相似问题