Recherche avancée

Médias (0)

Mot : - Tags -/flash

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (108)

Sur d’autres sites (15325)

  • FFMPEG concat causing audio glitches in segments boundaries

    28 mai 2017, par Idan

    I am segmenting a video file to 10sec segments, transcoding each of them and then run a concat to merge them all back together.
    While the whole process works without errors and the final file is valid and playable, I’ve noticed some sort of glitches/interruptions in the audio stream when passing over the original segments boundaries.

    For example, in a 60sec video that was segmented to 10sec segments and stitched back again, the final output will show audio interruptions in 10/20/30/40/50 sec timestamps.

    For segmenting the files I use :

    ffmpeg -y -i $INPUT_FILE -c copy -flags -global_header -segment_time 10 -break_non_keyframes 0 -reset_timestamps 1 -segment_list file_segs.list -segment_list_type ffconcat -write_empty_segments 0 -segment_format mp4  -f segment file_seg-%d.mp4

    And for concat I use :

    ffmpeg -y -f concat -i file_segs.list -c copy -movflags +faststart file_video.mp4

    Transcoding is to libx264 / aac

    What might be the cause ? Is there any way to work around this problem ?

  • FFMPEG concat causing audio glitches in segments boundaries

    28 mai 2017, par Idan

    I am segmenting a video file to 10sec segments, transcoding each of them and then run a concat to merge them all back together.
    While the whole process works without errors and the final file is valid and playable, I’ve noticed some sort of glitches/interruptions in the audio stream when passing over the original segments boundaries.

    For example, in a 60sec video that was segmented to 10sec segments and stitched back again, the final output will show audio interruptions in 10/20/30/40/50 sec timestamps.

    For segmenting the files I use :

    ffmpeg -y -i $INPUT_FILE -c copy -flags -global_header -segment_time 10 -break_non_keyframes 0 -reset_timestamps 1 -segment_list file_segs.list -segment_list_type ffconcat -write_empty_segments 0 -segment_format mp4  -f segment file_seg-%d.mp4

    And for concat I use :

    ffmpeg -y -f concat -i file_segs.list -c copy -movflags +faststart file_video.mp4

    Transcoding is to libx264 / aac

    What might be the cause ? Is there any way to work around this problem ?

  • How can i parse strings as the inputs to subprocess.Popen ?

    26 juillet 2013, par rash

    Here I tried to cut first and second 30sec long video file from "path/connect.flv" to the files output1.flv and output2.flv. It works. I able to concatenate these two files to form a new file "final.flv" of 60sec long. So this works and i am getting the outputs output1.flv [30sec], output2.flv[30sec] and final.flv[1min].

    Here is the python code :

    import subprocess

    ffmpeg_command1 = ["ffmpeg", "-i", "/home/xincoz/test/connect.flv", "-acodec", "copy", "-ss", "00:00:00", "-t", "00:00:30", "/home/xincoz/test/output1.flv"]

    ffmpeg_command2 = ["ffmpeg", "-i", "/home/xincoz/test/connect.flv", "-acodec", "copy", "-ss", "00:00:30", "-t", "00:00:30", "/home/xincoz/test/output2.flv"]

    ffmpeg_command3 = ["mencoder", "-forceidx", "-ovc", "copy", "-oac", "pcm", "-o", "/home/xincoz/test/final.flv", "/home/xincoz/test/output1.flv", "/home/xincoz/test/output2.flv"]

    subprocess.call(ffmpeg_command1)

    subprocess.call(ffmpeg_command2)

    subprocess.Popen(ffmpeg_command3)

    But what i really want is to concatenate two strings out1 and out2 and concatinate these two to a file instead of concatenating "/home/xincoz/test/output1.flv" and "/home/xincoz/test/output2.flv". So how can i parse string out1 and out2 as the inputs to mencoder ? Please edit my code to achieve the result.

    import subprocess,os

    ffmpeg_command = ["ffmpeg", "-i", "/home/xincoz/test/connect.flv", "-acodec", "copy", "-ss", "00:00:00", "-t", "00:00:30","-f", "flv", "pipe:1"]

    p = subprocess.Popen(ffmpeg_command,stdout=subprocess.PIPE)

    out1, err = p.communicate()

    ffmpeg_command1 = ["ffmpeg", "-i", "/home/xincoz/test/connect.flv", "-acodec", "copy", "-ss", "00:00:30", "-t", "00:00:30","-f", "flv", "pipe:1"]

    p1 = subprocess.Popen(ffmpeg_command1,stdout=subprocess.PIPE)

    out2, err1 = p1.communicate()

    ffmpeg_command2 = ["mencoder", "-forceidx", "-ovc", "copy", "-oac", "pcm", "-o", "/home/xincoz/test/final.flv", out1, out2 ]

    p2=subprocess.Popen(ffmpeg_command2)

    Please help me. Thanks a lot in advance.