Open Undercover0007 opened 7 months ago
Hard to say. Sometimes merging some files simply doesn't work due to limitation in the ffmpeg concat implentation. you could check FAQ and try to disable tracks and see if it makes a difference
Thank you for answer. Meanwhile I have gained some clues. First, I noticed the issue occurs in VLC Media Player, but does not occur in Windows Media Player. Second, when I make trimming and concatenating by ffmpeg (from command line), the issue does not occur, I mean VLC plays it properly (at least flickering is much shorter if at all and I don't feel any audio shift). So for now I had to drop LosslessCut and switched to ffmpeg. I really like your application, naturally it is more convenient, especially when cutting many fragments of one video, but with audio shift it becomes useless. If you like to find out what parameters I use to edit files with ffmpeg, etc. to improve your application I will be glad to provide all the details including all the video files.
If you managed to losslessly concatenate using ffmpeg directly, mind to share which commands that produced a correct results?
Certainly, though I am sure you know them if I know them :) Without analyzing / comparing of the videos the commands probably will not be much of a help. I used this command for a few concatenating operations and got good results: ffmpeg -f concat -safe 0 -i FileListToMerge.txt -c copy output.ts
I was happy with it until yesterday when concatenated three videos with the above command and from the weld between second and third one I got audio shift :( I tried one more command today: ffmpeg -i "concat:file01.ts|file02.ts|file03.ts" -c copy output.ts but I haven't played it yet. I will do it probably tomorrow. I noticed I have to play the output file from the beginning to know it is ok, because if I rewind it the audio shift does not occur.
I am a novice about ffpmeg, just try what I find in Internet, so if you have any suggestions (switches) I could try just let me know here and I will be testing them.
ffmpeg -f concat -safe 0 -i FileListToMerge.txt -c copy output.ts
This looks very similar to what losslesscut is already doing. So i'm not sure why it's working from the command line but not from losslesscut. PS losslesscut prints out the commands that it has run. "Tools -> last ffmpeg commands"
ffmpeg -i "concat:file01.ts|file02.ts|file03.ts" -c copy output.ts
interesting. this is the concat protocol, it is very simple in that it just concatenates the raw file data without demuxing (it's like simply concatenating the binary data of the files together). therefore it only works for some formats like MPEGTS which doesn't have any header at the beginning of the file.
Thank you for your tips. They are really helpful. I made some more research and it looks you are absolutely right about the command
ffmpeg -f concat -safe 0 -i FileListToMerge.txt -c copy output.ts
The output generated by LosslessCut and ffmpeg is the same ("FC: no differences encountered"). The source of the issue with flickering and audio shift lays before merging. It lays during cut operation. This is my first conclusion. The second is that when I used
ffmpeg -i "concat:file01.ts|file02.ts" -c copy output.ts
command to concatenate the same two files the output comes with the flickering issue, but without audio shift issue.
I wonder if "seek keyframe" function in LosslessCut applies at MPEGTS files, because when I use
ffmpeg -ss 00:04:54.20 -to 00:33:08.60 -i ...
command to trim video defining fractions of a second it looks to cut precisely at that point without seeking and shifting back or forth to any keyframe. Does the TS format have keyframes? Am I able to definitely know if a file has keyframes? The issue seems to be very subtle. Maybe it is enough to cut one frame back or forth to avoid the whole problem. Maybe I should report that issue to VLC developer, because when I play the concatenated files in Windows Media Player it plays them smoothly without any flickering nor audio shift. I will make more research about it and let you know. I would appreciate your tip about the keyframes mentioned above.
Does the TS format have keyframes?
yes it does
Am I able to definitely know if a file has keyframes?
they should show up as dark lines on the timeline when you enable the keyframes button in losslesscut.
it's hard to say what's the problem exactly. it often take some experimenting to get the right output when losslessly cutting/merging.
A few updates.
ffmpeg -ss 00:05:48.60 -to 00:25:47.20 -i "TVne01.ts" -c copy TVtr01.ts
I can do it very precisely, probably with accuracy to a single frame.
ffmpeg -i "concat:file01.ts|file02.ts" -c copy output.ts
works better. It still sometimes flickers at the weld on VLC, but no audio shift. At least for now. So if you would like to improve LosslessCut I would recommend to use the command for merging MPEGTS files instead or give users a choice (checkbox?), though maybe it's an issue for VLC only.
That's all for now.
Ok so to summarize, you'd like to be able to use the concat protocol instead of the concat demuxer which losslesscut currently uses.
e.g.ffmpeg -i "concat:file01.ts|file02.ts" -c copy output.ts
I will leave this as a feature request.
For me it is less important, because I can do it purely by ffmpeg for the operations I am performing at the moment (trimming tv streams and merging some of them). However for many people using commands in command prompt is quite a big challenge. Maybe adding a radio button giving them 2 options (concat demuxer, concat protocol as you described them) with short proper floating description just for MPEGTS files would be good idea.
The fewer issues I have to read, the more new features I will have time to implement, so I ask that you please try these things first
Steps to reproduce
I trim 2 files (using only "seek keyframe"), they play fine after that. Then I open first trimmed file, then open the other one, a dialog box appears, I choose "Merge/concatenate with current file", "check compatability" ok, merge operation is completed successfully, it plays fine until it comes to the point where the files were merged. The video flickers for a second and from that moment the audio is shifted a little bit. I make many this kind of operations (trimming + merging) with the same kind of files and this is second or third time I experience the problem. Could you take a look what could be wrong? The files are quite big (2x 350MB + merged 700MB), I am not sure if I can upload them here.
Expected behavior
After merge the resulting file should play fine.
Actual behavior
The video flickers for a second and audio is shifted from that point.
Provide an error report
No error message.
Share the file
No response
Share log from developer tools
No response