Page 1 of 1

Playback language changing

PostPosted: Tue Sep 06, 2011 6:43 pm
by Rokke
Loaded Serviio 0.5.2. onto a Windows Vista computer. I can see my entire library on my home network. The movies I've saved to the harddrive play correctly on computers on the network, but when I play them on my Samsung LN40D550, the playback language switches depending on which VOB file is running. Movies typically start in English, but then change to French and sometimes back to English. How can I keep them playing in English?

Re: Playback language changing

PostPosted: Tue Sep 06, 2011 7:17 pm
by Illico
Could you post "ffmpeg -i" result of your file (see signaure)?

Re: Playback language changing

PostPosted: Tue Sep 06, 2011 7:20 pm
by Cerberus
Rokke wrote:Loaded Serviio 0.5.2. onto a Windows Vista computer. I can see my entire library on my home network. The movies I've saved to the harddrive play correctly on computers on the network, but when I play them on my Samsung LN40D550, the playback language switches depending on which VOB file is running. Movies typically start in English, but then change to French and sometimes back to English. How can I keep them playing in English?


with teh samsugns they play the first availible audio stream from the file and it would seem that your vobs have more than on audio stream so if english isnt the first stream then you will end up with the result you have, and that is changing languages, best way to fix is to strip out all audio stream except the english ones and then merge them all into a single file (mkv or mp4).

Re: Playback language changing

PostPosted: Tue Sep 06, 2011 7:26 pm
by Rokke
Thanks for the quick response. I think I can do that. Stupid question time...which files contain the audio streams?

Re: Playback language changing

PostPosted: Tue Sep 06, 2011 7:29 pm
by Cerberus
Rokke wrote:Thanks for the quick response. I think I can do that. Stupid question time...which files contain the audio streams?


not sure i dont use vob files myself.

Re: Playback language changing

PostPosted: Wed Sep 07, 2011 7:27 am
by Illico
Rokke wrote:Thanks for the quick response. I think I can do that. Stupid question time...which files contain the audio streams?

The vob file is a container with multiple video/audio stream, known as MPEG Program Stream (do not confuse with MPEG Transport Stream, another container). Please provide "ffmpeg -i" result of several file.

Re: Playback language changing

PostPosted: Wed Sep 07, 2011 4:29 pm
by Rokke
Below is the FFmpeg -i output for two VTS files that play in French. In the first case, the movie (Black Hawk Down) starts in French but switches to English when VTS_01_2 starts. In the second case (August Rush) the movie starts in English, but switches to French when VTS_01_3 starts.




C:\Program Files\Serviio\lib>ffmpeg.exe -i "G:\movies\black hawk down\VTS_01_1.V
OB"
FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
built on Jan 10 2011 21:46:22 with gcc 4.4.2
configuration: --enable-static --disable-shared --disable-shared --disable-ffp
lay --disable-ffserver --enable-memalign-hack --enable-libmp3lame --arch=x86 --e
nable-runtime-cpudetect --enable-w32threads --target-os=mingw32 --cross-prefix=i
686-mingw32-
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 0 / 0.16. 0
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.92. 0 / 52.92. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.72. 0 / 1.72. 0
libswscale 0.12. 0 / 0.12. 0
[mpeg @ 003fbe20] max_analyze_duration reached
Input #0, mpeg, from 'G:\movies\black hawk down\VTS_01_1.VOB':
Duration: 00:29:34.93, start: 0.041500, bitrate: 4839 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9]
, 9800 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x81]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.2[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
At least one output file must be specified

C:\Program Files\Serviio\lib>^V

C:\Program Files\Serviio\lib>ffmpeg.exe -i "G:\movies\august rush\VTS_01_3.VOB"
FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
built on Jan 10 2011 21:46:22 with gcc 4.4.2
configuration: --enable-static --disable-shared --disable-shared --disable-ffp
lay --disable-ffserver --enable-memalign-hack --enable-libmp3lame --arch=x86 --e
nable-runtime-cpudetect --enable-w32threads --target-os=mingw32 --cross-prefix=i
686-mingw32-
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 0 / 0.16. 0
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.92. 0 / 52.92. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.72. 0 / 1.72. 0
libswscale 0.12. 0 / 0.12. 0
[mpeg2video @ 02741a80] mpeg_decode_postinit() failure
[mpeg @ 003ebe10] max_analyze_duration reached

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/
1001) -> 59.94 (60000/1001)
Input #0, mpeg, from 'G:\movies\august rush\VTS_01_3.VOB':
Duration: 00:30:35.42, start: 3685.892444, bitrate: 4680 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9]
, 7500 kb/s, 23.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x81]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.2[0x82]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.3[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.4[0x27]: Subtitle: dvdsub
Stream #0.5[0x26]: Subtitle: dvdsub
Stream #0.6[0x25]: Subtitle: dvdsub
Stream #0.7[0x24]: Subtitle: dvdsub
Stream #0.8[0x23]: Subtitle: dvdsub
Stream #0.9[0x21]: Subtitle: dvdsub
Stream #0.10[0x20]: Subtitle: dvdsub
Stream #0.11[0x22]: Subtitle: dvdsub
At least one output file must be specified

C:\Program Files\Serviio\lib>

Re: Playback language changing

PostPosted: Wed Sep 07, 2011 6:22 pm
by Illico
Rokke wrote:Below is the FFmpeg -i output for two VTS files that play in French. In the first case, the movie (Black Hawk Down) starts in French but switches to English when VTS_01_2 starts. In the second case (August Rush) the movie starts in English, but switches to French when VTS_01_3 starts.

VTS_01_1.VOB (Black Hawk Down)
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 9800 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x81]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s --> French
Stream #0.2[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s --> English ??

