是否可以保护flv文件免遭下载?我想保护我的文件免受下载,但我没有资金用于流媒体服务器,我认为它提供了某种保护.这些文件通过PHP流式传输,位于我服务器上的上传文件夹中.
我已经使用PHP来确保只有订阅者可以观看视频,但我基本上希望更进一步,防止订阅者在登录时使用下载程序(如Sothink Flv Downloader for Firefox)下载我的视频.
我有一个项目,我正在使用PDF生成器向用户发送文件.我们希望为用户提供将此文件附加到电子邮件的选项,而我们在使用Stream对象和附件逻辑时遇到问题.
我们从ABCpdf开始,它有两个保存方法:它可以保存到Stream,或者如果你给它一个字符串,它会尝试保存到磁盘上的文件.我们两个都没问题.
Stream stream = new MemoryStream();
myPdf.Save(stream);
Run Code Online (Sandbox Code Playgroud)
此时一切都很酷 - stream有几千字节的数据,如果你.save()到一个文件,你得到一个具有相同字节数的实际文件.
所以我们此时附上一封电子邮件(初始化邮件对象后,设置为:和发件人:等):
mail.Attachments.Add(new Attachment(stream, "myPdf.pdf"));
mail.Send();
Run Code Online (Sandbox Code Playgroud)
...让我们收到一个0字节的电子邮件,但正确的文件名.
我在网上找到的所有例子都使用StreamReader或StreamWriter或Flush()等.它总是看起来比简单传递Stream更复杂,但可能只有一两行更复杂.这些示例都不是以Stream开头的 - 他们总是试图将数组转换为Stream来向您展示它是多么容易,或者从磁盘中获取文件(我们无法做到这一点,这就是为什么我们很兴奋使用Stream).
无论如何,如果有人能解释我做错了什么或我应该做什么,我真的很感激.谢谢.
感谢您提交APPNAME_HERE.我们已经审核了您的应用程序,并确定此时无法将其发布到App Store,因为它没有使用64 kbps的基线流来实现HTTP直播流协议来播放流式视频.在通过蜂窝网络传输视频馈送时,需要HTTP直播流,以便获得最佳用户体验并利用蜂窝网络最佳实践.该协议自动确定用户可用的带宽,并适当调整带宽,即使带宽流发生变化.这样,只要将64 kbps设置为基线源,就可以灵活地拥有任意数量的流.
这是我从Apple获得的,尽管我有48kbps,64kbps,128kbps和384kbps流可用.如何设置基线Feed?我的应用程序现在的工作方式是先加载可用的最低值,然后再按带宽向上扩展.这是我的索引m3u8
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=48000
stream-soundonly.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000
stream-64k.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=128000
stream-128k.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=384000
stream-384k.m3u8
Run Code Online (Sandbox Code Playgroud)
Apple真的很挑剔
我正在评估用Java播放音频/视频的库.它不需要是100%Java ; Java绑定到本机库是完全可以的.可以从Java控制的外部应用程序也可以,只要它可以在Java组件上呈现视频.
目标平台是Linux.Windows支持是一个加号,但不是必需的.
我使用VLCj绑定玩过VLC ,一般来说效果很好,但在压力下偶尔也会崩溃.我也在奴隶模式下使用mplayer ,看起来不错.但我也想评估其他选项.
这些是要求:
建议?建议吗?
如何将流(协议rtsp,编解码器h264)保存在文件(容器mp4)中?也就是说,在输入无尽的流(用CCTV摄像机)时,输出文件的mp4格式大小为5-10分钟的录制时间.
操作系统:debian,ubuntu软件:vlc,ffmpeg(avconv)
目前使用此方案:
cvlc rtsp://admin:admin@10.1.1.1:554/ch1-s1 --sout=file/ts:stream.ts
ffmpeg -i stream.ts -vcodec copy -f mp4 stream.mp4
Run Code Online (Sandbox Code Playgroud)
但它无法连续录制视频(重启后vlc会丢失大约10秒的直播视频).
有人在iOS上播放过ogg流吗?如果不编写自己的解码器,我可以使用什么?
我正在使用Apple的AVPlayer播放流.
这个问题已被问到这个问题的一部分: iOS在线广播流媒体问题,但尚未得到解答.
我正在尝试制作一个简单的Android应用程序,将实时麦克风音频流式传输到服务器进行播放.产生的播放听起来很奇怪,音频间隙很大.有谁知道我做错了什么?
编辑:解决了.结果我假设每个传入的缓冲区都会完全填满,这是我的错误假设.
这是我的活动:
public class MainActivity extends Activity {
private static String TAG = "AudioClient";
// the server information
private static final String SERVER = "xx.xx.xx.xx";
private static final int PORT = 50005;
// the audio recording options
private static final int RECORDING_RATE = 44100;
private static final int CHANNEL = AudioFormat.CHANNEL_IN_MONO;
private static final int FORMAT = AudioFormat.ENCODING_PCM_16BIT;
// the button the user presses to send the audio stream to the server
private Button sendAudioButton;
// the audio recorder …Run Code Online (Sandbox Code Playgroud) 我尝试解压缩只包含一个项目(超过100MB)的大型zip文件,并希望在解压缩过程中显示进度.
我找到了解决方案,根据解压缩的文件数量可以确定进度,但在我的情况下,我只有一个大文件.所以我猜它必须由解压缩的字节数决定?
实际上我使用SSZipArchive与以下代码工作正常:
var myZipFile:NSString="/Users/user/Library/Developer/CoreSimulator/Devices/mydevice/ziptest/testzip.zip";
var DestPath:NSString="/Users/user/Library/Developer/CoreSimulator/Devices/mydevice/ziptest/";
let unZipped = SSZipArchive.unzipFileAtPath(myZipFile as! String, toDestination: DestPath as! String);
Run Code Online (Sandbox Code Playgroud)
我找不到解决方法.
有人有样品的提示,样品或链接吗?
更新: 以下代码看起来会按预期工作,但只有一个文件被解压缩时,处理程序将只被调用一次(在解压缩结束时):
func unzipFile(sZipFile: String, toDest: String){
SSZipArchive.unzipFileAtPath(sZipFile, toDestination: toDest, progressHandler: {
(entry, zipInfo, readByte, totalByte) -> Void in
println("readByte : \(readByte)") // <- This will be only called once, at the end of unzipping. My 500MB Zipfile holds only one file.
println("totalByte : \(totalByte)")
//Asynchrone task
dispatch_async(dispatch_get_main_queue()) {
println("readByte : \(readByte)")
println("totalByte : \(totalByte)")
//Change progress value
}
}, completionHandler: …Run Code Online (Sandbox Code Playgroud) 我想使用而不是使用库来播放.H264视频文件.iOS 8VideoToolbox.frameworkffmpeg
我发现一些教程+参考链接了解VideoToolbox.framework,但还是没找到,"怎么玩.H264的iOS?".
几个例子:
参考链接:
https://developer.apple.com/library/mac/releasenotes/General/APIDiffsMacOSX10_8/VideoToolbox.html
https://developer.apple.com/videos/wwdc/2014/?include=513#513
在VTDecompressionSessionCreate中解码H264 VideoToolkit API失败,错误为-8971
您可以从此处下载测试(.H264)视频以进行测试.
我正在使用RestSharp(Visual Studio 2013中的版本105.2.3.0,.net 4.5)来调用NodeJS托管的Web服务.我需要做的一个调用是上传文件.使用RESTSharp请求,如果我从我的端部检索流到字节数组并将其传递给AddFile,它工作正常.但是,我更倾向于流内容而不是在服务器内存中加载整个文件(文件可以是100的MB).
如果我设置一个动作来复制我的流(见下文),我在System.Net.ProtocolViolationException的"MyStream.CopyTo"行中得到一个异常(要写入流的字节超过指定的Content-Length字节大小) .在调用client.Execute之后,在Action块中抛出此异常.
根据我的阅读,我不应该手动添加Content-Length标头,如果我这样做,它也无济于事.我已经尝试将CopyTo缓冲区设置为小值和大值,以及完全省略它,但无济于事.有人能给我一些我错过的暗示吗?
// Snippet...
protected T PostFile<T>(string Resource, string FieldName, string FileName,
string ContentType, Stream MyStream,
IEnumerable<Parameter> Parameters = null) where T : new()
{
RestRequest request = new RestRequest(Resource);
request.Method = Method.POST;
if (Parameters != null)
{
// Note: parameters are all UrlSegment values
request.Parameters.AddRange(Parameters);
}
// _url, _username and _password are defined configuration variables
RestClient client = new RestClient(_url);
if (!string.IsNullOrEmpty(_username))
{
client.Authenticator = new HttpBasicAuthenticator(_username, _password);
}
/*
// Does not work, …Run Code Online (Sandbox Code Playgroud)