bytedeco/javacv

When I starting HLS with some Video avformat_write_header error() error -22: Could not write header to 'C:\Users\xxx\Desktop\test_resource\result\_packetRecord.m3u8'

Open

#1.506 aberto em 11 de set. de 2020

Ver no GitHub
 (8 comments) (0 reactions) (0 assignees)Java (1.583 forks)batch import
help wantedquestion

Métricas do repositório

Stars
 (6.985 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

this is my code

    public static void packetRecord(String inputFile, String outputFile) throws FrameGrabber.Exception, FrameRecorder.Exception {

        FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(inputFile);
        grabber.start();

        FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputFile, grabber.getImageWidth(),
                grabber.getImageHeight(), grabber.getAudioChannels());
        recorder.setFormat("hls");
        recorder.setOption("hls_list_size", "0");
        recorder.setOption("hls_time", "12");
        recorder.start(grabber.getFormatContext());

        AVPacket packet;
        long t1 = System.currentTimeMillis();
        while ((packet = grabber.grabPacket()) != null) {
            recorder.recordPacket(packet);
            if ((System.currentTimeMillis() - t1) > RECORD_LENGTH) {
                break;
            }
        }
        grabber.stop();
        recorder.stop();
    }

this is console log

Exception in thread "main" org.bytedeco.javacv.FrameRecorder$Exception: avformat_write_header error() error -22: Could not write header to 'C:\Users\xxx\Desktop\test_resource\result\_packetRecord.m3u'
	at org.bytedeco.javacv.FFmpegFrameRecorder.startUnsafe(FFmpegFrameRecorder.java:900)
	at org.bytedeco.javacv.FFmpegFrameRecorder.start(FFmpegFrameRecorder.java:406)
	at org.bytedeco.javacv.FFmpegFrameRecorder.start(FFmpegFrameRecorder.java:401)
	at PacketRecorderTest.packetRecord(PacketRecorderTest.java:37)
	at PacketRecorderTest.main(PacketRecorderTest.java:23)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Liang Jian\Desktop\test_resource\2e6851044c4100e04e018aa7a4e68547.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.58.101
  Duration: 00:00:07.04, start: 0.000000, bitrate: 366 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x512 [SAR 86:59 DAR 215:118], 324 kb/s, 24 fps, 24 tbr, 12288 tbn, 96 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 48 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[hls @ 0000000023597980] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
[hls @ 0000000023597980] Aspect ratio mismatch between muxer (1/1) and encoder layer (86/59)

what need i do for my code ?

Guia do colaborador