VTS_01_3.VOB (August Rush)
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 7500 kb/s, 23.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x81]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s --> French
Stream #0.2[0x82]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.3[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s --> English ??
...


With "ffmpeg -i" we don't have the ISO 639 language code (3 letters) of the audio/video streams :!:
So I suppose that "English" audio track is the one in ac3 5.1 ?

I know this is not much fun but you may have to do it manually with ffmpeg command line like this (in the same line of course):
you have to select with map option the good stream ID:

(Black Hawk Down)
C:\Serviio\lib\ffmpeg.exe
-i "VTS_01_1.VOB"
-vn -an -sn -f vob "VTS_01_1_remuxed.VOB" -y -threads 2 -copyts
-vcodec copy -map 0:0 -newvideo
-acodec copy -map 0:2 -newaudio

C:\Serviio\lib\ffmpeg.exe -i "VTS_01_1.VOB" -vn -an -sn -f vob "VTS_01_1_remuxed.VOB" -y -threads 2 -copyts -vcodec copy -map 0:0 -newvideo -acodec copy -map 0:2 -newaudio

(August Rush)
C:\Serviio\lib\ffmpeg.exe
-i "VTS_01_3.VOB"
-vn -an -sn -f vob "VTS_01_3_remuxed.VOB" -y -threads 2 -copyts
-vcodec copy -map 0:0 -newvideo
-acodec copy -map 0:3 -newaudio

C:\Serviio\lib\ffmpeg.exe -i "VTS_01_3.VOB" -vn -an -sn -f vob "VTS_01_3_remuxed.VOB" -y -threads 2 -copyts -vcodec copy -map 0:0 -newvideo -acodec copy -map 0:3 -newaudio

You could also use a tools with gui like TsMuxer but the output file will be a *.ts (transport stream file) not a *.vob (program stream).

Re: Playback language changing

PostPosted: Thu Sep 08, 2011 3:00 am
by Rokke
So if I use an FFMpeg command line like the one you posted, it would change the actual code in the stored file? And when you say "in the same line" do you mean that all the code you list should be one coninuous command line? If so, how do I type out the lines of code you listed to make one line? I will try some experimenting to see how that works.
It won't be much fun but in the movies that have problems there is only one VOB file that has the problem so it shouldn't take too long once I figure out how to do it.

Thank you for your help.

Re: Playback language changing

PostPosted: Thu Sep 08, 2011 7:13 am
by Illico
Rokke wrote:So if I use an FFMpeg command line like the one you posted, it would change the actual code in the stored file?

No the language tag code is not changed or added, the command line only remux and reorder the audio track to put your preferred language at the first audio track position.
Between, there were a ffmpeg option to put the ISO language code to a stream : `-vlang code', but this is another point.

Rokke wrote:And when you say "in the same line" do you mean that all the code you list should be one continuous command line?

Yes the previous post is more readable like this, but you may use one continuous command line like this
  Code:
C:\Serviio\lib\ffmpeg.exe -i "VTS_01_3.VOB" -vn -an -sn -f vob "VTS_01_3_remuxed.VOB" -y -threads 2 -copyts -vcodec copy -map 0:0 -newvideo -acodec copy -map 0:3 -newaudio

Re: Playback language changing

PostPosted: Thu Sep 08, 2011 10:47 am
by Illico
you are right, hexadecimal code in stream bracket [0xYY] is the common code language for audio stream in DTTV/DVB/DVD:
Stream #0.1[0x81]
ID:080 english
ID:081 french
ID:082 deutch
...

ISO 639 is another "3 letters" language code

Re: Playback language changing

PostPosted: Thu Sep 08, 2011 3:26 pm
by Rokke
You are awesome. Despite my very limited computer skills, after several attempts, I accomplished what you explained, and it works! The final step was going to the movie file on the hard drive, deleting the original VTS file and renaming the remux file to match the name of the deleted file. But now Black Hawk Down plays English on my Samsung TV and my computers.

Unfortunately, I've got 177 DVDs downloaded onto my hard drive and as I go through them, most have at least one VTS language problem. This is going to take some time! But at least I now how to get it done.

Thanks again.

Re: Playback language changing

PostPosted: Thu Sep 08, 2011 3:56 pm
by Illico
Rokke wrote:...Unfortunately, I've got 177 DVDs downloaded onto my hard drive and as I go through them, most have at least one VTS language problem. This is going to take some time! But at least I now how to get it done.
Thanks again.

You are welcome...

I think the "preferred audio language remuxing first" feature request could be added in the serviio ticket stack.!!
https://bitbucket.org/xnejp03/serviio/i ... ection-for