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 ouverte le 11 sept. 2020

Voir sur GitHub
 (8 commentaires) (0 réactions) (0 assignés)Java (1 583 forks)batch import
help wantedquestion

Métriques du dépôt

Stars
 (6 985 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

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 ?

Guide contributeur