我正在尝试使用 FFMPEG 创建低延迟 CMAF 视频流。为此,我想lhls
在 FFMPEG 中启用该选项,以便#EXT-X-PREFETCH
在 HLS 清单中写入标签。
https://www.ffmpeg.org/ffmpeg-all.html
启用低延迟 HLS(LHLS)。添加 #EXT-X-PREFETCH 标签和当前 >segment 的 URI。Apple 没有 LHLS 的官方规范。与此同时,>hls.js 玩家正在尝试标准化一个开放的 LHLS 规范。>草案规范可在https://github.com/video-dev/hlsjs->rfcs/blob/lhls-spec/proposals/0001-lhls.md此选项也将尝试>遵守上述开放规范, 直到 Apple 的规范正式 > 支持它。仅在启用流和 hls_playlist 选项时适用。这是一个实验性功能。
ffmpeg -re -i ~/Documents/videos/BigBuckBunny.mp4 \
-map 0 -map 0 -map 0 -c:a aac -c:v libx264 -tune zerolatency \
-b:v:0 2000k -s:v:0 1280x720 -profile:v:0 high \
-b:v:1 1500k -s:v:1 640x340 -profile:v:1 main \
-b:v:2 500k -s:v:2 320x170 -profile:v:2 …
Run Code Online (Sandbox Code Playgroud) 我想使用Python和Signature v4将mp4文件发布到AWS MediaStore。我正在尝试使用PutObject
MediaStore中的操作。对于这项工作,我无法使用SDK或CLI。
我可以在没有SDK或CLI的情况下使用Python向MediaStore发出GET请求,但是关于POST请求,我不知道如何处理有效负载。我收到以下错误:
<InvalidSignatureException>
<Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message>
</InvalidSignatureException>
Run Code Online (Sandbox Code Playgroud)
# NON WORKING CODE
import sys, os, base64, datetime, hashlib, hmac
import requests # pip install requests
method = 'PUT'
service = 'mediastore'
host = 'qwerty123.data.mediastore.ap-northeast-1.amazonaws.com'
region = 'ap-northeast-1'
endpoint = 'https://qwerty123.data.mediastore.ap-northeast-1.amazonaws.com'
request_parameters = 'Action=PutObject&Path=dummyfile.mp4&Version=2017-09-01'
cwd = os.getcwd()
def sign(key, msg):
return hmac.new(key, msg.encode('utf-8'), …
Run Code Online (Sandbox Code Playgroud) 我正在使用 FFmpeg 创建 CMAF 流,并使用FFMpeg的方法将其上传到AWS资源 (AWS MediaStore) PUT
。我需要Content-Type
在上传清单和段时传递标头。我有 3 种类型的文件:
application/x-mpegURL
: m3u8 清单
application/dash+xml
: mpd 清单
video/mp4
: 视频片段
目前,所有类型都Binary - octet-stream
在AWS资源 (AWS MediaStore)中设置为。由于我将上传大量文件,因此无法在文件上传后使用 AWS Lambda 函数设置正确的内容类型。
[https @ 0x555fe7a7d1c0] Opening 'https://XXXX.YYYY.amazonaws.com/chunk-stream0-00001.mp4' for writing
[https @ 0x555fe7a7d0c0] request: PUT /chunk-stream0-00001.mp4 HTTP/1.1
Transfer-Encoding: chunked
User-Agent: Lavf/58.28.100
Accept: */*
Connection: keep-alive
Host: XXXXX.YYYY.amazonaws.com
Icy-MetaData: 1
Run Code Online (Sandbox Code Playgroud)
我尝试了 FFMpeg 的静态构建和主分支。我尝试了不同的方法来传递内容类型,但没有成功:
-mime_type 1 -headers "Content-type: video/mp4\r\n"
-mime_type "video/mp4,application/dash+xml,application/x-mpegURL"
-content_type application/dash+xml
-multiple_requests …
ffmpeg mediastore amazon-web-services http-live-streaming mpeg-dash
我正在开发一个Android应用程序,它启动加密设备上的数据的过程.
我正在使用以下代码检测加密状态:
int encrypted = 0;
device_policy_manager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
encrypted = device_policy_manager.getStorageEncryptionStatus();
Log.d("TAG", "encryption status : " + encrypted);
}
Run Code Online (Sandbox Code Playgroud)
在某些设备上,加密过程开始并失败.通常,这些设备没有"设置">"安全性"菜单(Android 3.x和Android 4.x)中提供的"加密"选项.
有没有办法以编程方式检测设备是否能够进行存储加密?
谢谢,谢谢.
encryption storage android android-intent device-policy-manager
ffmpeg ×2
mediastore ×2
mpeg-dash ×2
android ×1
encryption ×1
low-latency ×1
python ×1
storage ×1
video ×1