相关疑难解决方法(0)

如何使用ffmpeg的sws_scale()调整图片大小?

我想通过使用ffmpeg的函数---> sws_scale()调整图片大小.

有谁知道怎么做?

你有这个功能的源代码吗?

ffmpeg

18
推荐指数
2
解决办法
2万
查看次数

通过ffmpegwrapper切割MPEG-TS文件?

我在设备上有MPEG-TS文件.我想在设备上的文件开始时缩短相当准确的时间.

使用FFmpegWrapper作为基础,我希望实现这一目标.

不过,我在ffmpeg的C API上有点迷失.我从哪里开始?

我尝试在启动PTS之前丢弃所有数据包,但这打破了视频流.

    packet->pts = av_rescale_q(packet->pts, inputStream.stream->time_base, outputStream.stream->time_base);
    packet->dts = av_rescale_q(packet->dts, inputStream.stream->time_base, outputStream.stream->time_base);

    if(startPts == 0){
        startPts = packet->pts;
    }

    if(packet->pts < cutTimeStartPts + startPts){
        av_free_packet(packet);
        continue;
    }
Run Code Online (Sandbox Code Playgroud)

如何在不破坏视频流的情况下切断部分输入文件的开头?当背靠背播放时,我想要2个剪切片段无缝地一起运行.

ffmpeg -i time.ts -c:v libx264 -c:a copy -ss $CUT_POINT -map 0 -y after.ts
ffmpeg -i time.ts -c:v libx264 -c:a copy -to $CUT_POINT -map 0 -y before.ts
Run Code Online (Sandbox Code Playgroud)

似乎是我需要的.我认为需要重新编码,因此视频可以从任意点开始,而不是现有的关键帧.如果有一个更有效的解决方案,那就太好了.如果没有,这就足够了.

编辑:这是我的尝试.我各个部分我不完全了解,从复制拼凑这里.我现在暂时离开"切割"部分,试图将音频+视频编码编写而不会分层复杂.我得到了EXC_BAD_ACCESSavcodec_encode_video2(...)

- (void)convertInputPath:(NSString *)inputPath outputPath:(NSString *)outputPath
                 options:(NSDictionary *)options progressBlock:(FFmpegWrapperProgressBlock)progressBlock
         completionBlock:(FFmpegWrapperCompletionBlock)completionBlock {
    dispatch_async(conversionQueue, ^{
        FFInputFile *inputFile = nil; …
Run Code Online (Sandbox Code Playgroud)

c ffmpeg objective-c ios

17
推荐指数
2
解决办法
3089
查看次数

标签 统计

ffmpeg ×2

c ×1

ios ×1

objective-c ×1