This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

No A/V/ delay taken into account
#31
I send that link yesterday,..
Reply
#32
frederic, as it was requested by Selur: "Please do not do full quotes of posts, since it is really annoying to having to scroll to all the previously posted content. "
Simply click "New Reply" button when you post a comment:
[Image: 9thiR7c.jpg]
Reply
#33
Hello,

First I installed the last version you gave me by mail. All results come from this version.

1 - Is the source file "corrupted" or anything coming from the file ?

1 - 1 - I encoded the same source file with avidemux (2.7.8) : the delay can be whatever you want : the result is a mp4 video sync file : the A/V delay was set to 0, and the A/V was fully sync.
 (BTW the source file is here : https://1fichier.com/?vp6nr0twqao89rm9acc6&af=22123 )

1 - 2 - I split the source file to cut it after around 1 min 30 s, since I realized that the sample I provided could not serve as a reliable test. There was not enough video to see.

Here is the new sample : https://1fichier.com/?1vkirot8ko7jox2ui7q7

The output file encoded with Hybrid is : https://1fichier.com/?wvkkha9t1xt1p8yv2ouw

The procedure I followed is just above :

  1. I launch Hybrid
  2. I drap/dropped the new sample source file in the Base field
  3. I turned to Custom for the audio
  4. In Audio : I saw that the Fr audio has a 1000 delay and and the second track (en) has 0 delay
  5. I reload my parameters for encoding the audio (->Apply the currently selected profile)
  6. The audio 1st track is selected (Fr) : I put 0 as delay A/V; then I hit the return key (to be sure the 0 is taken)
  7. I added the track for encoding (I click on the + : -> Add current)
  8. I returned to the Base and add a name for the video output : -> Set Output File
  9. Base / Add to queue
  10. Jobs : Start

Here is a copy/past of the just after putting a 0 delay for the audio track : (point 4)
/Users/Famille/Downloads/The.Suicide.Squad.2021.MULTi.TRUEFRENCH.1080p.WEB.H264.WwW.ZoNe-TelecharGement.CaM (1) (2)-001.mkv;0;aac;6;bitrate;192;FDK;low complexity;48000;3.00;fr;-50;87.104;ac3;0;1;toStereo (dpl2);;false;;false;2;false;;;;false;false;;;false;48000;1;ac-3;;false;true;false;3/2/0.1;1/1;;0;0;;None;54:_:15;10;20;0;1000;;false;;pcm;false;2;;;;;;16;-n;4;GPU;NVIDIA CUDA;;6;false;/Users/Famille/Downloads/The.Suicide.Squad.2021.MULTi.TRUEFRENCH.1080p.WEB.H264.WwW.ZoNe-TelecharGement.CaM (1) (2)-001.mkv;true;false;;;false;2;;;-1;

Here is a copy/past of the MP4Box, after the encoding, so at the end :

I disabled "Jobs->Queue->Minimize job command lines" to look at the created job calls, and especially to the MP4Box call :
MP4Box -add "/Users/Famille/Films-Apple/2021-09-25@16_40_24_6910_04.264"#video:fps=24000/1001:delay=50:name="":lang="" -brand avc1 -add "/Users/Famille/Films-Apple/iId_2_aid_0_lang_fr_ms_2021-09-25@16_40_24_6910_02.aac"#audio:name="":lang="fr" -mpeg4 -itags tool="Hybrid 2021.09.24.1" -tmp "/Users/Famille/Films-Apple" -new "/Users/Famille/Films-Apple/_2021-09-25@16_40_24_6910__06.mp4"

See the result file around 1min 20 s. No sync between the audio track and the video... There is exactly 1s delay. See that with either VLC nor SMplayer.

NB : to split the file, I used MKVToolNix.
NB2 : previously, when I encoded the wall source file with 0 delay, I used MKVToolNix to sync the result file, and to produce another mp4 sync file (with a 1000 delay with ToolNix).

2 - Hydrid tests

I used another source file, with just one audio track, and without delay (0).
The procedure I used is the following :
  1. I cleared all jobs in Hybrid (Jobs : Remove All)
  2. I drag/dropped the new source file
  3. The audio was already set to Custom
  4. The encoding parameters were set too. I clicked on Add current
  5. I returned to Base : I put a name for the output video
  6. Then I clecked on Add to queue
  7. I went to Audio : click on Clear
  8. I set 1000 in the field A/V Delay, hit the return key
  9. I clicked on the Add Current
  10. I returned to Base : I put another name for the video output
  11. I clicked on Add to Queue
  12. Jobs : Start
  13. I disabled "Jobs->Queue->Minimize job command lines" to look at the created job calls, and especially to the MP4Box call

For the 1st job : (delay 0)

MP4Box -add "/Users/Famille/Films-Apple/2021-09-25@19_11_07_6910_04.264"#video:fps=25:delay=50:name="":lang="" -brand avc1 -add "/Users/Famille/Films-Apple/iId_2_aid_0_ms_2021-09-25@19_11_07_6910_02.aac"#audio:name="":lang="" -mpeg4 -itags tool="Hybrid 2021.09.24.1" -tmp "/Users/Famille/Films-Apple" -new "/Users/Famille/Films-Apple/_2021-09-25@19_11_07_6910__06.mp4"

For the 2nd job : (delay 1000)

MP4Box -add "/Users/Famille/Films-Apple/2021-09-25@19_11_51_5210_04.264"#video:fps=25:name="":lang="" -brand avc1 -add "/Users/Famille/Films-Apple/iId_3_aid_0_DELAY_950ms_2021-09-25@19_11_51_5210_02.aac"#audio:delay=950:name="":lang="" -mpeg4 -itags tool="Hybrid 2021.09.24.1" -tmp "/Users/Famille/Films-Apple" -new "/Users/Famille/Films-Apple/_2021-09-25@19_11_51_5210__05.mp4"


The 1st video is sync, of course.

The 2nd video is correct too !!


Hope this helps for you to see whats wrong.

BR,
Reply
#34
About avidemux: no clue about it, I don't use it, it internally it works totally different than Hybrid.

From what you posted the calls from Hybrid seem to be all fine.
Just to be sure I get this right:
  • You have a source file that indicates:
    - a delay of 1000ms for the first audio track
    - a delay of 0ms for the second audio track
    according to MediaInfo.
  • You reencode the file with the first audiotrack with a delay of 0ms and the video is sync.
    Hybrid properly used that delay, adjusted by the encoder delay, in it's calls.
  • You reencode the file with the first audiotrack with the originally indicated delay of 1000ms and the video is sync.
    Hybrid properly used that delay, adjusted by the encoder delay, in it's calls.
So independent of the delay you get a sync file?  Huh  That seems strange.
I tested this here and for me if I change the delay, the output audio gets delayed properly.
Played the files using VLC and MPC-HC.
If I reencode the first audio track while adjusting the delay to 0ms the output is async, only If I stick with the 1000ms delay the audio is sync.

I have no explaination for that behaviour, assuming the MediaPlayer used doesn't ignore the delay if it's greater as xy ms. (Hybrid does ignore delays which are greater than 5000ms or smaller thatn -5000ms.)

If you look at the encoded files with MediaInfo (or load them in Hybrid) what audio delays are reported?

Sadly, I still don't see anything Hybrid does is wrong since all the calls seem to be correct and it works fine here. :/

Cu Selur
Reply
#35
To sum up what I did, and I observed :
(with the whole source file -Suicide Squad - , or the second sample I gave you ):

- I reencode the video + Audio track Fr with 0 delay : video not sync
- I reencode the video + Audio track fr with any delay you want : video not sync

These are results for the 1st audio track (fr). (I didn't play with the 2nd track but I guess if there is no delay in the metadata, no problem will occur and the video/audio will be sync)

it due to the fact that in the metada (data visible with MediaInfo), there is a 1000ms delay in the source mkv file. But in fact, there is no delay if you play the mkv file directly with vlc or smplayer. I mean, the metadata in this source file is not correctly set. And whatever you put in the frontend for the delay, the output file will not be sync.



Secondly :
with any other source file with a 0 delay, and video and audio are corretly sync (playing the mkv source file with vlc, that is : le metadata in the file are correctly set):
- I reencode the video + audio track with 0 delay : video sync (normal, since in fact there is no delay)
- I reencode the video + audio track with 1000 delay : video sync (which is not normal)

BR,
Reply
#36
Enable "Config->Automation->On Load->Always extact time codes from input" before loading the source like I told you before.
At least for me that fixes the problem.

Strange thing is, looking at the time codes from the file:
# timestamp format v2
  0
  42
  83
  125
  167
  209
  250
  292
  334
  375
  417
  459
  500
  542
  584
  626
  667
  709
  751
  792
  834
  876
  918
and theri, differences between them:
current 83 vs. last 42 -> diff: 42 (83 - 42) = 41
current 125 vs. last 83 -> diff: 42 (125 - 83) = 42
current 167 vs. last 125 -> diff: 42 (167 - 125) = 42
current 209 vs. last 167 -> diff: 42 (209 - 167) = 42
current 250 vs. last 209 -> diff: 42 (250 - 209) = 41
current 292 vs. last 250 -> diff: 42 (292 - 250) = 42
current 334 vs. last 292 -> diff: 42 (334 - 292) = 42
current 375 vs. last 334 -> diff: 42 (375 - 334) = 41
current 417 vs. last 375 -> diff: 42 (417 - 375) = 42
current 459 vs. last 417 -> diff: 42 (459 - 417) = 42
current 500 vs. last 459 -> diff: 42 (500 - 459) = 41
current 542 vs. last 500 -> diff: 42 (542 - 500) = 42
current 584 vs. last 542 -> diff: 42 (584 - 542) = 42
current 626 vs. last 584 -> diff: 42 (626 - 584) = 42
current 667 vs. last 626 -> diff: 42 (667 - 626) = 41
current 709 vs. last 667 -> diff: 42 (709 - 667) = 42
current 751 vs. last 709 -> diff: 42 (751 - 709) = 42
current 792 vs. last 751 -> diff: 42 (792 - 751) = 41
current 834 vs. last 792 -> diff: 42 (834 - 792) = 42
current 876 vs. last 834 -> diff: 42 (876 - 834) = 42
current 918 vs. last 876 -> diff: 42 (918 - 876) = 42
it should be okay to drop them and assume the stream as cfr. (with 23.976 a frame should last 41.708375041708 ms)

Cu Selur
Reply
#37
Okay, issue seems to be related to the mp4 muxing. (independent whether ffmpeg or mp4box is used as muxer)
If I use mkv instead of mp4 as output container everything works correctly. <- can you confirm this on your system?

Cu Selur

Ps.: going to bed now will play with it some more tomorrow.
couldn't sleep and created an entry in the MP4Box issue tracker may be the MP4Box developers can shed some light on this.
Reply
#38
Hello,
Sorry about the delay ;-) because of thunderstorms and shower rains, no connection ...

I reencode the whole file (source file) as a mkv output file : the mkv container does not solve my problem : with a delay of 0 put in the frontend, the video is not sync.
But I guess something is coming from this specific file.

Another test : I reencoded the second sample, with the  Config->Automation->On Load->Always extract time codes from input enabled, Hybrid crashed (see the screen capture). If I reencode the second sample as a mkv output file (mkv container at the end), this sample is not sync ...


Reencoding another source file (with 0 delay as metadata therein, visible by MediaInfo), with a delay forced at 1000ms, the output mkv file is not sync ! So the delay put in the frontend works sometimes, or works in principles, except with the 1st source file ...

I will stop to play, and continue to encode others videos I have. I will wait for another Hybrid buddle with a new MP4Box; perhaps it will correct the issue; but if the video is not sync at the end, I will turn to MKVToolnix to generate a second mp4 file to sync the video. BTW, if you have any idea to test, I will continue to play with Hybrid

Best regards, and many thanks for your patience,

PS : how is it possible in Hybrid to encode a video from a start point (start time) to an end point (time ) ? for example : to encode a video from 00:01:00 to 00:10:00 ? as ffmpeg does it ?


Attached Files Thumbnail(s)
   
Reply
#39
Quote:I reencode the whole file (source file) as a mkv output file : the mkv container does not solve my problem : with a delay of 0 put in the frontend, the video is not sync.
That was as expected. The delay should be kept at 1000ms.

Quote:Another test : I reencoded the second sample, with the Config->Automation->On Load->Always extract time codes from input enabled, Hybrid crashed (see the screen capture).
a. Screen shot does not say anything.
b. No clue why it would crash, since you didn't care about posting a debug output.
Quote:If I reencode the second sample as a mkv output file (mkv container at the end), this sample is not sync ...
If you also changed the delay that is as expected.

Quote:Reencoding another source file (with 0 delay as metadata therein, visible by MediaInfo), with a delay forced at 1000ms, the output mkv file is not sync ! So the delay put in the frontend works sometimes, or works in principles, except with the 1st source file ...
Yes, your file is broken.

Quote:PS : how is it possible in Hybrid to encode a video from a start point (start time) to an end point (time ) ? for example : to encode a video from 00:01:00 to 00:10:00 ? as ffmpeg does it ?
Hybrid has an experimental cut support (Config->Internals->Cut support), make sure to read the tool tips before using it.

Cu Selur
Reply
#40
Quote:
Quote: Wrote:I reencode the whole file (source file) as a mkv output file : the mkv container does not solve my problem : with a delay of 0 put in the frontend, the video is not sync.
That was as expected. The delay should be kept at 1000ms.


No. Not as expected. I wasn't clear ...
With a delay of 0, I should expect a sync video. In fact, the 1000 ms written in the source file (and read by Hybrid) is not correct : It should be 0 ms in the metadata (or the head of the file) since the mkv source file is sync.
But as I said, I am sick of testing on this specific file ... I will turn to others files to encode.

Do I have to keep the Hybrid bundle you gave me, or the original files from the installer (.dmg) ?
Best regards,
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)